Gestione delle risorse VCN predefinite
Gestisci le risorse VCN predefinite utilizzando il provider Terraform di Oracle Cloud Infrastructure.
Quando si crea una risorsa oci_core_vcn
, per impostazione predefinita verranno create anche le seguenti risorse associate:
oci_core_security_list
oci_core_dhcp_options
oci_core_route_table
Queste risorse predefinite verranno create in modo implicito anche se non sono specificate nella configurazione Terraform. I relativi OCID vengono restituiti dai seguenti attributi nella risorsa oci_core_vcn
:
default_security_list_id
default_dhcp_options_id
default_route_table_id
Le risorse predefinite devono essere configurate in Terraform utilizzando un tipo di risorsa separato. Di seguito sono riportati i mapping tra la risorsa e il nuovo tipo di risorsa da utilizzare per la configurazione delle risorse predefinite.
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
I tipi di risorse predefiniti vengono configurati allo stesso modo delle relative controparti non predefinite. L'unica differenza consiste nel specificare l'ID della risorsa predefinita utilizzando l'argomento manage_default_resource_id
.
Di conseguenza, vcn_id
non è più necessario per le risorse predefinite.
Il riferimento completo delle risorse e delle origini dati supportate del provider Terraform OCI contiene dettagli su uso, argomento e attributo. Il riferimento completo è disponibile sul sito docs.oracle.com e nel registro Terraform.
Le origini dati e le risorse vengono raggruppate per servizio all'interno del riferimento.
L'esempio seguente modifica la tabella di instradamento predefinita di una VCN e le opzioni 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"
}
}
Limitazioni
Le risorse predefinite possono essere rimosse solo quando viene rimossa la risorsa oci_core_vcn
associata. Durante il tentativo di rimozione mirata di una risorsa predefinita, la risorsa verrà rimossa dal file di stato Terraform, ma è possibile che la risorsa esista ancora in OCI con impostazioni vuote.
Esempi di rimozione mirata includono:
- Rimozione di una risorsa predefinita da una configurazione Terraform applicata in precedenza
- Esecuzione di un comando
terraform destroy -target=<default resource>
- Modifica del valore
manage_default_resource_id
per una risorsa predefinita applicata in precedenza