Skip to content

Commit 705946c

Browse files
committed
Add exascaleDbStorageVault and storageManagementType fields to CloudVmCluster
Fixes hashicorp/terraform-provider-google#28172
1 parent 2e6e87a commit 705946c

2 files changed

Lines changed: 104 additions & 0 deletions

File tree

mmv1/products/oracledatabase/CloudVmCluster.yaml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,24 @@ samples:
113113
# See: https://github.com/hashicorp/terraform-provider-google/issues/20599
114114
cloud_vm_cluster_id: fmt.Sprintf("ofake-tf-test-vmcluster-full-%s", acctest.RandString(t, 10))
115115
cloud_exadata_infrastructure_id: fmt.Sprintf("ofake-tf-test-exadata-for-vmcluster-full-%s", acctest.RandString(t, 10))
116+
- name: oracledatabase_cloud_vmcluster_exascale
117+
primary_resource_id: my_vmcluster
118+
steps:
119+
- name: oracledatabase_cloud_vmcluster_exascale
120+
resource_id_vars:
121+
project: my-project
122+
cloud_vm_cluster_id: my-instance
123+
cloud_exadata_infrastructure_id: my-exadata
124+
exascale_db_storage_vault_id: my-vault
125+
deletion_protection: "true"
126+
ignore_read_extra:
127+
- deletion_protection
128+
test_vars_overrides:
129+
deletion_protection: "false"
130+
project: '"oci-terraform-testing-prod"'
131+
cloud_vm_cluster_id: fmt.Sprintf("ofake-tf-test-vmcluster-exascale-%s", acctest.RandString(t, 10))
132+
cloud_exadata_infrastructure_id: fmt.Sprintf("ofake-tf-test-exadata-for-vmcluster-exascale-%s", acctest.RandString(t, 10))
133+
exascale_db_storage_vault_id: fmt.Sprintf("ofake-tf-test-vault-for-vmcluster-exascale-%s", acctest.RandString(t, 10))
116134
virtual_fields:
117135
- name: deletion_protection
118136
type: Boolean
@@ -300,6 +318,15 @@ properties:
300318
type: String
301319
description: 'OCI Cluster name. '
302320
default_from_api: true
321+
- name: storageManagementType
322+
type: String
323+
description: |-
324+
The storage management type of the VM Cluster.
325+
Possible values:
326+
STORAGE_MANAGEMENT_TYPE_UNSPECIFIED
327+
ASM
328+
EXASCALE
329+
output: true
303330
- name: labels
304331
type: KeyValueLabels
305332
description: 'Labels or tags associated with the VM Cluster. '
@@ -364,3 +391,13 @@ properties:
364391
PARTIALLY_CONNECTED
365392
DISCONNECTED
366393
UNKNOWN
394+
- name: exascaleDbStorageVault
395+
type: ResourceRef
396+
description: |-
397+
The name of ExascaleDbStorageVault associated with the VM Cluster.
398+
Format:
399+
projects/{project}/locations/{location}/exascaleDbStorageVaults/{exascale_db_storage_vault}
400+
resource: ExascaleDbStorageVault
401+
imports: name
402+
immutable: true
403+
diff_suppress_func: tpgresource.CompareSelfLinkOrResourceName
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
resource "google_oracle_database_cloud_vm_cluster" "{{$.PrimaryResourceId}}" {
2+
cloud_vm_cluster_id = "{{index $.ResourceIdVars "cloud_vm_cluster_id"}}"
3+
display_name = "{{index $.ResourceIdVars "cloud_vm_cluster_id"}} displayname"
4+
location = "us-east4"
5+
project = "{{index $.ResourceIdVars "project"}}"
6+
exadata_infrastructure = google_oracle_database_cloud_exadata_infrastructure.infra.id
7+
network = data.google_compute_network.default.id
8+
cidr = "10.5.0.0/24"
9+
backup_subnet_cidr = "10.6.0.0/24"
10+
11+
exascale_db_storage_vault = google_oracle_database_exascale_db_storage_vault.vault.name
12+
13+
properties {
14+
license_type = "LICENSE_INCLUDED"
15+
ssh_public_keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCz1X2744t+6vRLmE5u6nHi6/QWh8bQDgHmd+OIxRQIGA/IWUtCs2FnaCNZcqvZkaeyjk5v0lTA/n+9jvO42Ipib53athrfVG8gRt8fzPL66C6ZqHq+6zZophhrCdfJh/0G4x9xJh5gdMprlaCR1P8yAaVvhBQSKGc4SiIkyMNBcHJ5YTtMQMTfxaB4G1sHZ6SDAY9a6Cq/zNjDwfPapWLsiP4mRhE5SSjJX6l6EYbkm0JeLQg+AbJiNEPvrvDp1wtTxzlPJtIivthmLMThFxK7+DkrYFuLvN5AHUdo9KTDLvHtDCvV70r8v0gafsrKkM/OE9Jtzoo0e1N/5K/ZdyFRbAkFT4QSF3nwpbmBWLf2Evg//YyEuxnz4CwPqFST2mucnrCCGCVWp1vnHZ0y30nM35njLOmWdRDFy5l27pKUTwLp02y3UYiiZyP7d3/u5pKiN4vC27VuvzprSdJxWoAvluOiDeRh+/oeQDowxoT/Oop8DzB9uJmjktXw8jyMW2+Rpg+ENQqeNgF1OGlEzypaWiRskEFlkpLb4v/s3ZDYkL1oW0Nv/J8LTjTOTEaYt2Udjoe9x2xWiGnQixhdChWuG+MaoWffzUgx1tsVj/DBXijR5DjkPkrA1GA98zd3q8GKEaAdcDenJjHhNYSd4+rE9pIsnYn7fo5X/tFfcQH1XQ== nobody@google.com"]
16+
cpu_core_count = "4"
17+
gi_version = "19.0.0.0"
18+
hostname_prefix = "hostname1"
19+
}
20+
21+
deletion_protection = "{{index $.ResourceIdVars "deletion_protection"}}"
22+
23+
depends_on = [google_oracle_database_cloud_exadata_infrastructure_exascale_config.exascale_config]
24+
}
25+
26+
resource "google_oracle_database_cloud_exadata_infrastructure" "infra" {
27+
cloud_exadata_infrastructure_id = "{{index $.ResourceIdVars "cloud_exadata_infrastructure_id"}}"
28+
display_name = "{{index $.ResourceIdVars "cloud_exadata_infrastructure_id"}} displayname"
29+
location = "us-east4"
30+
project = "{{index $.ResourceIdVars "project"}}"
31+
properties {
32+
shape = "Exadata.X9M"
33+
compute_count = "2"
34+
storage_count = "3"
35+
}
36+
37+
deletion_protection = "{{index $.ResourceIdVars "deletion_protection"}}"
38+
}
39+
40+
resource "google_oracle_database_cloud_exadata_infrastructure_exascale_config" "exascale_config" {
41+
cloud_exadata_infrastructure = google_oracle_database_cloud_exadata_infrastructure.infra.cloud_exadata_infrastructure_id
42+
location = "us-east4"
43+
project = "{{index $.ResourceIdVars "project"}}"
44+
total_storage_size_gb = 10240
45+
}
46+
47+
resource "google_oracle_database_exascale_db_storage_vault" "vault" {
48+
exascale_db_storage_vault_id = "{{index $.ResourceIdVars "exascale_db_storage_vault_id"}}"
49+
display_name = "{{index $.ResourceIdVars "exascale_db_storage_vault_id"}} displayname"
50+
location = "us-east4"
51+
project = "{{index $.ResourceIdVars "project"}}"
52+
53+
exadata_infrastructure = google_oracle_database_cloud_exadata_infrastructure_exascale_config.exascale_config.cloud_exadata_infrastructure
54+
55+
properties {
56+
exascale_db_storage_details {
57+
total_size_gbs = 2048
58+
}
59+
}
60+
61+
deletion_protection = "{{index $.ResourceIdVars "deletion_protection"}}"
62+
}
63+
64+
data "google_compute_network" "default" {
65+
name = "new"
66+
project = "{{index $.ResourceIdVars "project"}}"
67+
}

0 commit comments

Comments
 (0)