chore: save current changes

This commit is contained in:
Repinoid
2026-09-23 19:23:31 +03:00
parent d78573de45
commit a96e38fb1e
8 changed files with 994 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
data "vcd_external_network_v2" "nsxt-ext-net" {
name = var.providerGateway
}
<% if (vdcType == "vdcGroup") { %>
data "vcd_vdc_group" "groupvdc" {
name = var.vdcGroupName
}
data "vcd_org_vdc" "mainvdc" {
name = var.vmwareVdc
}
<% } %>
resource "vcd_nsxt_edgegateway" "nsxt-edge" {
name = var.nsxName
description = "Nsxt edge"
org = var.vmwareOrg
<% if (vdcType == "vdc") { %>
owner_id = var.vmwareServicesId
<% } else { %>
owner_id = data.vcd_vdc_group.groupvdc.id
starting_vdc_id = data.vcd_org_vdc.mainvdc.id
<% } %>
external_network_id = data.vcd_external_network_v2.nsxt-ext-net.id
}
resource "vcd_network_routed_v2" "test_routed_net" {
name = var.routedNet
edge_gateway_id = vcd_nsxt_edgegateway.nsxt-edge.id
gateway = "${ application.ipGw }"
prefix_length = ${ application.ipMask }
# dns1 = "185.247.187.83"
# dns2 = "81.22.46.43"
dns1 = "${ routedNetConfiguration.mainDns }"
dns2 = "${ routedNetConfiguration.secondDns }"
static_ip_pool {
start_address = "${ application.ipStartPool }"
end_address = "${ application.ipEndPool }"
}
depends_on = [vcd_nsxt_edgegateway.nsxt-edge]
}
# Включаем AVI
resource "vcd_nsxt_alb_settings" "avi" {
count = var.alb_enable ? 1 : 0
org = var.vmwareOrg
edge_gateway_id = vcd_nsxt_edgegateway.nsxt-edge.id
is_active = var.alb_enable
# Optional definition of service network for the ALB. "192.168.255.125/25" is the default one.
# service_network_specification = "192.168.255.125/25"
depends_on = [vcd_nsxt_edgegateway.nsxt-edge]
}
## Добавляем ServiceEngine Group
# Получаем SEGroup
data "vcd_nsxt_alb_service_engine_group" "provider-gateway" {
count = var.alb_enable ? 1 : 0
name = var.alb_segroup_name
sync_on_refresh = false
}
# Создаем SE
resource "vcd_nsxt_alb_edgegateway_service_engine_group" "first" {
count = var.alb_enable ? 1 : 0
edge_gateway_id = vcd_nsxt_edgegateway.nsxt-edge.id
service_engine_group_id = data.vcd_nsxt_alb_service_engine_group.provider-gateway[0].id
max_virtual_services = 100
reserved_virtual_services = var.alb_segroup_count
depends_on = [vcd_nsxt_alb_settings.avi[0]]
}
Executable
+67
View File
@@ -0,0 +1,67 @@
resource "vcd_org_vdc" "vdc_services" {
name = var.vmwareVdc
description = "vcd description"
org = var.vmwareOrg
allocation_model = "Flex"
elasticity = true
include_vm_memory_overhead = false
network_pool_name = var.providerNetworkPoolName
provider_vdc_name = var.providerVdcName
network_quota = 1
cpu_guaranteed = var.cpuGuaranteed
cpu_speed = var.vmwareCpuspeed
memory_guaranteed = var.memGuaranteed
compute_capacity {
cpu {
allocated = var.cpuAllocated
limit = var.cpuAllocated
}
# limit ставится в unlimited, чтобы можно было создать ВМки по размеру аллоцирования (впритык), уместив overhead по памяти
# Клиент выйти за allocated не сможет, но и дополнительно забираться память для гипервизора не будет
memory {
allocated = var.memAllocated
limit = 0
}
}
metadata_entry {
key = "instanceUid"
type = "MetadataStringValue"
value = var.instanceUid
user_access = "PRIVATE"
is_system = true # Requires System admin privileges
}
dynamic "metadata_entry" {
for_each = var.enabled ? [] : [1]
content {
key = "dtStopped"
type = "MetadataStringValue"
value = var.dtStopped
user_access = "PRIVATE"
is_system = true # Requires System admin privileges
}
}
dynamic "storage_profile" {
for_each = local.storage_config_with_default
content {
name = storage_profile.value.name
limit = storage_profile.value.size
enabled = true
default = storage_profile.value.default
}
}
default_compute_policy_id = var.defaultComputePolicyId
vm_sizing_policy_ids = local.all_sizing_policies
enabled = var.enabled
enable_thin_provisioning = true
enable_fast_provisioning = false # Если включить параметр, то диски менять системные не получится
delete_force = true
delete_recursive = true
}
+54
View File
@@ -0,0 +1,54 @@
resource "vcd_org" "org" {
name = var.tenantOrgName
full_name = var.tenantOrgName
description = var.contragentCode
is_enabled = var.vcdEnable
delete_recursive = true
delete_force = true
vapp_lease {
maximum_runtime_lease_in_sec = 0
power_off_on_runtime_lease_expiration = true
maximum_storage_lease_in_sec = 0
delete_on_storage_lease_expiration = false
}
vapp_template_lease {
maximum_storage_lease_in_sec = 0
delete_on_storage_lease_expiration = true
}
metadata_entry {
key = "clientid"
type = "MetadataStringValue"
value = var.contragentCode
user_access = "PRIVATE"
is_system = true # Requires System admin privileges
}
metadata_entry {
key = "status"
type = "MetadataStringValue"
value = "${ var.clientStatus }"
user_access = "PRIVATE"
is_system = true # Requires System admin privileges
}
metadata_entry {
key = "instanceUid"
type = "MetadataStringValue"
value = "${ var.instanceUid }"
user_access = "PRIVATE"
is_system = true # Requires System admin privileges
}
dynamic "metadata_entry" {
for_each = var.vcdEnable ? [] : [1]
content {
key = "dtStopped"
type = "MetadataStringValue"
value = var.dtStopped
user_access = "PRIVATE"
is_system = true # Requires System admin privileges
}
}
}