Gerenciando Recursos de VCN Padrão
Gerencie recursos de VCN padrão usando o provedor Terraform do Oracle Cloud Infrastructure.
Quando você criar um recurso oci_core_vcn
, também serão criados por padrão os recursos associados descritos a seguir:
oci_core_security_list
oci_core_dhcp_options
oci_core_route_table
Esses recursos padrão serão criados implicitamente, mesmo que não sejam especificados na configuração do Terraform. Seus OCIDs são retornados pelos seguintes atributos no recurso oci_core_vcn
:
default_security_list_id
default_dhcp_options_id
default_route_table_id
Os recursos padrão devem ser configurados no Terraform usando um tipo de recurso distinto. Estes são os mapeamentos entre o recurso e o novo tipo de recurso a ser usado para configurar recursos padrão:
oci_core_security_list
=>oci_core_default_security_list
oci_core_dhcp_options
=>oci_core_default_dhcp_options
oci_core_route_table
=>oci_core_default_route_table
Os tipos de recursos padrão são configurados da mesma forma que seus correspondentes não padrão. A única diferença é especificar o ID do recurso padrão usando o argumento manage_default_resource_id
.
Consequentemente, o vcn_id
não é mais necessário para recursos padrão.
A referência completa dos recursos e origens de dados suportados do provedor Terraform do OCI contém detalhes de uso, argumento e atributo. A referência completa está disponível em docs.oracle.com e Terraform Registry.
As origens de dados e os recursos são agrupados por serviço dentro da referência.
O exemplo a seguir modifica a tabela de roteamento padrão de uma VCN e as opções de DHCP:
resource "oci_core_vcn" "vcn1" {
cidr_block = "10.0.0.0/16"
dns_label = "vcn1"
compartment_id = var.compartment_id
display_name = "vcn1"
}
# Gateway
## Internet Gateway
resource "oci_core_internet_gateway" "inetGw" {
compartment_id = var.compartment_id
display_name = "inetGw"
vcn_id = oci_core_vcn.vcn1.id
}
resource "oci_core_default_dhcp_options" "default-dhcp-options" {
manage_default_resource_id = oci_core_vcn.vcn1.default_dhcp_options_id
#Required
options {
type = "DomainNameServer"
server_type = "VcnLocalPlusInternet"
}
}
#Optional
options {
type = "SearchDomain"
search_domain_names = [ "abc.com" ]
}
}
resource "oci_core_default_route_table" "default-route-table" {
manage_default_resource_id = oci_core_vcn.vcn1.default_route_table_id
#Required
compartment_id = var.compartment_id
#Optional
display_name = "default_route_table"
route_rules {
#Required
network_entity_id = oci_core_internet_gateway.inetGw.id
#Optional
destination = "0.0.0.0/0"
destination_type = "CIDR_BLOCK"
}
}
Limitações
Os recursos padrão só podem ser removidos quando o recurso associado oci_core_vcn
é removido. Ao tentar uma remoção direcionada de um recurso padrão, o recurso será removido do arquivo de estado do Terraform, mas ainda poderá existir no OCI com definições vazias.
Os exemplos de remoção direcionada incluem:
- Removendo um recurso padrão de uma configuração do Terraform que foi aplicada anteriormente
- Executando um comando
terraform destroy -target=<default resource>
- Alterando o
manage_default_resource_id
para um recurso padrão que foi aplicado anteriormente