Standard-VCN-Ressourcen verwalten
Standard-VCN-Ressourcen mit dem Oracle Cloud Infrastructure-Terraform-Provider verwalten.
Wenn Sie eine oci_core_vcn
-Ressource erstellen, werden standardmäßig auch die folgenden zugehörigen Ressourcen erstellt:
oci_core_security_list
oci_core_dhcp_options
oci_core_route_table
Diese Standardressourcen werden implizit erstellt, selbst wenn sie nicht in der Terraform-Konfiguration angegeben werden. Ihre OCIDs werden von den folgenden Attributen unter der oci_core_vcn
-Ressource zurückgegeben:
default_security_list_id
default_dhcp_options_id
default_route_table_id
Standardressourcen müssen mit einem separaten Ressourcentyp in Terraform konfiguriert werden. Hier sehen Sie die Zuordnungen zwischen der Ressource und dem neuen Ressourcentyp zum Konfigurieren von Standardressourcen:
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
Standardressourcentypen werden auf die gleiche Weise konfiguriert wie nicht standardmäßige Ressourcentypen. Der einzige Unterschied besteht darin, dass die ID der Standardressource mit dem Argument manage_default_resource_id
angegeben wird.
Daher ist vcn_id
für Standardressourcen nicht mehr erforderlich.
Die vollständige Referenz der unterstützten Ressourcen und Datenquellen des OCI-Terraform-Providers enthält Details zu Verwendung, Argumenten und Attributen. Die vollständige Referenz ist unter docs.oracle.com und Terraform Registry verfügbar.
Datenquellen und Ressourcen werden nach Service innerhalb der Referenz gruppiert.
Im folgenden Beispiel werden die Standardroutentabelle und DHCP-Optionen eines VCN geändert:
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"
}
}
Einschränkungen
Standardressourcen können nur entfernt werden, wenn die zugehörige oci_core_vcn
-Ressource entfernt wird. Beim Versuch, eine Standardressource gezielt zu entfernen, wird die Ressource aus der Terraform-Statusdatei entfernt. Sie kann jedoch weiterhin mit leeren Einstellungen in OCI vorhanden sein.
Beispiele für das gezielte Entfernen:
- Standardressource aus einer zuvor angewendeten Terraform-Konfiguration entfernen
- Befehl
terraform destroy -target=<default resource>
ausführen - Eine zuvor angewendete
manage_default_resource_id
für eine Standardressource ändern