diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f82f74856d..111361c5fc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +## 6.13.0 (October 09, 2024) + +### Added +- Desktop as a Service: Shape Flexibility +- Support for Operations Insights : Autonomous Database IAM based connections +- Support for Customer Facing Scalable agent upgrade | ExaCC and ExaCS +- 9/24- Support for ZPR v1 +- Support for PV Support for Launch w/Multiple Attachments Support for VMs +- Support for Stack Monitoring Maintenance Windows +- To Support for Depracate old apps admin user creation with password +- Support for Desktop as a Service: Private Access +- Support for Proxy Protocol on OCI LBaaS + ## 6.12.0 (October 02, 2024) ### Added diff --git a/examples/compute/instance/vm_multi_attach_instance.tf b/examples/compute/instance/vm_multi_attach_instance.tf index 7d9a8da8f49..72178a918df 100644 --- a/examples/compute/instance/vm_multi_attach_instance.tf +++ b/examples/compute/instance/vm_multi_attach_instance.tf @@ -5,10 +5,17 @@ variable "vm_multi_attach_instance_shape" { default = "VM.Standard2.1" } -resource "oci_core_volume" "test_block_volume_multi_attach" { +resource "oci_core_volume" "test_block_volume_multi_attach_iscsi" { availability_domain = data.oci_identity_availability_domain.ad.name compartment_id = var.compartment_ocid - display_name = "test_attach_existing_volume_on_instance_launch_1" + display_name = "test_attach_existing_volume_on_instance_launch_iscsi" + size_in_gbs = var.db_size +} + +resource "oci_core_volume" "test_block_volume_multi_attach_pv" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_ocid + display_name = "test_attach_existing_volume_on_instance_launch_pv" size_in_gbs = var.db_size } @@ -35,7 +42,7 @@ resource "oci_core_instance" "test_vm_multi_attach_instance_launch" { kms_key_id = var.kms_key_ocid } - // Create and attach a volume + // Create and attach a volume - iscsi launch_volume_attachments { type = "iscsi" display_name = "test_create_and_attach_volume_on_launch_1" @@ -47,9 +54,9 @@ resource "oci_core_instance" "test_vm_multi_attach_instance_launch" { } } - // Create and attach a volume + // Create and attach a volume - pv launch_volume_attachments { - type = "iscsi" + type = "paravirtualized" display_name = "test_create_and_attach_volume_on_launch_2" launch_create_volume_details { volume_creation_type = "ATTRIBUTES" @@ -59,11 +66,18 @@ resource "oci_core_instance" "test_vm_multi_attach_instance_launch" { } } - // Attach an existing volume + // Attach an existing volume - iscsi launch_volume_attachments { type = "iscsi" display_name = "test_attach_existing_volume_on_launch" - volume_id = oci_core_volume.test_block_volume_multi_attach.id + volume_id = oci_core_volume.test_block_volume_multi_attach_iscsi.id + } + + // Attach an existing volume - pv + launch_volume_attachments { + type = "paravirtualized" + display_name = "test_attach_existing_volume_on_launch" + volume_id = oci_core_volume.test_block_volume_multi_attach_pv.id } # Apply the following flag only if you wish to preserve the attached boot volume upon destroying this instance diff --git a/examples/database/db_systems/db_exacs/resources.tf b/examples/database/db_systems/db_exacs/resources.tf index 9777d7c48b2..7e436835a4c 100644 --- a/examples/database/db_systems/db_exacs/resources.tf +++ b/examples/database/db_systems/db_exacs/resources.tf @@ -44,6 +44,14 @@ resource "oci_database_cloud_vm_cluster" "test_cloud_vm_cluster" { is_health_monitoring_enabled = "true" is_incident_logs_enabled = "true" } + + cloud_automation_update_details{ + is_early_adoption_enabled = "true" + apply_update_time_preference { + apply_update_preferred_start_time = "02:00" + apply_update_preferred_end_time = "08:00" + } + } } resource "oci_database_db_home" "test_db_home_vm_cluster" { diff --git a/examples/database/exadata_cc/autonomous_virtual_machine.tf b/examples/database/exadata_cc/autonomous_virtual_machine.tf index 34f74127706..d40a052f474 100644 --- a/examples/database/exadata_cc/autonomous_virtual_machine.tf +++ b/examples/database/exadata_cc/autonomous_virtual_machine.tf @@ -5,7 +5,7 @@ variable "autonomous_virtual_machine_state" { data "oci_database_autonomous_virtual_machines" "test_autonomous_virtual_machines" { #Required autonomous_vm_cluster_id = oci_database_autonomous_vm_cluster.test_autonomous_vm_cluster.id - compartment_id = var.compartment_id + compartment_id = var.compartment_ocid #Optional state = var.autonomous_virtual_machine_state diff --git a/examples/database/exadata_cc/autonomous_vm_cluster.tf b/examples/database/exadata_cc/autonomous_vm_cluster.tf index 6f35425849c..c70d2810a48 100644 --- a/examples/database/exadata_cc/autonomous_vm_cluster.tf +++ b/examples/database/exadata_cc/autonomous_vm_cluster.tf @@ -5,7 +5,7 @@ resource "oci_database_autonomous_vm_cluster" "test_autonomous_vm_cluster" { compartment_id = var.compartment_ocid display_name = "autonomousVmCluster" exadata_infrastructure_id = oci_database_exadata_infrastructure.test_exadata_infrastructure.id - vm_cluster_network_id = oci_database_vm_cluster_network.test_vm_cluster_network.id + vm_cluster_network_id = oci_database_vm_cluster_network.test_vm_cluster_network2.id cpu_core_count_per_node = "20" autonomous_data_storage_size_in_tbs = "2.0" memory_per_oracle_compute_unit_in_gbs = "5" diff --git a/examples/database/exadata_cc/vm_cluster.tf b/examples/database/exadata_cc/vm_cluster.tf index 0545d5acd75..7d5773721e3 100644 --- a/examples/database/exadata_cc/vm_cluster.tf +++ b/examples/database/exadata_cc/vm_cluster.tf @@ -88,6 +88,94 @@ resource "oci_database_vm_cluster_network" "test_vm_cluster_network" { } } +resource "oci_database_vm_cluster_network" "test_vm_cluster_network2" { + compartment_id = var.compartment_ocid + display_name = "testVmClusterRecommendedNetwork2" + dns = ["192.178.10.10"] + ntp = ["192.178.10.20"] + + exadata_infrastructure_id = oci_database_exadata_infrastructure.test_exadata_infrastructure.id + + scans { + hostname = "myprefix3-nsubz-scan" + + ips = [ + "192.178.19.7", + "192.178.19.6", + "192.178.19.8", + ] + + port = 1521 + scan_listener_port_tcp = 1521 + scan_listener_port_tcp_ssl = 2484 + } + + vm_networks { + domain_name = "oracle.com" + gateway = "192.179.20.1" + netmask = "255.255.0.0" + network_type = "BACKUP" + + nodes { + hostname = "myprefix4-cghdm1" + ip = "192.179.19.18" + db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.0.id + } + + nodes { + hostname = "myprefix4-cghdm2" + ip = "192.179.19.20" + db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.1.id + } + + vlan_id = "31" + } + + vm_networks { + domain_name = "oracle.com" + gateway = "192.178.20.1" + netmask = "255.255.0.0" + network_type = "CLIENT" + + nodes { + hostname = "myprefix5-r64zc1" + ip = "192.178.19.10" + vip = "192.178.19.11" + vip_hostname = "myprefix5-r64zc1-vip" + db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.0.id + } + + nodes { + hostname = "myprefix5-r64zc2" + ip = "192.178.19.14" + vip = "192.178.19.15" + vip_hostname = "myprefix5-r64zc2-vip" + db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.1.id + } + + vlan_id = "41" + } + + #Optional + defined_tags = { + "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}" = "updatedvalue" + } + + freeform_tags = { + "Department" = "Accounting" + } + + validate_vm_cluster_network = true + + action = "ADD_DBSERVER_NETWORK" + + lifecycle { + ignore_changes = [ + vm_networks, + ] + } +} + data "oci_database_gi_versions" "gi_version" { compartment_id = var.compartment_ocid shape = "ExadataCC.Quarter3.100" @@ -125,6 +213,14 @@ resource "oci_database_vm_cluster" "test_vm_cluster" { is_incident_logs_enabled = "true" } + cloud_automation_update_details{ + is_early_adoption_enabled = "true" + apply_update_time_preference { + apply_update_preferred_start_time = "02:00" + apply_update_preferred_end_time = "08:00" + } + } + } data "oci_database_db_servers" "test_db_servers" { @@ -172,7 +268,12 @@ data "oci_database_vm_cluster_recommended_network" "test_vm_cluster_recommended_ resource "oci_database_db_home" "test_db_home_vm_cluster" { vm_cluster_id = oci_database_vm_cluster.test_vm_cluster.id + source = "VM_CLUSTER_NEW" + db_version = "12.1.0.2" + display_name = "createdDbHome" +} +resource "oci_database_database" "test_exacc_database"{ database { admin_password = "BEstrO0ng_#11" db_name = "dbVMClus" @@ -195,10 +296,8 @@ resource "oci_database_db_home" "test_db_home_vm_cluster" { } } } - - source = "VM_CLUSTER_NEW" - db_version = "12.1.0.2" - display_name = "createdDbHome" + db_home_id = oci_database_db_home.test_db_home_vm_cluster.id + source = "NONE" } resource "oci_database_backup_destination" "test_backup_destination_nfs" { diff --git a/examples/desktops/desktop_pool/main.tf b/examples/desktops/desktop_pool/main.tf index ef4902b409d..4c845812fb5 100644 --- a/examples/desktops/desktop_pool/main.tf +++ b/examples/desktops/desktop_pool/main.tf @@ -63,6 +63,14 @@ resource "oci_desktops_desktop_pool" "test_desktop_pool" { # nsg_ids = var.desktop_pool_nsg_ids # time_start_scheduled = var.desktop_pool_time_start_scheduled # time_stop_scheduled = var.desktop_pool_time_stop_scheduled + # private_access_details { + # #Required + # subnet_id = var.desktop_pool_private_access_details_subnet_id + # + # #Optional + # nsg_ids = var.desktop_pool_private_access_details_nsg_ids + # private_ip = var.desktop_pool_private_access_details_private_ip + # } } data "oci_desktops_desktop_pools" "test_desktop_pools_datasource" { @@ -72,7 +80,7 @@ data "oci_desktops_desktop_pools" "test_desktop_pools_datasource" { #Optional # availability_domain = data.oci_identity_availability_domain.ad.name # display_name = var.desktop_pool_display_name - # id = var.desktop_pool_id + id = oci_desktops_desktop_pool.test_desktop_pool.id # state = var.desktop_pool_state } diff --git a/examples/desktops/desktop_pool/private_access/desktops-private-access-phx.auto.tfvars.example b/examples/desktops/desktop_pool/private_access/desktops-private-access-phx.auto.tfvars.example new file mode 100644 index 00000000000..e978dae62b4 --- /dev/null +++ b/examples/desktops/desktop_pool/private_access/desktops-private-access-phx.auto.tfvars.example @@ -0,0 +1,19 @@ +# OCI config profile +config_file_profile="terraform-federation-test" + +# region (us-phoenix-1, ca-toronto-1, etc) +region="us-phoenix-1" + +# Secure Desktops Example Configuration + +compartment_id = "" + +desktop_pool_vcn_id = "" +desktop_pool_subnet_id = "" +desktop_pool_image_id = "" +desktop_pool_image_name = "" +desktop_pool_backup_policy_id = "" +desktop_pool_contact_details = "test%40example.com" +desktop_pool_private_access_details_subnet_id = "" +desktop_pool_private_access_details_nsg_ids = "[]" +desktop_pool_private_access_details_private_ip = "" diff --git a/examples/desktops/desktop_pool/private_access/main.tf b/examples/desktops/desktop_pool/private_access/main.tf new file mode 100644 index 00000000000..3bc7ada77d2 --- /dev/null +++ b/examples/desktops/desktop_pool/private_access/main.tf @@ -0,0 +1,123 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + + +resource "oci_desktops_desktop_pool" "test_desktop_pool" { + #Required + compartment_id = var.compartment_id + display_name = var.desktop_pool_display_name + contact_details = var.desktop_pool_contact_details + + are_privileged_users = var.desktop_pool_are_privileged_users + availability_domain = data.oci_identity_availability_domain.ad.name + + network_configuration { + #Required + subnet_id = var.desktop_pool_subnet_id + vcn_id = var.desktop_pool_vcn_id + } + + device_policy { + #Required + audio_mode = var.desktop_pool_device_policy_audio_mode + cdm_mode = var.desktop_pool_device_policy_cdm_mode + clipboard_mode = var.desktop_pool_device_policy_clipboard_mode + is_display_enabled = var.desktop_pool_device_policy_is_display_enabled + is_keyboard_enabled = var.desktop_pool_device_policy_is_keyboard_enabled + is_pointer_enabled = var.desktop_pool_device_policy_is_pointer_enabled + is_printing_enabled = var.desktop_pool_device_policy_is_printing_enabled + } + + image { + #Required + image_id = var.desktop_pool_image_id + image_name = var.desktop_pool_image_name + } + + availability_policy { + #Required + start_schedule { + #Required + cron_expression = var.desktop_pool_start_schedule_cron_expr + timezone = var.desktop_pool_start_schedule_timezone + } + stop_schedule { + #Required + cron_expression = var.desktop_pool_stop_schedule_cron_expr + timezone = var.desktop_pool_stop_schedule_timezone + } + } + + is_storage_enabled = var.desktop_pool_is_storage_enabled + storage_backup_policy_id = var.desktop_pool_backup_policy_id + storage_size_in_gbs = var.desktop_pool_storage_size_in_gbs + + shape_name = var.desktop_pool_shape_name + standby_size = var.desktop_pool_standby_size + maximum_size = var.desktop_pool_maximum_size + + #Optional + # defined_tags = map(oci_identity_tag_namespace.tag-namespace1.name.oci_identity_tag.tag1.name, var.desktop_pool_defined_tags_value) + # description = var.desktop_pool_description + # freeform_tags = var.desktop_pool_freeform_tags + # nsg_ids = var.desktop_pool_nsg_ids + # time_start_scheduled = var.desktop_pool_time_start_scheduled + # time_stop_scheduled = var.desktop_pool_time_stop_scheduled + private_access_details { + #Required + subnet_id = var.desktop_pool_private_access_details_subnet_id + + #Optional + nsg_ids = var.desktop_pool_private_access_details_nsg_ids + private_ip = var.desktop_pool_private_access_details_private_ip + } +} + +data "oci_desktops_desktop_pools" "test_desktop_pools_datasource" { + #Required + compartment_id = var.compartment_id + + #Optional + # availability_domain = data.oci_identity_availability_domain.ad.name + # display_name = var.desktop_pool_display_name + # id = var.desktop_pool_id + # state = var.desktop_pool_state +} + +data "oci_desktops_desktop_pool" "test_desktop_pool_datasource" { + #Required + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id +} + +data "oci_desktops_desktop_pool_desktops" "test_desktop_pool_desktops_datasource" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_id + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id +} + +data "oci_desktops_desktop_pool_volumes" "test_desktop_pool_volumes_datasource" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_id + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id + #Optional + # display_name = var.desktop_pool_display_name + # state = var.desktop_pool_state +} + +data "oci_identity_availability_domain" "ad" { + compartment_id = var.tenancy_ocid + ad_number = 1 +} + +data "oci_desktops_desktops" "test_desktops_datasource" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_id + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id + state = "ACTIVE" +} + +data "oci_desktops_desktop" "test_desktop_datasource" { + desktop_id = data.oci_desktops_desktop_pool_desktops.test_desktop_pool_desktops_datasource.desktop_pool_desktop_collection.0.items.0.desktop_id +} + + diff --git a/examples/desktops/desktop_pool/private_access/outputs.tf b/examples/desktops/desktop_pool/private_access/outputs.tf new file mode 120000 index 00000000000..1a861df4d7c --- /dev/null +++ b/examples/desktops/desktop_pool/private_access/outputs.tf @@ -0,0 +1 @@ +../outputs.tf \ No newline at end of file diff --git a/examples/desktops/desktop_pool/private_access/provider.tf b/examples/desktops/desktop_pool/private_access/provider.tf new file mode 120000 index 00000000000..ab16dd30ec7 --- /dev/null +++ b/examples/desktops/desktop_pool/private_access/provider.tf @@ -0,0 +1 @@ +../provider.tf \ No newline at end of file diff --git a/examples/desktops/desktop_pool/private_access/variables.tf b/examples/desktops/desktop_pool/private_access/variables.tf new file mode 120000 index 00000000000..3a65dccd237 --- /dev/null +++ b/examples/desktops/desktop_pool/private_access/variables.tf @@ -0,0 +1 @@ +../variables.tf \ No newline at end of file diff --git a/examples/desktops/desktop_pool/osdstack-phx.auto.tfvars.example b/examples/desktops/desktop_pool/secure-desktops-phx.auto.tfvars.example similarity index 100% rename from examples/desktops/desktop_pool/osdstack-phx.auto.tfvars.example rename to examples/desktops/desktop_pool/secure-desktops-phx.auto.tfvars.example diff --git a/examples/desktops/desktop_pool/shape_flexibility/desktops-shape-flexibility-phx.auto.tfvars.example b/examples/desktops/desktop_pool/shape_flexibility/desktops-shape-flexibility-phx.auto.tfvars.example new file mode 100644 index 00000000000..a33de0fea77 --- /dev/null +++ b/examples/desktops/desktop_pool/shape_flexibility/desktops-shape-flexibility-phx.auto.tfvars.example @@ -0,0 +1,20 @@ +# OCI config profile +config_file_profile="terraform-federation-test" + +# region (us-phoenix-1, ca-toronto-1, etc) +region="us-phoenix-1" + +# Secure Desktops with Shape Flexibility Example Configuration + +compartment_id = "" + +desktop_pool_vcn_id = "" +desktop_pool_subnet_id = "" +desktop_pool_image_id = "" +desktop_pool_image_name = "" +desktop_pool_backup_policy_id = "" +desktop_pool_contact_details = "test%40example.com" +desktop_pool_shape_config_baseline_ocpu_utilization = "BASELINE_1_2" +desktop_pool_shape_config_memory_in_gbs = 4 +desktop_pool_shape_config_ocpus = 2 +desktop_pool_use_dedicated_vm_host = "FALSE" diff --git a/examples/desktops/desktop_pool/shape_flexibility/main.tf b/examples/desktops/desktop_pool/shape_flexibility/main.tf new file mode 100644 index 00000000000..32a3747109c --- /dev/null +++ b/examples/desktops/desktop_pool/shape_flexibility/main.tf @@ -0,0 +1,121 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + + +resource "oci_desktops_desktop_pool" "test_desktop_pool" { + #Required + compartment_id = var.compartment_id + display_name = var.desktop_pool_display_name + contact_details = var.desktop_pool_contact_details + + are_privileged_users = var.desktop_pool_are_privileged_users + availability_domain = data.oci_identity_availability_domain.ad.name + + network_configuration { + #Required + subnet_id = var.desktop_pool_subnet_id + vcn_id = var.desktop_pool_vcn_id + } + + device_policy { + #Required + audio_mode = var.desktop_pool_device_policy_audio_mode + cdm_mode = var.desktop_pool_device_policy_cdm_mode + clipboard_mode = var.desktop_pool_device_policy_clipboard_mode + is_display_enabled = var.desktop_pool_device_policy_is_display_enabled + is_keyboard_enabled = var.desktop_pool_device_policy_is_keyboard_enabled + is_pointer_enabled = var.desktop_pool_device_policy_is_pointer_enabled + is_printing_enabled = var.desktop_pool_device_policy_is_printing_enabled + } + + image { + #Required + image_id = var.desktop_pool_image_id + image_name = var.desktop_pool_image_name + } + + availability_policy { + #Required + start_schedule { + #Required + cron_expression = var.desktop_pool_start_schedule_cron_expr + timezone = var.desktop_pool_start_schedule_timezone + } + stop_schedule { + #Required + cron_expression = var.desktop_pool_stop_schedule_cron_expr + timezone = var.desktop_pool_stop_schedule_timezone + } + } + + is_storage_enabled = var.desktop_pool_is_storage_enabled + storage_backup_policy_id = var.desktop_pool_backup_policy_id + storage_size_in_gbs = var.desktop_pool_storage_size_in_gbs + + shape_name = var.desktop_pool_shape_name + standby_size = var.desktop_pool_standby_size + maximum_size = var.desktop_pool_maximum_size + + #Optional + # defined_tags = map(oci_identity_tag_namespace.tag-namespace1.name.oci_identity_tag.tag1.name, var.desktop_pool_defined_tags_value) + # description = var.desktop_pool_description + # freeform_tags = var.desktop_pool_freeform_tags + # nsg_ids = var.desktop_pool_nsg_ids + # time_start_scheduled = var.desktop_pool_time_start_scheduled + # time_stop_scheduled = var.desktop_pool_time_stop_scheduled + shape_config { + baseline_ocpu_utilization = var.desktop_pool_shape_config_baseline_ocpu_utilization + memory_in_gbs = var.desktop_pool_shape_config_memory_in_gbs + ocpus = var.desktop_pool_shape_config_ocpus + } + + use_dedicated_vm_host = var.desktop_pool_use_dedicated_vm_host +} + +data "oci_desktops_desktop_pools" "test_desktop_pools_datasource" { + #Required + compartment_id = var.compartment_id + + #Optional + # availability_domain = data.oci_identity_availability_domain.ad.name + # display_name = var.desktop_pool_display_name + id = oci_desktops_desktop_pool.test_desktop_pool.id + # state = var.desktop_pool_state +} + +data "oci_desktops_desktop_pool" "test_desktop_pool_datasource" { + #Required + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id +} + +data "oci_desktops_desktop_pool_desktops" "test_desktop_pool_desktops_datasource" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_id + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id +} + +data "oci_desktops_desktop_pool_volumes" "test_desktop_pool_volumes_datasource" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_id + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id + #Optional + # display_name = var.desktop_pool_display_name + # state = var.desktop_pool_state +} + +data "oci_identity_availability_domain" "ad" { + compartment_id = var.tenancy_ocid + ad_number = 1 +} + +data "oci_desktops_desktops" "test_desktops_datasource" { + availability_domain = data.oci_identity_availability_domain.ad.name + compartment_id = var.compartment_id + desktop_pool_id = oci_desktops_desktop_pool.test_desktop_pool.id + state = "ACTIVE" +} + +#data "oci_desktops_desktop" "test_desktop_datasource" { +# desktop_id = data.oci_desktops_desktop_pool_desktops.test_desktop_pool_desktops_datasource.desktop_pool_desktop_collection.0.items.0.desktop_id +#} + diff --git a/examples/desktops/desktop_pool/shape_flexibility/outputs.tf b/examples/desktops/desktop_pool/shape_flexibility/outputs.tf new file mode 100644 index 00000000000..a6a113ed692 --- /dev/null +++ b/examples/desktops/desktop_pool/shape_flexibility/outputs.tf @@ -0,0 +1,21 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +output "desktop_pool_id" { + value = [data.oci_desktops_desktop_pools.test_desktop_pools_datasource.desktop_pool_collection.0.items.*.id] +} + +# Output the desktop IDs of the desktop pool +output "desktop_pool_desktop_ids" { + value = [data.oci_desktops_desktop_pool_desktops.test_desktop_pool_desktops_datasource.desktop_pool_desktop_collection.0.items.*.desktop_id] +} + +# Output the volume IDs of the desktop pool +output "desktop_pool_volume_ids" { + value = [data.oci_desktops_desktop_pool_volumes.test_desktop_pool_volumes_datasource.desktop_pool_volume_collection.0.items.*.id] +} + +# Output the desktop IDs of the desktop pool +output "desktop_ids" { + value = [data.oci_desktops_desktops.test_desktops_datasource.desktop_collection.0.items.*.id] +} diff --git a/examples/desktops/desktop_pool/shape_flexibility/provider.tf b/examples/desktops/desktop_pool/shape_flexibility/provider.tf new file mode 100644 index 00000000000..ff2c9efa433 --- /dev/null +++ b/examples/desktops/desktop_pool/shape_flexibility/provider.tf @@ -0,0 +1,16 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +variable "config_file_profile" { +} + +provider "oci" { + auth = "SecurityToken" + config_file_profile = var.config_file_profile + region = var.region +} + +provider "local" { + version = ">=1.3.0" # Need this version of the local provider to support base64 encoded inputs +} + diff --git a/examples/desktops/desktop_pool/shape_flexibility/variables.tf b/examples/desktops/desktop_pool/shape_flexibility/variables.tf new file mode 100644 index 00000000000..fa83e24b7db --- /dev/null +++ b/examples/desktops/desktop_pool/shape_flexibility/variables.tf @@ -0,0 +1,167 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +variable "tenancy_ocid" {} +variable "user_ocid" {} +variable "fingerprint" {} +variable "private_key_path" {} +variable "region" {} +variable "compartment_id" {} + +variable "desktop_pool_are_privileged_users" { + description = "" + default = false +} + +variable "desktop_pool_description" { + description = "" + default = "Pool Description" +} + +variable "desktop_pool_contact_details" { + description = "" + default = "" +} + +variable "desktop_pool_device_policy_audio_mode" { + description = "" + default = "NONE" +} + +variable "desktop_pool_device_policy_cdm_mode" { + description = "" + default = "NONE" +} + +variable "desktop_pool_device_policy_clipboard_mode" { + description = "" + default = "NONE" +} + +variable "desktop_pool_device_policy_is_display_enabled" { + description = "" + default = false +} + +variable "desktop_pool_device_policy_is_keyboard_enabled" { + description = "" + default = false +} + +variable "desktop_pool_device_policy_is_pointer_enabled" { + description = "" + default = false +} + +variable "desktop_pool_device_policy_is_printing_enabled" { + description = "" + default = false +} + +variable "desktop_pool_display_name" { + description = "" + default = "testPool1" +} + +variable "desktop_pool_freeform_tags" { + description = "" + type = map(string) + + default = { + Test = "Test" + } +} + +variable "desktop_pool_standby_size" { + description = "" + default = 2 +} + +variable "desktop_pool_maximum_size" { + description = "" + default = 10 +} + +variable "desktop_pool_nsg_ids" { + description = "" + type = set(string) + default = null +} + +variable "desktop_pool_is_storage_enabled" { + description = "" + default = true +} + +variable "desktop_pool_backup_policy_id" { + description = "" + default = "" +} + +variable "desktop_pool_storage_size_in_gbs" { + description = "" + default = 50 +} + +variable "desktop_pool_vcn_id" { + description = "" +} + +variable "desktop_pool_subnet_id" { + description = "" +} + +variable "desktop_pool_shape_name" { + description = "" + default = "Flex Low" +} + +variable "desktop_pool_image_id" { + description = "" +} + +variable "desktop_pool_image_name" { + description = "" +} + +variable "desktop_pool_start_schedule_cron_expr" { + description = "" + default = "0 10 8 ? * 1" +} + +variable "desktop_pool_start_schedule_timezone" { + description = "" + default = "MST" +} + +variable "desktop_pool_stop_schedule_cron_expr" { + description = "" + default = "0 20 18 ? * 5" +} + +variable "desktop_pool_stop_schedule_timezone" { + description = "" + default = "MST" +} + +variable "desktop_pool_shape_config_baseline_ocpu_utilization" { + default = "BASELINE_1_2" +} + +variable "desktop_pool_shape_config_memory_in_gbs" { + default = 4 +} + +variable "desktop_pool_shape_config_ocpus" { + default = 2 +} + +variable "desktop_pool_use_dedicated_vm_host" { + default = "TRUE" +} + +variable "desktop_pool_state" { + description = "" + default = "ACTIVE" +} + diff --git a/examples/desktops/desktop_pool/terraform.tfvars.template b/examples/desktops/desktop_pool/terraform.tfvars.template index ea6e545f740..4fbb9690902 100644 --- a/examples/desktops/desktop_pool/terraform.tfvars.template +++ b/examples/desktops/desktop_pool/terraform.tfvars.template @@ -41,6 +41,10 @@ config_file_profile="terraform-federation-test" # region (us-phoenix-1, ca-toronto-1, etc) region="" +# needed to get domain availability zone +tenancy_ocid="" + + # To be able to use OCI Secure Desktops it requires to have some customer OCI resources ready in the customer tenancy like a VCN, Subnet and a custom Image. # Additionally a Dynamic Group, service policies and user policies are required. # See setting up the Tenancy: https://docs.oracle.com/en-us/iaas/secure-desktops/setup-tenancy.htm for guidance. @@ -61,3 +65,9 @@ desktop_pool_image_name = "" desktop_pool_backup_policy_id = "" desktop_pool_contact_details = "" +# shape flexibility +desktop_pool_shape_config_baseline_ocpu_utilization = "BASELINE_1_2" +desktop_pool_shape_config_memory_in_gbs = 4 +desktop_pool_shape_config_ocpus = 2 +desktop_pool_use_dedicated_vm_host = "FALSE" + diff --git a/examples/desktops/desktop_pool/variables.tf b/examples/desktops/desktop_pool/variables.tf index 35d92a58636..af65491f549 100644 --- a/examples/desktops/desktop_pool/variables.tf +++ b/examples/desktops/desktop_pool/variables.tf @@ -144,8 +144,21 @@ variable "desktop_pool_stop_schedule_timezone" { default = "MST" } +variable "desktop_pool_private_access_details_subnet_id" { +} + +variable "desktop_pool_private_access_details_nsg_ids" { + type = list(string) + default = [] +} + +variable "desktop_pool_private_access_details_private_ip" { + description = "" +} + variable "desktop_pool_state" { description = "" default = "ACTIVE" } + diff --git a/examples/fusionapps/FusionEnvironment/fusion_environment.tf b/examples/fusionapps/FusionEnvironment/fusion_environment.tf index f3c4bd7c362..3dd7245d646 100644 --- a/examples/fusionapps/FusionEnvironment/fusion_environment.tf +++ b/examples/fusionapps/FusionEnvironment/fusion_environment.tf @@ -96,8 +96,9 @@ resource "oci_fusion_apps_fusion_environment" "test_fusion_environment" { email_address = var.fusion_environment_create_fusion_environment_admin_user_details_email_address first_name = var.fusion_environment_create_fusion_environment_admin_user_details_first_name last_name = var.fusion_environment_create_fusion_environment_admin_user_details_last_name - password = var.fusion_environment_create_fusion_environment_admin_user_details_password username = var.fusion_environment_create_fusion_environment_admin_user_details_username + #Optional + password = var.fusion_environment_create_fusion_environment_admin_user_details_password } display_name = var.fusion_environment_display_name fusion_environment_family_id = oci_fusion_apps_fusion_environment_family.test_fusion_environment_family.id diff --git a/examples/fusionapps/FusionEnvironmentAdminUser/fusion_environment_admin_user.tf b/examples/fusionapps/FusionEnvironmentAdminUser/fusion_environment_admin_user.tf index abe305b490e..4ad3947181d 100644 --- a/examples/fusionapps/FusionEnvironmentAdminUser/fusion_environment_admin_user.tf +++ b/examples/fusionapps/FusionEnvironmentAdminUser/fusion_environment_admin_user.tf @@ -8,7 +8,7 @@ variable "private_key_path" {} variable "region" {} variable "fusion_environment_admin_user_email_address" { - default = "JohnSmith@example.com" + default = "JohnSmithnew@example.com" } variable "fusion_environment_admin_user_first_name" { @@ -40,9 +40,10 @@ resource "oci_fusion_apps_fusion_environment_admin_user" "test_fusion_environmen email_address = var.fusion_environment_admin_user_email_address first_name = var.fusion_environment_admin_user_first_name fusion_environment_id = oci_fusion_apps_fusion_environment.test_fusion_environment.id - last_name = var.fusion_environment_admin_user_last_name - password = var.fusion_environment_admin_user_password + last_name = var.fusion_environment_admin_user_last_name username = var.fusion_environment_admin_user_username + #Optional + password = var.fusion_environment_admin_user_password } data "oci_fusion_apps_fusion_environment_admin_users" "test_fusion_environment_admin_users" { diff --git a/examples/load_balancer/lb_full/lb_full.tf b/examples/load_balancer/lb_full/lb_full.tf index d73b6ef60ed..3b800718e94 100644 --- a/examples/load_balancer/lb_full/lb_full.tf +++ b/examples/load_balancer/lb_full/lb_full.tf @@ -65,7 +65,6 @@ variable "availability_domain" { } provider "oci" { - // version = "6.9.0" // published on August 27, 2024. tenancy_ocid = var.tenancy_ocid user_ocid = var.user_ocid fingerprint = var.fingerprint @@ -74,12 +73,12 @@ provider "oci" { } data "oci_identity_availability_domain" "ad1" { - compartment_id = var.compartment_ocid // needs to be compartment_ocid if not using root compartment + compartment_id = var.tenancy_ocid // needs to be compartment_ocid if not using root compartment ad_number = 1 } data "oci_identity_availability_domain" "ad2" { - compartment_id = var.compartment_ocid // needs to be compartment_ocid if not using root compartment + compartment_id = var.tenancy_ocid // needs to be compartment_ocid if not using root compartment ad_number = 2 } @@ -476,7 +475,8 @@ resource "oci_load_balancer_listener" "lb-listener3" { connection_configuration { idle_timeout_in_seconds = "2" - backend_tcp_proxy_protocol_version = "1" + backend_tcp_proxy_protocol_version = "2" + backend_tcp_proxy_protocol_options = ["PP2_TYPE_AUTHORITY"] } } diff --git a/examples/networking/vcn/vcn.tf b/examples/networking/vcn/vcn.tf index 6596c2bee24..335709bcdb1 100644 --- a/examples/networking/vcn/vcn.tf +++ b/examples/networking/vcn/vcn.tf @@ -26,6 +26,8 @@ provider "oci" { fingerprint = var.fingerprint private_key_path = var.private_key_path region = var.region + auth = "SecurityToken" + config_file_profile = "terraform-federation-test" ignore_defined_tags = ["testexamples-tag-namespace.tf-example-tag"] } @@ -34,6 +36,7 @@ resource "oci_core_vcn" "vcn" { dns_label = "vcn" compartment_id = var.compartment_ocid display_name = "vcn" + security_attributes = {"sample-namespace.value": "examplevalue", "sample-namespace.mode": "examplemode"} } output "vcn_id" { diff --git a/examples/opsi/database_insight/autonomous_database_insight/autonomous_database_insight.tf b/examples/opsi/database_insight/autonomous_database_insight/autonomous_database_insight.tf new file mode 100644 index 00000000000..7358b071219 --- /dev/null +++ b/examples/opsi/database_insight/autonomous_database_insight/autonomous_database_insight.tf @@ -0,0 +1,125 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +variable "tenancy_ocid" {} +variable "user_ocid" {} +variable "fingerprint" {} +variable "private_key_path" {} +variable "region" {} +variable "compartment_ocid" {} +variable "autonomous_database_id" {} +variable "service_name" {} +variable "adb_host" {} +variable "adb_port" {} + +provider "oci" { + tenancy_ocid = var.tenancy_ocid + user_ocid = var.user_ocid + fingerprint = var.fingerprint + private_key_path = var.private_key_path + region = var.region +} + +resource "oci_identity_tag_namespace" "tag-namespace1" { + compartment_id = var.tenancy_ocid + description = "example tag namespace" + name = "examples-tag-namespace-all" + is_retired = false +} + + +resource "oci_identity_tag" "tag1" { + description = "example tag" + name = "example-tag" + tag_namespace_id = oci_identity_tag_namespace.tag-namespace1.id + is_cost_tracking = false + is_retired = false +} + +variable "database_insight_database_type" { + default = ["ADW-S"] +} + +variable "database_insight_credential_details_credential_type" { + default = "CREDENTIALS_BY_IAM" +} + +variable "database_insight_credential_details_role" { + default = "NORMAL" +} + +variable "database_insight_database_resource_type" { + default = "autonomousdatabase" +} + +variable "database_insight_defined_tags_value" { + default = "value" +} + +variable "database_insight_entity_source" { + default = "AUTONOMOUS_DATABASE" +} + +variable "database_insight_fields" { + default = ["databaseName", "databaseType", "compartmentId", "databaseDisplayName", "freeformTags", "definedTags"] +} + +variable "database_insight_freeform_tags" { + default = { "bar-key" = "value" } +} + +variable "resource_status" { + default = "ENABLED" +} + +variable "is_advanced_features_enabled" { + default = true +} + +// Create Database insight for EM managed External Database +resource "oci_opsi_database_insight" "test_database_insight" { + #Required + compartment_id = var.compartment_ocid + entity_source = var.database_insight_entity_source + is_advanced_features_enabled = var.is_advanced_features_enabled + + #Optional + service_name = var.service_name + database_id = var.autonomous_database_id + database_resource_type = var.database_insight_database_resource_type + credential_details { + credential_type = var.database_insight_credential_details_credential_type + } + connection_details { + host_name = var.adb_host + port = var.adb_port + protocol = "TCPS" + service_name = var.service_name + } + //defined_tags = "${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "${var.database_insight_defined_tags_value}")}" + //freeform_tags = var.database_insight_freeform_tags + status = var.resource_status +} + +variable "database_insight_state" { + default = ["ACTIVE"] +} + +variable "database_insight_status" { + default = ["ENABLED"] +} + +// List opsi autonomous database insights +data "oci_opsi_database_insights" "test_database_insights" { + #Optional + compartment_id = var.compartment_ocid + database_type = var.database_insight_database_type + fields = var.database_insight_fields + state = var.database_insight_state + status = var.database_insight_status +} + +// Get an OPSI autonomous database insight +data "oci_opsi_database_insight" "test_database_insight" { + database_insight_id = oci_opsi_database_insight.test_database_insight.id +} \ No newline at end of file diff --git a/examples/stack_monitoring/maintenance_windows/maintenance_window.tf b/examples/stack_monitoring/maintenance_windows/maintenance_window.tf new file mode 100644 index 00000000000..4670c02f7bf --- /dev/null +++ b/examples/stack_monitoring/maintenance_windows/maintenance_window.tf @@ -0,0 +1,52 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +variable "tenancy_ocid" {} +variable "user_ocid" {} +variable "fingerprint" {} +variable "private_key_path" {} +variable "region" {} +variable "compartment_ocid" {} +variable "resource_id_for_maintwin" {} + +variable "maintenance_window_name" { + default = "TestMaintenanceWindows" +} + +variable "maintenance_window_schedule_schedule_type" { + default = "ONE_TIME" +} + +variable "maintenance_window_schedule_time_maintenance_window_start" { + default = "2024-10-25T16:00:01.001Z" +} + +variable "maintenance_window_schedule_time_maintenance_window_end" { + default = "2024-10-26T16:00:01.001Z" +} + +provider "oci" { + tenancy_ocid = var.tenancy_ocid + user_ocid = var.user_ocid + fingerprint = var.fingerprint + private_key_path = var.private_key_path + region = var.region +} + +resource "oci_stack_monitoring_maintenance_window" "test_maintenance_window_example" { + #Required + compartment_id = var.compartment_ocid + name = var.maintenance_window_name + + resources { + resource_id = var.resource_id_for_maintwin + are_members_included = true + } + + schedule { + schedule_type = var.maintenance_window_schedule_schedule_type + time_maintenance_window_start = var.maintenance_window_schedule_time_maintenance_window_start + time_maintenance_window_end = var.maintenance_window_schedule_time_maintenance_window_end + } + +} diff --git a/examples/stack_monitoring/maintenance_windows_retry_failed_operation/maintenance_window_retry_failed_operation.tf b/examples/stack_monitoring/maintenance_windows_retry_failed_operation/maintenance_window_retry_failed_operation.tf new file mode 100644 index 00000000000..3ca24817674 --- /dev/null +++ b/examples/stack_monitoring/maintenance_windows_retry_failed_operation/maintenance_window_retry_failed_operation.tf @@ -0,0 +1,24 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +variable "tenancy_ocid" {} +variable "user_ocid" {} +variable "fingerprint" {} +variable "private_key_path" {} +variable "region" {} +variable "maintenance_window_id" {} + + + +provider "oci" { + tenancy_ocid = var.tenancy_ocid + user_ocid = var.user_ocid + fingerprint = var.fingerprint + private_key_path = var.private_key_path + region = var.region +} + +resource "oci_stack_monitoring_maintenance_windows_retry_failed_operation" "test_maintenance_windows_retry_failed_operation" { + #Required + maintenance_window_id = var.maintenance_window_id +} \ No newline at end of file diff --git a/examples/stack_monitoring/maintenance_windows_stop/maintenance_window_stop.tf b/examples/stack_monitoring/maintenance_windows_stop/maintenance_window_stop.tf new file mode 100644 index 00000000000..0114507b068 --- /dev/null +++ b/examples/stack_monitoring/maintenance_windows_stop/maintenance_window_stop.tf @@ -0,0 +1,24 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +variable "tenancy_ocid" {} +variable "user_ocid" {} +variable "fingerprint" {} +variable "private_key_path" {} +variable "region" {} +variable "maintenance_window_id" {} + + + +provider "oci" { + tenancy_ocid = var.tenancy_ocid + user_ocid = var.user_ocid + fingerprint = var.fingerprint + private_key_path = var.private_key_path + region = var.region +} + +resource "oci_stack_monitoring_maintenance_windows_stop" "test_maintenance_windows_stop" { + #Required + maintenance_window_id = var.maintenance_window_id +} \ No newline at end of file diff --git a/examples/zips/adm.zip b/examples/zips/adm.zip index 2b4d421fe1f..3f439ea30b6 100644 Binary files a/examples/zips/adm.zip and b/examples/zips/adm.zip differ diff --git a/examples/zips/aiAnomalyDetection.zip b/examples/zips/aiAnomalyDetection.zip index 72020b0a235..4be727965e3 100644 Binary files a/examples/zips/aiAnomalyDetection.zip and b/examples/zips/aiAnomalyDetection.zip differ diff --git a/examples/zips/aiDocument.zip b/examples/zips/aiDocument.zip index a7bb8b38727..8b87c6632de 100644 Binary files a/examples/zips/aiDocument.zip and b/examples/zips/aiDocument.zip differ diff --git a/examples/zips/aiLanguage.zip b/examples/zips/aiLanguage.zip index fa1a4952a67..3e9f629defb 100644 Binary files a/examples/zips/aiLanguage.zip and b/examples/zips/aiLanguage.zip differ diff --git a/examples/zips/aiVision.zip b/examples/zips/aiVision.zip index 33fd43d2fb0..a95312e3fc1 100644 Binary files a/examples/zips/aiVision.zip and b/examples/zips/aiVision.zip differ diff --git a/examples/zips/always_free.zip b/examples/zips/always_free.zip index 68683dcd7a2..65a841b1506 100644 Binary files a/examples/zips/always_free.zip and b/examples/zips/always_free.zip differ diff --git a/examples/zips/analytics.zip b/examples/zips/analytics.zip index 13d37e09579..eda56c30aee 100644 Binary files a/examples/zips/analytics.zip and b/examples/zips/analytics.zip differ diff --git a/examples/zips/announcements_service.zip b/examples/zips/announcements_service.zip index 62860702be5..e7cc861d097 100644 Binary files a/examples/zips/announcements_service.zip and b/examples/zips/announcements_service.zip differ diff --git a/examples/zips/api_gateway.zip b/examples/zips/api_gateway.zip index b521c262ca5..69616813a98 100644 Binary files a/examples/zips/api_gateway.zip and b/examples/zips/api_gateway.zip differ diff --git a/examples/zips/apm.zip b/examples/zips/apm.zip index cc09a726c4b..31c421a73f8 100644 Binary files a/examples/zips/apm.zip and b/examples/zips/apm.zip differ diff --git a/examples/zips/appmgmt_control.zip b/examples/zips/appmgmt_control.zip index 623d480ba88..91720018f4b 100644 Binary files a/examples/zips/appmgmt_control.zip and b/examples/zips/appmgmt_control.zip differ diff --git a/examples/zips/artifacts.zip b/examples/zips/artifacts.zip index 7a494a86489..52c9f520d55 100644 Binary files a/examples/zips/artifacts.zip and b/examples/zips/artifacts.zip differ diff --git a/examples/zips/audit.zip b/examples/zips/audit.zip index 2efd6c9512b..1ebf243aafd 100644 Binary files a/examples/zips/audit.zip and b/examples/zips/audit.zip differ diff --git a/examples/zips/autoscaling.zip b/examples/zips/autoscaling.zip index e7d85ac776d..692d72005af 100644 Binary files a/examples/zips/autoscaling.zip and b/examples/zips/autoscaling.zip differ diff --git a/examples/zips/bastion.zip b/examples/zips/bastion.zip index 1cd9946a0e3..c9469f9e74f 100644 Binary files a/examples/zips/bastion.zip and b/examples/zips/bastion.zip differ diff --git a/examples/zips/big_data_service.zip b/examples/zips/big_data_service.zip index e75cb50f555..856ee36c9e6 100644 Binary files a/examples/zips/big_data_service.zip and b/examples/zips/big_data_service.zip differ diff --git a/examples/zips/blockchain.zip b/examples/zips/blockchain.zip index 57549d36d8a..055bdae6529 100644 Binary files a/examples/zips/blockchain.zip and b/examples/zips/blockchain.zip differ diff --git a/examples/zips/budget.zip b/examples/zips/budget.zip index c95675bde91..684e8264678 100644 Binary files a/examples/zips/budget.zip and b/examples/zips/budget.zip differ diff --git a/examples/zips/capacity_management.zip b/examples/zips/capacity_management.zip index 1b1538ec953..c2a644d4b03 100644 Binary files a/examples/zips/capacity_management.zip and b/examples/zips/capacity_management.zip differ diff --git a/examples/zips/certificatesManagement.zip b/examples/zips/certificatesManagement.zip index 480a44c34cb..ec8e16a317e 100644 Binary files a/examples/zips/certificatesManagement.zip and b/examples/zips/certificatesManagement.zip differ diff --git a/examples/zips/cloudBridge.zip b/examples/zips/cloudBridge.zip index 0f6e2a35d38..5c81a4c789b 100644 Binary files a/examples/zips/cloudBridge.zip and b/examples/zips/cloudBridge.zip differ diff --git a/examples/zips/cloudMigrations.zip b/examples/zips/cloudMigrations.zip index 64b92454ac2..c393a31b7d2 100644 Binary files a/examples/zips/cloudMigrations.zip and b/examples/zips/cloudMigrations.zip differ diff --git a/examples/zips/cloudguard.zip b/examples/zips/cloudguard.zip index 5523245f83e..ce90dfc6cad 100644 Binary files a/examples/zips/cloudguard.zip and b/examples/zips/cloudguard.zip differ diff --git a/examples/zips/cluster_placement_groups.zip b/examples/zips/cluster_placement_groups.zip index 08bceb73421..83a32b30cef 100644 Binary files a/examples/zips/cluster_placement_groups.zip and b/examples/zips/cluster_placement_groups.zip differ diff --git a/examples/zips/compute.zip b/examples/zips/compute.zip index 73b2cce1c8c..985de942dc6 100644 Binary files a/examples/zips/compute.zip and b/examples/zips/compute.zip differ diff --git a/examples/zips/computecloudatcustomer.zip b/examples/zips/computecloudatcustomer.zip index 3c780c6ba34..97748d6278d 100644 Binary files a/examples/zips/computecloudatcustomer.zip and b/examples/zips/computecloudatcustomer.zip differ diff --git a/examples/zips/computeinstanceagent.zip b/examples/zips/computeinstanceagent.zip index 559de3d557c..8ad2f02dca1 100644 Binary files a/examples/zips/computeinstanceagent.zip and b/examples/zips/computeinstanceagent.zip differ diff --git a/examples/zips/concepts.zip b/examples/zips/concepts.zip index a808341b351..bfa208f5d33 100644 Binary files a/examples/zips/concepts.zip and b/examples/zips/concepts.zip differ diff --git a/examples/zips/container_engine.zip b/examples/zips/container_engine.zip index 3f2a96012df..29194c6e375 100644 Binary files a/examples/zips/container_engine.zip and b/examples/zips/container_engine.zip differ diff --git a/examples/zips/container_instances.zip b/examples/zips/container_instances.zip index d5a90d3cc20..08c26d450d0 100644 Binary files a/examples/zips/container_instances.zip and b/examples/zips/container_instances.zip differ diff --git a/examples/zips/database.zip b/examples/zips/database.zip index efd284e831d..5e7ebdc4294 100644 Binary files a/examples/zips/database.zip and b/examples/zips/database.zip differ diff --git a/examples/zips/databaseTools.zip b/examples/zips/databaseTools.zip index d0b013847ff..9833ed544f9 100644 Binary files a/examples/zips/databaseTools.zip and b/examples/zips/databaseTools.zip differ diff --git a/examples/zips/databasemanagement.zip b/examples/zips/databasemanagement.zip index 006c385ee21..ba81589d316 100644 Binary files a/examples/zips/databasemanagement.zip and b/examples/zips/databasemanagement.zip differ diff --git a/examples/zips/databasemigration.zip b/examples/zips/databasemigration.zip index 16c5cc89237..640566d9273 100644 Binary files a/examples/zips/databasemigration.zip and b/examples/zips/databasemigration.zip differ diff --git a/examples/zips/datacatalog.zip b/examples/zips/datacatalog.zip index 7a4ea4d2929..c7c654f9f8b 100644 Binary files a/examples/zips/datacatalog.zip and b/examples/zips/datacatalog.zip differ diff --git a/examples/zips/dataflow.zip b/examples/zips/dataflow.zip index 69b869e3cb7..10aa81fa15d 100644 Binary files a/examples/zips/dataflow.zip and b/examples/zips/dataflow.zip differ diff --git a/examples/zips/dataintegration.zip b/examples/zips/dataintegration.zip index 072a89aae87..1ed9eaedc78 100644 Binary files a/examples/zips/dataintegration.zip and b/examples/zips/dataintegration.zip differ diff --git a/examples/zips/datalabeling.zip b/examples/zips/datalabeling.zip index a3746d60331..26cbc5d072c 100644 Binary files a/examples/zips/datalabeling.zip and b/examples/zips/datalabeling.zip differ diff --git a/examples/zips/datasafe.zip b/examples/zips/datasafe.zip index c693faae01b..725b00f1b82 100644 Binary files a/examples/zips/datasafe.zip and b/examples/zips/datasafe.zip differ diff --git a/examples/zips/datascience.zip b/examples/zips/datascience.zip index 904cf09ade1..78e2f1757f1 100644 Binary files a/examples/zips/datascience.zip and b/examples/zips/datascience.zip differ diff --git a/examples/zips/delegation_management.zip b/examples/zips/delegation_management.zip index 01c26b1caa0..5ef007ffeee 100644 Binary files a/examples/zips/delegation_management.zip and b/examples/zips/delegation_management.zip differ diff --git a/examples/zips/demand_signal.zip b/examples/zips/demand_signal.zip index 9f46221d30d..0008f3f5ca4 100644 Binary files a/examples/zips/demand_signal.zip and b/examples/zips/demand_signal.zip differ diff --git a/examples/zips/desktops.zip b/examples/zips/desktops.zip index fea77ed12bd..b617d8b49bc 100644 Binary files a/examples/zips/desktops.zip and b/examples/zips/desktops.zip differ diff --git a/examples/zips/devops.zip b/examples/zips/devops.zip index ad6a146378b..5d501c120e3 100644 Binary files a/examples/zips/devops.zip and b/examples/zips/devops.zip differ diff --git a/examples/zips/disaster_recovery.zip b/examples/zips/disaster_recovery.zip index 700a13ac6ec..c4a7103ccc1 100644 Binary files a/examples/zips/disaster_recovery.zip and b/examples/zips/disaster_recovery.zip differ diff --git a/examples/zips/dns.zip b/examples/zips/dns.zip index 0524c79fb32..f6ed50b31fd 100644 Binary files a/examples/zips/dns.zip and b/examples/zips/dns.zip differ diff --git a/examples/zips/em_warehouse.zip b/examples/zips/em_warehouse.zip index ee01cf807cb..321ba5c3dd8 100644 Binary files a/examples/zips/em_warehouse.zip and b/examples/zips/em_warehouse.zip differ diff --git a/examples/zips/email.zip b/examples/zips/email.zip index 5ae20aacc68..42d9c65af08 100644 Binary files a/examples/zips/email.zip and b/examples/zips/email.zip differ diff --git a/examples/zips/events.zip b/examples/zips/events.zip index f6a2a02b36b..12ad5607576 100644 Binary files a/examples/zips/events.zip and b/examples/zips/events.zip differ diff --git a/examples/zips/fast_connect.zip b/examples/zips/fast_connect.zip index ce462b63164..e7403c631fa 100644 Binary files a/examples/zips/fast_connect.zip and b/examples/zips/fast_connect.zip differ diff --git a/examples/zips/fleet_apps_management.zip b/examples/zips/fleet_apps_management.zip index 347d10372ae..70185aad7a5 100644 Binary files a/examples/zips/fleet_apps_management.zip and b/examples/zips/fleet_apps_management.zip differ diff --git a/examples/zips/fleetsoftwareupdate.zip b/examples/zips/fleetsoftwareupdate.zip index 5ce10f873b0..092cd437d2d 100644 Binary files a/examples/zips/fleetsoftwareupdate.zip and b/examples/zips/fleetsoftwareupdate.zip differ diff --git a/examples/zips/functions.zip b/examples/zips/functions.zip index 6db43c22080..2986c98916a 100644 Binary files a/examples/zips/functions.zip and b/examples/zips/functions.zip differ diff --git a/examples/zips/fusionapps.zip b/examples/zips/fusionapps.zip index 50e65688f1d..382024c54ad 100644 Binary files a/examples/zips/fusionapps.zip and b/examples/zips/fusionapps.zip differ diff --git a/examples/zips/generative_ai.zip b/examples/zips/generative_ai.zip index 1a2b9695aea..7a9e88eaea0 100644 Binary files a/examples/zips/generative_ai.zip and b/examples/zips/generative_ai.zip differ diff --git a/examples/zips/globally_distributed_database.zip b/examples/zips/globally_distributed_database.zip index 4735c6577b1..76529038e4c 100644 Binary files a/examples/zips/globally_distributed_database.zip and b/examples/zips/globally_distributed_database.zip differ diff --git a/examples/zips/goldengate.zip b/examples/zips/goldengate.zip index 76710efe119..62fd5f1bd4b 100644 Binary files a/examples/zips/goldengate.zip and b/examples/zips/goldengate.zip differ diff --git a/examples/zips/health_checks.zip b/examples/zips/health_checks.zip index 2e9a6fa88e4..fbbb2979bcf 100644 Binary files a/examples/zips/health_checks.zip and b/examples/zips/health_checks.zip differ diff --git a/examples/zips/id6.zip b/examples/zips/id6.zip index 669ccf05d86..1ebb638e43e 100644 Binary files a/examples/zips/id6.zip and b/examples/zips/id6.zip differ diff --git a/examples/zips/identity.zip b/examples/zips/identity.zip index 96154dd3353..b3a2811ea84 100644 Binary files a/examples/zips/identity.zip and b/examples/zips/identity.zip differ diff --git a/examples/zips/identity_data_plane.zip b/examples/zips/identity_data_plane.zip index d3382218484..2faba2606a6 100644 Binary files a/examples/zips/identity_data_plane.zip and b/examples/zips/identity_data_plane.zip differ diff --git a/examples/zips/identity_domains.zip b/examples/zips/identity_domains.zip index c4b1cf5972f..ffbc27a857c 100644 Binary files a/examples/zips/identity_domains.zip and b/examples/zips/identity_domains.zip differ diff --git a/examples/zips/integration.zip b/examples/zips/integration.zip index d7abd69e1e5..11e8b8c4a42 100644 Binary files a/examples/zips/integration.zip and b/examples/zips/integration.zip differ diff --git a/examples/zips/jms.zip b/examples/zips/jms.zip index 4e8814ad0fd..b2027d95b89 100644 Binary files a/examples/zips/jms.zip and b/examples/zips/jms.zip differ diff --git a/examples/zips/jms_java_downloads.zip b/examples/zips/jms_java_downloads.zip index a43f38f4a64..65b5cd429c4 100644 Binary files a/examples/zips/jms_java_downloads.zip and b/examples/zips/jms_java_downloads.zip differ diff --git a/examples/zips/kms.zip b/examples/zips/kms.zip index da5d613090f..f3c2f4c26df 100644 Binary files a/examples/zips/kms.zip and b/examples/zips/kms.zip differ diff --git a/examples/zips/license_manager.zip b/examples/zips/license_manager.zip index 2ef767f652f..20f8f16fb99 100644 Binary files a/examples/zips/license_manager.zip and b/examples/zips/license_manager.zip differ diff --git a/examples/zips/limits.zip b/examples/zips/limits.zip index 98a6aabb54a..b8a61897842 100644 Binary files a/examples/zips/limits.zip and b/examples/zips/limits.zip differ diff --git a/examples/zips/load_balancer.zip b/examples/zips/load_balancer.zip index 58ff71147e1..8d1a6adec6a 100644 Binary files a/examples/zips/load_balancer.zip and b/examples/zips/load_balancer.zip differ diff --git a/examples/zips/log_analytics.zip b/examples/zips/log_analytics.zip index 6c0a1ba4d74..8b3ac9a8f31 100644 Binary files a/examples/zips/log_analytics.zip and b/examples/zips/log_analytics.zip differ diff --git a/examples/zips/logging.zip b/examples/zips/logging.zip index 9dfb239f8ea..0462c329235 100644 Binary files a/examples/zips/logging.zip and b/examples/zips/logging.zip differ diff --git a/examples/zips/management_agent.zip b/examples/zips/management_agent.zip index 2e96f8eee38..8ba33eeb00c 100644 Binary files a/examples/zips/management_agent.zip and b/examples/zips/management_agent.zip differ diff --git a/examples/zips/management_dashboard.zip b/examples/zips/management_dashboard.zip index 8045b57da6b..4ba05777cc9 100644 Binary files a/examples/zips/management_dashboard.zip and b/examples/zips/management_dashboard.zip differ diff --git a/examples/zips/marketplace.zip b/examples/zips/marketplace.zip index c8c455e4758..208c6cf85cc 100644 Binary files a/examples/zips/marketplace.zip and b/examples/zips/marketplace.zip differ diff --git a/examples/zips/media_services.zip b/examples/zips/media_services.zip index 77c13ae31d4..4f68bc81440 100644 Binary files a/examples/zips/media_services.zip and b/examples/zips/media_services.zip differ diff --git a/examples/zips/metering_computation.zip b/examples/zips/metering_computation.zip index 65ed3e11208..8ab5d34ad35 100644 Binary files a/examples/zips/metering_computation.zip and b/examples/zips/metering_computation.zip differ diff --git a/examples/zips/monitoring.zip b/examples/zips/monitoring.zip index e9285ac18ac..9e118620265 100644 Binary files a/examples/zips/monitoring.zip and b/examples/zips/monitoring.zip differ diff --git a/examples/zips/mysql.zip b/examples/zips/mysql.zip index 656f32b8c23..696ce03d2c6 100644 Binary files a/examples/zips/mysql.zip and b/examples/zips/mysql.zip differ diff --git a/examples/zips/network_firewall.zip b/examples/zips/network_firewall.zip index 8d4f422f4a3..1dc57a900bd 100644 Binary files a/examples/zips/network_firewall.zip and b/examples/zips/network_firewall.zip differ diff --git a/examples/zips/network_load_balancer.zip b/examples/zips/network_load_balancer.zip index bcfecbdf4dc..57f47415466 100644 Binary files a/examples/zips/network_load_balancer.zip and b/examples/zips/network_load_balancer.zip differ diff --git a/examples/zips/networking.zip b/examples/zips/networking.zip index 7a149a49c13..055b121ebe8 100644 Binary files a/examples/zips/networking.zip and b/examples/zips/networking.zip differ diff --git a/examples/zips/nosql.zip b/examples/zips/nosql.zip index c7a422dd14f..193c9fb35f9 100644 Binary files a/examples/zips/nosql.zip and b/examples/zips/nosql.zip differ diff --git a/examples/zips/notifications.zip b/examples/zips/notifications.zip index 6df42da3cbc..c3b79863a31 100644 Binary files a/examples/zips/notifications.zip and b/examples/zips/notifications.zip differ diff --git a/examples/zips/object_storage.zip b/examples/zips/object_storage.zip index 7956ee9ab34..dc0859f2730 100644 Binary files a/examples/zips/object_storage.zip and b/examples/zips/object_storage.zip differ diff --git a/examples/zips/ocvp.zip b/examples/zips/ocvp.zip index a2d909662e0..c5a7e13e0ef 100644 Binary files a/examples/zips/ocvp.zip and b/examples/zips/ocvp.zip differ diff --git a/examples/zips/onesubscription.zip b/examples/zips/onesubscription.zip index bdbed952976..c39512ea86e 100644 Binary files a/examples/zips/onesubscription.zip and b/examples/zips/onesubscription.zip differ diff --git a/examples/zips/opa.zip b/examples/zips/opa.zip index 334232f6b68..6be8dabe8f4 100644 Binary files a/examples/zips/opa.zip and b/examples/zips/opa.zip differ diff --git a/examples/zips/opensearch.zip b/examples/zips/opensearch.zip index 9c8b0cbdbbf..b549154d7ab 100644 Binary files a/examples/zips/opensearch.zip and b/examples/zips/opensearch.zip differ diff --git a/examples/zips/operator_access_control.zip b/examples/zips/operator_access_control.zip index 69bba7b9db1..597a7ff7d57 100644 Binary files a/examples/zips/operator_access_control.zip and b/examples/zips/operator_access_control.zip differ diff --git a/examples/zips/opsi.zip b/examples/zips/opsi.zip index 07c3731ffd2..fec3b94e56e 100644 Binary files a/examples/zips/opsi.zip and b/examples/zips/opsi.zip differ diff --git a/examples/zips/optimizer.zip b/examples/zips/optimizer.zip index 452c3756ed2..b542a07ad4e 100644 Binary files a/examples/zips/optimizer.zip and b/examples/zips/optimizer.zip differ diff --git a/examples/zips/oracle_cloud_vmware_solution.zip b/examples/zips/oracle_cloud_vmware_solution.zip index c5877d18167..c01549c97b6 100644 Binary files a/examples/zips/oracle_cloud_vmware_solution.zip and b/examples/zips/oracle_cloud_vmware_solution.zip differ diff --git a/examples/zips/oracle_content_experience.zip b/examples/zips/oracle_content_experience.zip index 197fa6083ef..01913b236f5 100644 Binary files a/examples/zips/oracle_content_experience.zip and b/examples/zips/oracle_content_experience.zip differ diff --git a/examples/zips/oracle_digital_assistant.zip b/examples/zips/oracle_digital_assistant.zip index a4fffbd2502..2aa506884d6 100644 Binary files a/examples/zips/oracle_digital_assistant.zip and b/examples/zips/oracle_digital_assistant.zip differ diff --git a/examples/zips/os_management_hub.zip b/examples/zips/os_management_hub.zip index 04191382326..f40668e2582 100644 Binary files a/examples/zips/os_management_hub.zip and b/examples/zips/os_management_hub.zip differ diff --git a/examples/zips/osmanagement.zip b/examples/zips/osmanagement.zip index 0e96b47d6b0..3bce6187b30 100644 Binary files a/examples/zips/osmanagement.zip and b/examples/zips/osmanagement.zip differ diff --git a/examples/zips/osp_gateway.zip b/examples/zips/osp_gateway.zip index dcf81ef3222..2020702268d 100644 Binary files a/examples/zips/osp_gateway.zip and b/examples/zips/osp_gateway.zip differ diff --git a/examples/zips/osub_billing_schedule.zip b/examples/zips/osub_billing_schedule.zip index 8c189a105e7..ede4513aa00 100644 Binary files a/examples/zips/osub_billing_schedule.zip and b/examples/zips/osub_billing_schedule.zip differ diff --git a/examples/zips/osub_organization_subscription.zip b/examples/zips/osub_organization_subscription.zip index 690b58ec80d..5920a5dfc83 100644 Binary files a/examples/zips/osub_organization_subscription.zip and b/examples/zips/osub_organization_subscription.zip differ diff --git a/examples/zips/osub_subscription.zip b/examples/zips/osub_subscription.zip index 111d7297cae..ebe73eba4ee 100644 Binary files a/examples/zips/osub_subscription.zip and b/examples/zips/osub_subscription.zip differ diff --git a/examples/zips/osub_usage.zip b/examples/zips/osub_usage.zip index e3aada20de2..e80e5e61ace 100644 Binary files a/examples/zips/osub_usage.zip and b/examples/zips/osub_usage.zip differ diff --git a/examples/zips/pic.zip b/examples/zips/pic.zip index 5024e4c232a..b3e3fc8873b 100644 Binary files a/examples/zips/pic.zip and b/examples/zips/pic.zip differ diff --git a/examples/zips/psql.zip b/examples/zips/psql.zip index 2103b434a3a..43b317fb12b 100644 Binary files a/examples/zips/psql.zip and b/examples/zips/psql.zip differ diff --git a/examples/zips/queue.zip b/examples/zips/queue.zip index bdec8a39d58..96ab6bf49e2 100644 Binary files a/examples/zips/queue.zip and b/examples/zips/queue.zip differ diff --git a/examples/zips/recovery.zip b/examples/zips/recovery.zip index 33d0cc6a341..11c4d3b6691 100644 Binary files a/examples/zips/recovery.zip and b/examples/zips/recovery.zip differ diff --git a/examples/zips/redis.zip b/examples/zips/redis.zip index a98bbd22ff5..b02b6bc388b 100644 Binary files a/examples/zips/redis.zip and b/examples/zips/redis.zip differ diff --git a/examples/zips/resourcemanager.zip b/examples/zips/resourcemanager.zip index f95c7448593..46aff4aaa23 100644 Binary files a/examples/zips/resourcemanager.zip and b/examples/zips/resourcemanager.zip differ diff --git a/examples/zips/resourcescheduler.zip b/examples/zips/resourcescheduler.zip index 20a8a1fe17e..2387625103d 100644 Binary files a/examples/zips/resourcescheduler.zip and b/examples/zips/resourcescheduler.zip differ diff --git a/examples/zips/security_attribute.zip b/examples/zips/security_attribute.zip index c63652d94af..7e93b609797 100644 Binary files a/examples/zips/security_attribute.zip and b/examples/zips/security_attribute.zip differ diff --git a/examples/zips/serviceManagerProxy.zip b/examples/zips/serviceManagerProxy.zip index 189ee0427f3..b39a9059c44 100644 Binary files a/examples/zips/serviceManagerProxy.zip and b/examples/zips/serviceManagerProxy.zip differ diff --git a/examples/zips/service_catalog.zip b/examples/zips/service_catalog.zip index 00bb2b65a0e..5563f7da1b1 100644 Binary files a/examples/zips/service_catalog.zip and b/examples/zips/service_catalog.zip differ diff --git a/examples/zips/service_connector_hub.zip b/examples/zips/service_connector_hub.zip index be0ddeffeb9..5577643038c 100644 Binary files a/examples/zips/service_connector_hub.zip and b/examples/zips/service_connector_hub.zip differ diff --git a/examples/zips/service_mesh.zip b/examples/zips/service_mesh.zip index 948547845a7..7435847ac01 100644 Binary files a/examples/zips/service_mesh.zip and b/examples/zips/service_mesh.zip differ diff --git a/examples/zips/stack_monitoring.zip b/examples/zips/stack_monitoring.zip index cb1a89e3f41..d36253ed820 100644 Binary files a/examples/zips/stack_monitoring.zip and b/examples/zips/stack_monitoring.zip differ diff --git a/examples/zips/storage.zip b/examples/zips/storage.zip index 983280fc19b..fe8e7886f18 100644 Binary files a/examples/zips/storage.zip and b/examples/zips/storage.zip differ diff --git a/examples/zips/streaming.zip b/examples/zips/streaming.zip index 3646a0d1240..29dfbba18ae 100644 Binary files a/examples/zips/streaming.zip and b/examples/zips/streaming.zip differ diff --git a/examples/zips/usage_proxy.zip b/examples/zips/usage_proxy.zip index ccfa1c6642b..e4ff959ec78 100644 Binary files a/examples/zips/usage_proxy.zip and b/examples/zips/usage_proxy.zip differ diff --git a/examples/zips/vault_secret.zip b/examples/zips/vault_secret.zip index d90965afbe8..d433c99f591 100644 Binary files a/examples/zips/vault_secret.zip and b/examples/zips/vault_secret.zip differ diff --git a/examples/zips/vbs_inst.zip b/examples/zips/vbs_inst.zip index f7b080c2e84..56a3a174aa9 100644 Binary files a/examples/zips/vbs_inst.zip and b/examples/zips/vbs_inst.zip differ diff --git a/examples/zips/visual_builder.zip b/examples/zips/visual_builder.zip index 0e91cfef7c7..f2158a633eb 100644 Binary files a/examples/zips/visual_builder.zip and b/examples/zips/visual_builder.zip differ diff --git a/examples/zips/vn_monitoring.zip b/examples/zips/vn_monitoring.zip index 6e7614f13e0..aff4d28b71b 100644 Binary files a/examples/zips/vn_monitoring.zip and b/examples/zips/vn_monitoring.zip differ diff --git a/examples/zips/vulnerability_scanning_service.zip b/examples/zips/vulnerability_scanning_service.zip index d23505df912..e8ff392b703 100644 Binary files a/examples/zips/vulnerability_scanning_service.zip and b/examples/zips/vulnerability_scanning_service.zip differ diff --git a/examples/zips/web_app_acceleration.zip b/examples/zips/web_app_acceleration.zip index 7560abcff98..2b463a0b443 100644 Binary files a/examples/zips/web_app_acceleration.zip and b/examples/zips/web_app_acceleration.zip differ diff --git a/examples/zips/web_app_firewall.zip b/examples/zips/web_app_firewall.zip index 4cb87603b99..a7c033ac282 100644 Binary files a/examples/zips/web_app_firewall.zip and b/examples/zips/web_app_firewall.zip differ diff --git a/examples/zips/web_application_acceleration_and_security.zip b/examples/zips/web_application_acceleration_and_security.zip index 4a09e4aa106..48cecb2247e 100644 Binary files a/examples/zips/web_application_acceleration_and_security.zip and b/examples/zips/web_application_acceleration_and_security.zip differ diff --git a/examples/zips/zpr.zip b/examples/zips/zpr.zip index da51a69480a..761ac635ddb 100644 Binary files a/examples/zips/zpr.zip and b/examples/zips/zpr.zip differ diff --git a/internal/globalvar/version.go b/internal/globalvar/version.go index e3b798c919b..76b8c73d713 100644 --- a/internal/globalvar/version.go +++ b/internal/globalvar/version.go @@ -7,9 +7,9 @@ import ( "log" ) -const Version = "6.12.0" +const Version = "6.13.0" -const ReleaseDate = "2024-10-05" +const ReleaseDate = "2024-10-12" func PrintVersion() { log.Printf("[INFO] terraform-provider-oci %s\n", Version) diff --git a/internal/integrationtest/core_instance_test.go b/internal/integrationtest/core_instance_test.go index 2b60ece3a0d..41c8f171242 100644 --- a/internal/integrationtest/core_instance_test.go +++ b/internal/integrationtest/core_instance_test.go @@ -71,7 +71,7 @@ var ( "shape": acctest.Representation{RepType: acctest.Required, Create: `VM.Standard2.1`}, "update_operation_constraint": acctest.Representation{RepType: acctest.Optional, Create: `ALLOW_DOWNTIME`, Update: `ALLOW_DOWNTIME`}, "agent_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAgentConfigRepresentation}, - "availability_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAvailabilityConfigRepresentation}, + "availability_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceBasicAvailabilityConfigRepresentation}, "create_vnic_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceCreateVnicDetailsRepresentation}, "dedicated_vm_host_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_dedicated_vm_host.test_dedicated_vm_host.id}`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -105,7 +105,7 @@ var ( "shape": acctest.Representation{RepType: acctest.Required, Create: `VM.Standard2.1`}, "update_operation_constraint": acctest.Representation{RepType: acctest.Optional, Create: `ALLOW_DOWNTIME`, Update: `ALLOW_DOWNTIME`}, "agent_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAgentConfigRepresentation}, - "availability_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAvailabilityConfigRepresentation}, + "availability_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceBasicAvailabilityConfigRepresentation}, "create_vnic_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceCreateVnicDetailsRepresentation}, "dedicated_vm_host_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_dedicated_vm_host.test_dedicated_vm_host.id}`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -126,7 +126,7 @@ var ( "ipxe_script": acctest.Representation{RepType: acctest.Optional, Create: `ipxeScript`}, "is_pv_encryption_in_transit_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, "launch_options": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchOptionsRepresentation}, - "launch_volume_attachments": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchWithExistingVolumeAttachmentsRepresentation}, + "launch_volume_attachments": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchWithExistingVolumeAttachmentsIscsiRepresentation}, "metadata": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"user_data": "abcd"}, Update: map[string]string{"user_data": "abcd", "volatile_data": "stringE"}}, "shape_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceShapeConfigRepresentation}, "source_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceSourceDetailsRepresentation}, @@ -140,7 +140,7 @@ var ( "shape": acctest.Representation{RepType: acctest.Required, Create: `VM.Standard2.1`}, "update_operation_constraint": acctest.Representation{RepType: acctest.Optional, Create: `ALLOW_DOWNTIME`, Update: `ALLOW_DOWNTIME`}, "agent_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAgentConfigRepresentation}, - "availability_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAvailabilityConfigRepresentation}, + "availability_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceBasicAvailabilityConfigRepresentation}, "create_vnic_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceCreateVnicDetailsRepresentation}, "dedicated_vm_host_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_dedicated_vm_host.test_dedicated_vm_host.id}`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -161,7 +161,7 @@ var ( "ipxe_script": acctest.Representation{RepType: acctest.Optional, Create: `ipxeScript`}, "is_pv_encryption_in_transit_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, "launch_options": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchOptionsRepresentation}, - "launch_volume_attachments": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchWithCreateVolumeAttachmentsRepresentation}, + "launch_volume_attachments": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchWithCreateVolumeAttachmentsIscsiRepresentation}, "metadata": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"user_data": "abcd"}, Update: map[string]string{"user_data": "abcd", "volatile_data": "stringE"}}, "shape_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceShapeConfigRepresentation}, "source_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceSourceDetailsRepresentation}, @@ -210,6 +210,10 @@ var ( "is_monitoring_disabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `false`}, "plugins_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceAgentConfigPluginsConfigRepresentation}, } + CoreInstanceBasicAvailabilityConfigRepresentation = map[string]interface{}{ + "is_live_migration_preferred": acctest.Representation{RepType: acctest.Optional, Create: `false`}, + "recovery_action": acctest.Representation{RepType: acctest.Optional, Create: `RESTORE_INSTANCE`}, + } CoreInstanceAvailabilityConfigRepresentation = map[string]interface{}{ "is_live_migration_preferred": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, "recovery_action": acctest.Representation{RepType: acctest.Optional, Create: `RESTORE_INSTANCE`, Update: `STOP_INSTANCE`}, @@ -260,9 +264,8 @@ var ( "network_type": acctest.Representation{RepType: acctest.Optional, Create: `PARAVIRTUALIZED`}, "remote_data_volume_type": acctest.Representation{RepType: acctest.Optional, Create: `PARAVIRTUALIZED`}, } - CoreInstanceLaunchWithExistingVolumeAttachmentsRepresentation = map[string]interface{}{ + CoreInstanceLaunchWithExistingVolumeAttachmentsIscsiRepresentation = map[string]interface{}{ "type": acctest.Representation{RepType: acctest.Required, Create: `iscsi`}, - "device": acctest.Representation{RepType: acctest.Optional, Create: `device`}, "display_name": acctest.Representation{RepType: acctest.Optional, Create: `displayName`}, "encryption_in_transit_type": acctest.Representation{RepType: acctest.Optional, Create: `NONE`}, "is_agent_auto_iscsi_login_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, @@ -271,9 +274,18 @@ var ( "use_chap": acctest.Representation{RepType: acctest.Optional, Create: `false`}, "volume_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_volume.test_volume.id}`}, } - CoreInstanceLaunchWithCreateVolumeAttachmentsRepresentation = map[string]interface{}{ + CoreInstanceLaunchWithCreateVolumeAttachmentsPvRepresentation = map[string]interface{}{ + "type": acctest.Representation{RepType: acctest.Required, Create: `paravirtualized`}, + "display_name": acctest.Representation{RepType: acctest.Optional, Create: `displayName`}, + "launch_create_volume_details": acctest.RepresentationGroup{RepType: acctest.Optional, + Group: CoreInstanceLaunchVolumeAttachmentsLaunchCreateVolumeDetailsRepresentation}, + "use_chap": acctest.Representation{RepType: acctest.Optional, Create: `true`}, + "is_read_only": acctest.Representation{RepType: acctest.Optional, Create: `true`}, + "is_shareable": acctest.Representation{RepType: acctest.Optional, Create: `true`}, + "is_pv_encryption_in_transit_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, + } + CoreInstanceLaunchWithCreateVolumeAttachmentsIscsiRepresentation = map[string]interface{}{ "type": acctest.Representation{RepType: acctest.Required, Create: `iscsi`}, - "device": acctest.Representation{RepType: acctest.Optional, Create: `device`}, "display_name": acctest.Representation{RepType: acctest.Optional, Create: `displayName`}, "encryption_in_transit_type": acctest.Representation{RepType: acctest.Optional, Create: `NONE`}, "is_agent_auto_iscsi_login_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, @@ -865,6 +877,7 @@ func TestCoreInstanceResource_basic(t *testing.T) { config := ` provider oci { + alias = "basic-instance-launch-update" test_time_maintenance_reboot_due = "2030-01-01 00:00:00" } ` + acctest.CommonTestVariables() @@ -983,7 +996,6 @@ func TestCoreInstanceResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "launch_options.0.network_type", "PARAVIRTUALIZED"), resource.TestCheckResourceAttr(resourceName, "launch_options.0.remote_data_volume_type", "PARAVIRTUALIZED"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.#", "1"), - resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.device", "device"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.display_name", "displayName"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.encryption_in_transit_type", "NONE"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.is_agent_auto_iscsi_login_enabled", "false"), @@ -1029,7 +1041,7 @@ func TestCoreInstanceResource_basic(t *testing.T) { acctest.RepresentationCopyWithNewProperties(CoreInstanceAttachExistingVolumesOnLaunchRepresentation, map[string]interface{}{ "launch_volume_attachments": acctest.RepresentationGroup{RepType: acctest.Optional, - Group: CoreInstanceLaunchWithExistingVolumeAttachmentsRepresentation}, + Group: CoreInstanceLaunchWithExistingVolumeAttachmentsIscsiRepresentation}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.display_name", "displayName"), @@ -1049,7 +1061,7 @@ func TestCoreInstanceResource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + managementEndpointStr + CoreInstanceResourceDependencies, }, - // verify Create with optionals - Create and attach volumes on instance launch + // verify Create with optionals - Create and attach volumes on instance launch (Iscsi) { Config: config + compartmentIdVariableStr + managementEndpointStr + CoreInstanceResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_instance", "test_instance", @@ -1099,7 +1111,6 @@ func TestCoreInstanceResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "launch_options.0.remote_data_volume_type", "PARAVIRTUALIZED"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.#", "1"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.type", "iscsi"), - resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.device", "device"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.display_name", "displayName"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.encryption_in_transit_type", "NONE"), resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.is_agent_auto_iscsi_login_enabled", "false"), @@ -1151,7 +1162,7 @@ func TestCoreInstanceResource_basic(t *testing.T) { acctest.RepresentationCopyWithNewProperties(CoreInstanceCreateAndAttachVolumesOnLaunchRepresentation, map[string]interface{}{ "launch_volume_attachments": acctest.RepresentationGroup{RepType: acctest.Optional, - Group: CoreInstanceLaunchWithCreateVolumeAttachmentsRepresentation}, + Group: CoreInstanceLaunchWithCreateVolumeAttachmentsIscsiRepresentation}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.display_name", "displayName"), @@ -1171,6 +1182,101 @@ func TestCoreInstanceResource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + managementEndpointStr + CoreInstanceResourceDependencies, }, + // verify Create with optionals - Create and attach volumes on instance launch (PV) + { + Config: config + compartmentIdVariableStr + managementEndpointStr + CoreInstanceResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_core_instance", "test_instance", + acctest.Optional, acctest.Create, acctest.GetUpdatedRepresentationCopy("launch_volume_attachments", + acctest.RepresentationGroup{RepType: acctest.Optional, Group: CoreInstanceLaunchWithCreateVolumeAttachmentsPvRepresentation}, + CoreInstanceCreateAndAttachVolumesOnLaunchRepresentation)), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "agent_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "agent_config.0.are_all_plugins_disabled", "false"), + resource.TestCheckResourceAttr(resourceName, "agent_config.0.is_management_disabled", "false"), + resource.TestCheckResourceAttr(resourceName, "agent_config.0.is_monitoring_disabled", "false"), + resource.TestCheckResourceAttr(resourceName, "agent_config.0.plugins_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "agent_config.0.plugins_config.0.desired_state", "ENABLED"), + resource.TestCheckResourceAttr(resourceName, "agent_config.0.plugins_config.0.name", "Compute Instance Monitoring"), + resource.TestCheckResourceAttr(resourceName, "availability_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "availability_config.0.is_live_migration_preferred", "false"), + resource.TestCheckResourceAttr(resourceName, "availability_config.0.recovery_action", "RESTORE_INSTANCE"), + resource.TestCheckResourceAttrSet(resourceName, "availability_domain"), + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.assign_ipv6ip", "false"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.assign_public_ip", "true"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.display_name", "displayName"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.freeform_tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.hostname_label", "hostnamelabel"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.nsg_ids.#", "1"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.private_ip", "10.0.0.5"), + resource.TestCheckResourceAttr(resourceName, "create_vnic_details.0.skip_source_dest_check", "false"), + resource.TestCheckResourceAttrSet(resourceName, "create_vnic_details.0.subnet_id"), + resource.TestCheckResourceAttrSet(resourceName, "dedicated_vm_host_id"), + resource.TestCheckResourceAttr(resourceName, "display_name", "displayName"), + resource.TestCheckResourceAttr(resourceName, "extended_metadata.%", "2"), + resource.TestCheckResourceAttr(resourceName, "fault_domain", "FAULT-DOMAIN-3"), + resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "hostname_label", "hostnamelabel"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttr(resourceName, "instance_options.#", "1"), + resource.TestCheckResourceAttr(resourceName, "instance_options.0.are_legacy_imds_endpoints_disabled", "false"), + resource.TestCheckResourceAttrSet(resourceName, "image"), + resource.TestCheckResourceAttr(resourceName, "ipxe_script", "ipxeScript"), + resource.TestCheckResourceAttr(resourceName, "is_pv_encryption_in_transit_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "launch_options.#", "1"), + resource.TestCheckResourceAttr(resourceName, "launch_options.0.boot_volume_type", "ISCSI"), + resource.TestCheckResourceAttr(resourceName, "launch_options.0.firmware", "UEFI_64"), + resource.TestCheckResourceAttr(resourceName, "launch_options.0.is_consistent_volume_naming_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "launch_options.0.is_pv_encryption_in_transit_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "launch_options.0.network_type", "PARAVIRTUALIZED"), + resource.TestCheckResourceAttr(resourceName, "launch_options.0.remote_data_volume_type", "PARAVIRTUALIZED"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.#", "1"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.type", "paravirtualized"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.display_name", "displayName"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.is_read_only", "true"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.is_shareable", "true"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.use_chap", "true"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.launch_create_volume_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.launch_create_volume_details.0.volume_creation_type", "ATTRIBUTES"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.launch_create_volume_details.0.compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.launch_create_volume_details.0.display_name", "displayName"), + resource.TestCheckResourceAttrSet(resourceName, "launch_volume_attachments.0.launch_create_volume_details.0.kms_key_id"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.launch_create_volume_details.0.size_in_gbs", "50"), + resource.TestCheckResourceAttr(resourceName, "launch_volume_attachments.0.launch_create_volume_details.0.vpus_per_gb", "50"), + resource.TestCheckResourceAttr(resourceName, "metadata.%", "1"), + resource.TestCheckResourceAttrSet(resourceName, "region"), + resource.TestCheckResourceAttr(resourceName, "shape", "VM.Standard2.1"), + resource.TestCheckResourceAttr(resourceName, "shape_config.#", "1"), + resource.TestCheckResourceAttr(resourceName, "shape_config.0.ocpus", "1"), + resource.TestCheckResourceAttr(resourceName, "shape_config.0.vcpus", "2"), + resource.TestCheckResourceAttr(resourceName, "source_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "source_details.0.boot_volume_vpus_per_gb", "10"), + resource.TestCheckResourceAttrSet(resourceName, "source_details.0.source_id"), + resource.TestCheckResourceAttr(resourceName, "source_details.0.source_type", "image"), + resource.TestCheckResourceAttr(resourceName, "source_details.0.boot_volume_size_in_gbs", "60"), + resource.TestCheckResourceAttr(resourceName, "state", "STOPPED"), + resource.TestCheckResourceAttrSet(resourceName, "subnet_id"), + resource.TestCheckResourceAttrSet(resourceName, "time_created"), + resource.TestCheckResourceAttr(resourceName, "preserve_data_volumes_created_at_launch", "false"), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment { + if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil { + return errExport + } + } + return err + }, + ), + }, + + // delete before next Create + { + Config: config + compartmentIdVariableStr + managementEndpointStr + CoreInstanceResourceDependencies, + }, + // verify Create with is_pv_encryption_in_transit_enabled = true { Config: config + compartmentIdVariableStr + managementEndpointStr + CoreInstanceResourceDependencies + InstanceWithPVEncryptionInTransitEnabled, @@ -1355,8 +1461,8 @@ func TestCoreInstanceResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "agent_config.0.plugins_config.0.desired_state", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "agent_config.0.plugins_config.0.name", "Compute Instance Monitoring"), resource.TestCheckResourceAttr(resourceName, "availability_config.#", "1"), - resource.TestCheckResourceAttr(resourceName, "availability_config.0.is_live_migration_preferred", "true"), - resource.TestCheckResourceAttr(resourceName, "availability_config.0.recovery_action", "STOP_INSTANCE"), + resource.TestCheckResourceAttr(resourceName, "availability_config.0.is_live_migration_preferred", "false"), + resource.TestCheckResourceAttr(resourceName, "availability_config.0.recovery_action", "RESTORE_INSTANCE"), resource.TestCheckResourceAttrSet(resourceName, "availability_domain"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(resourceName, "create_vnic_details.#", "1"), @@ -1434,8 +1540,8 @@ func TestCoreInstanceResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "instances.0.agent_config.0.plugins_config.0.desired_state", "ENABLED"), resource.TestCheckResourceAttr(datasourceName, "instances.0.agent_config.0.plugins_config.0.name", "Compute Instance Monitoring"), resource.TestCheckResourceAttr(datasourceName, "instances.0.availability_config.#", "1"), - resource.TestCheckResourceAttr(datasourceName, "instances.0.availability_config.0.is_live_migration_preferred", "true"), - resource.TestCheckResourceAttr(datasourceName, "instances.0.availability_config.0.recovery_action", "STOP_INSTANCE"), + resource.TestCheckResourceAttr(datasourceName, "instances.0.availability_config.0.is_live_migration_preferred", "false"), + resource.TestCheckResourceAttr(datasourceName, "instances.0.availability_config.0.recovery_action", "RESTORE_INSTANCE"), resource.TestCheckResourceAttrSet(datasourceName, "instances.0.availability_domain"), resource.TestCheckResourceAttr(datasourceName, "instances.0.compartment_id", compartmentId), resource.TestCheckResourceAttrSet(datasourceName, "instances.0.dedicated_vm_host_id"), @@ -1497,8 +1603,8 @@ func TestCoreInstanceResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "agent_config.0.plugins_config.0.desired_state", "ENABLED"), resource.TestCheckResourceAttr(singularDatasourceName, "agent_config.0.plugins_config.0.name", "Compute Instance Monitoring"), resource.TestCheckResourceAttr(singularDatasourceName, "availability_config.#", "1"), - resource.TestCheckResourceAttr(singularDatasourceName, "availability_config.0.is_live_migration_preferred", "true"), - resource.TestCheckResourceAttr(singularDatasourceName, "availability_config.0.recovery_action", "STOP_INSTANCE"), + resource.TestCheckResourceAttr(singularDatasourceName, "availability_config.0.is_live_migration_preferred", "false"), + resource.TestCheckResourceAttr(singularDatasourceName, "availability_config.0.recovery_action", "RESTORE_INSTANCE"), resource.TestCheckResourceAttrSet(singularDatasourceName, "availability_domain"), resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "displayName2"), diff --git a/internal/integrationtest/core_vcn_test.go b/internal/integrationtest/core_vcn_test.go index 0f28d1b62f4..76a1e036797 100644 --- a/internal/integrationtest/core_vcn_test.go +++ b/internal/integrationtest/core_vcn_test.go @@ -45,13 +45,14 @@ var ( } CoreVcnRepresentation = map[string]interface{}{ - "cidr_block": acctest.Representation{RepType: acctest.Required, Create: `10.0.0.0/16`}, - "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, - "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, - "display_name": acctest.Representation{RepType: acctest.Optional, Create: `displayName`, Update: `displayName2`}, - "dns_label": acctest.Representation{RepType: acctest.Optional, Create: `dnslabel`}, - "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, - "lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: ignoreDefinedTagsChangesRep}, + "cidr_block": acctest.Representation{RepType: acctest.Required, Create: `10.0.0.0/16`}, + "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, + "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, + "display_name": acctest.Representation{RepType: acctest.Optional, Create: `displayName`, Update: `displayName2`}, + "dns_label": acctest.Representation{RepType: acctest.Optional, Create: `dnslabel`}, + "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, + "lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: ignoreDefinedTagsChangesRep}, + "security_attributes": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.value": "somevalue", "vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.mode": "enforce"}, Update: map[string]string{"vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.value": "updatedValue", "vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.mode": "enforce"}}, } CoreVcnRequiredOnlyResourceDependencies = `` @@ -106,8 +107,8 @@ func TestCoreVcnResource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + VcnResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Create, acctest.RepresentationCopyWithNewProperties(acctest.RepresentationCopyWithRemovedProperties(CoreVcnRepresentation, []string{"cidr_blocks"}), map[string]interface{}{ - "is_ipv6enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`}, - })), + "is_ipv6enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`}, + "is_oracle_gua_allocation_enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`}})), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "cidr_block", "10.0.0.0/16"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), @@ -115,6 +116,9 @@ func TestCoreVcnResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "dns_label", "dnslabel"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "ipv6cidr_blocks.#", "1"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.value", "somevalue"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.mode", "enforce"), + resource.TestCheckResourceAttr(resourceName, "is_oracle_gua_allocation_enabled", "true"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttrSet(resourceName, "state"), @@ -132,7 +136,7 @@ func TestCoreVcnResource_basic(t *testing.T) { { Config: config + compartmentIdVariableStr + VcnResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ - "ipv6private_cidr_blocks": acctest.Representation{RepType: acctest.Required, Create: []string{`2000:1000::/52`}}, + "ipv6private_cidr_blocks": acctest.Representation{RepType: acctest.Required, Update: []string{`2000:1000::/52`}}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "cidr_block", "10.0.0.0/16"), @@ -141,6 +145,10 @@ func TestCoreVcnResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "dns_label", "dnslabel"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "ipv6cidr_blocks.#", "1"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.value", "updatedValue"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.mode", "enforce"), + resource.TestCheckResourceAttr(resourceName, "is_oracle_gua_allocation_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "ipv6private_cidr_blocks.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttrSet(resourceName, "state"), @@ -170,6 +178,8 @@ func TestCoreVcnResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "dns_label", "dnslabel"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "ipv6cidr_blocks.#", "1"), + resource.TestCheckResourceAttr(resourceName, "is_oracle_gua_allocation_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.%", "2"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttrSet(resourceName, "state"), @@ -186,9 +196,7 @@ func TestCoreVcnResource_basic(t *testing.T) { // verify updates to updatable parameters { Config: config + compartmentIdVariableStr + VcnResourceDependencies + - acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ - "is_ipv6enabled": acctest.Representation{RepType: acctest.Optional, Update: `true`}, - })), + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, CoreVcnRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "cidr_block", "10.0.0.0/16"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), @@ -196,6 +204,10 @@ func TestCoreVcnResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "dns_label", "dnslabel"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "ipv6cidr_blocks.#", "1"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.value", "updatedValue"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.mode", "enforce"), + resource.TestCheckResourceAttr(resourceName, "is_oracle_gua_allocation_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "is_ipv6enabled", "true"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttrSet(resourceName, "state"), @@ -213,9 +225,7 @@ func TestCoreVcnResource_basic(t *testing.T) { Config: config + acctest.GenerateDataSourceFromRepresentationMap("oci_core_vcns", "test_vcns", acctest.Optional, acctest.Update, CoreCoreVcnDataSourceRepresentation) + compartmentIdVariableStr + VcnResourceDependencies + - acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ - "is_ipv6enabled": acctest.Representation{RepType: acctest.Optional, Update: `true`}, - })), + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, CoreVcnRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(datasourceName, "display_name", "displayName2"), @@ -231,6 +241,7 @@ func TestCoreVcnResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "virtual_networks.0.dns_label", "dnslabel"), resource.TestCheckResourceAttr(datasourceName, "virtual_networks.0.freeform_tags.%", "1"), resource.TestCheckResourceAttr(datasourceName, "virtual_networks.0.ipv6cidr_blocks.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "virtual_networks.0.security_attributes.%", "2"), resource.TestCheckResourceAttrSet(datasourceName, "virtual_networks.0.id"), resource.TestCheckResourceAttrSet(datasourceName, "virtual_networks.0.state"), resource.TestCheckResourceAttrSet(datasourceName, "virtual_networks.0.time_created"), @@ -242,9 +253,7 @@ func TestCoreVcnResource_basic(t *testing.T) { Config: config + acctest.GenerateDataSourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Required, acctest.Create, CoreCoreVcnSingularDataSourceRepresentation) + compartmentIdVariableStr + VcnResourceDependencies + - acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ - "is_ipv6enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`}, - })), + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Update, CoreVcnRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttrSet(singularDatasourceName, "vcn_id"), @@ -257,6 +266,8 @@ func TestCoreVcnResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "dns_label", "dnslabel"), resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(singularDatasourceName, "ipv6cidr_blocks.#", "1"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.value", "updatedValue"), + resource.TestCheckResourceAttr(resourceName, "security_attributes.vcncp-canary-test-security-attribute-namespace-56.vcncp-canary-test-security-attribute-57.mode", "enforce"), resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), resource.TestCheckResourceAttrSet(singularDatasourceName, "state"), resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"), @@ -270,6 +281,7 @@ func TestCoreVcnResource_basic(t *testing.T) { ImportStateVerify: true, ImportStateVerifyIgnore: []string{ "is_ipv6enabled", + "is_oracle_gua_allocation_enabled", }, ResourceName: resourceName, }, diff --git a/internal/integrationtest/core_vnic_attachment_resource_test.go b/internal/integrationtest/core_vnic_attachment_resource_test.go index 580e7b20a8e..3094b31d006 100644 --- a/internal/integrationtest/core_vnic_attachment_resource_test.go +++ b/internal/integrationtest/core_vnic_attachment_resource_test.go @@ -130,6 +130,7 @@ func (s *ResourceCoreVnicAttachmentTestSuite) TestAccResourceCoreVnicAttachment_ defined_tags = "${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}" freeform_tags = { "Department" = "Finance" } nsg_ids = ["${oci_core_network_security_group.test_network_security_group1.id}", "${oci_core_network_security_group.test_network_security_group2.id}"] + security_attributes = {"security-attribute-test-1.security-attribute.value" = "somevalue", "security-attribute-test-1.security-attribute.mode" = "enforce"} } } data "oci_core_vnic" "v" { @@ -153,6 +154,7 @@ func (s *ResourceCoreVnicAttachmentTestSuite) TestAccResourceCoreVnicAttachment_ resource.TestCheckResourceAttr(s.ResourceName, "create_vnic_details.0.display_name", "-tf-vnic-2"), resource.TestCheckResourceAttr(s.ResourceName, "create_vnic_details.0.nsg_ids.#", "2"), resource.TestCheckResourceAttrSet(s.VnicResourceName, "private_ip_address"), + resource.TestCheckResourceAttr(s.VnicResourceName, "security_attributes.%", "2"), // @SDK 1/2018: Since we don't assign a public IP to this vnic, we will get a response from server // without a public_ip_address. Old SDK would have set it to empty, but new SDK will set it to nil. // Commenting out until we have a better way of handling this. diff --git a/internal/integrationtest/database_autonomous_database_software_image_test.go b/internal/integrationtest/database_autonomous_database_software_image_test.go index 5261caacea7..7d8912bb73c 100644 --- a/internal/integrationtest/database_autonomous_database_software_image_test.go +++ b/internal/integrationtest/database_autonomous_database_software_image_test.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. // Licensed under the Mozilla Public License v2.0 package integrationtest @@ -25,6 +25,8 @@ import ( ) var ( + randString = utils.RandomString(10, utils.CharsetWithoutDigits) + randString2 = utils.RandomString(10, utils.CharsetWithoutDigits) ExaccDatabaseAutonomousDatabaseSoftwareImageRequiredOnlyResource = ExaccDatabaseAutonomousDatabaseSoftwareImageResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Required, acctest.Create, ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation) @@ -48,7 +50,7 @@ var ( DatabaseAutonomousDatabaseSoftwareImageDataSourceRepresentation = map[string]interface{}{ "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, "image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXADATA_SHAPE`}, - "display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1`}, + "display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1` + randString}, "state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`}, "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: DatabaseAutonomousDatabaseSoftwareImageDataSourceFilterRepresentation}} @@ -60,7 +62,7 @@ var ( ExaccDatabaseAutonomousDatabaseSoftwareImageDataSourceRepresentation = map[string]interface{}{ "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, "image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXACC_SHAPE`}, - "display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1`}, + "display_name": acctest.Representation{RepType: acctest.Optional, Create: `image1` + randString}, "state": acctest.Representation{RepType: acctest.Optional, Create: `AVAILABLE`}, "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: ExaccDatabaseAutonomousDatabaseSoftwareImageDataSourceFilterRepresentation}} @@ -71,7 +73,7 @@ var ( DatabaseAutonomousDatabaseSoftwareImageRepresentation = map[string]interface{}{ "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, - "display_name": acctest.Representation{RepType: acctest.Required, Create: `image1`}, + "display_name": acctest.Representation{RepType: acctest.Required, Create: `image1` + randString}, "image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXADATA_SHAPE`}, "source_cdb_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_container_database.test_autonomous_container_database.id}`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -80,7 +82,7 @@ var ( ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation = map[string]interface{}{ "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, - "display_name": acctest.Representation{RepType: acctest.Required, Create: `image1`}, + "display_name": acctest.Representation{RepType: acctest.Required, Create: `image1` + randString}, "image_shape_family": acctest.Representation{RepType: acctest.Required, Create: `EXACC_SHAPE`}, "source_cdb_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_autonomous_container_database.test_autonomous_container_database.id}`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -125,7 +127,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Required, acctest.Create, ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"), resource.TestCheckResourceAttrSet(resourceName, "source_cdb_id"), @@ -147,7 +149,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(resourceName, "database_version"), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"), @@ -178,7 +180,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU), resource.TestCheckResourceAttrSet(resourceName, "database_version"), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"), @@ -204,7 +206,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(resourceName, "database_version"), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXACC_SHAPE"), @@ -230,7 +232,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Optional, acctest.Update, ExaccDatabaseAutonomousDatabaseSoftwareImageRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId), - resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(datasourceName, "image_shape_family", "EXACC_SHAPE"), resource.TestCheckResourceAttr(datasourceName, "state", "AVAILABLE"), @@ -249,7 +251,7 @@ func TestDatabaseExaccAutonomousDatabaseSoftwareImageResource_basic(t *testing.T resource.TestCheckResourceAttr(singularDatasourceName, "autonomous_dsi_one_off_patches.#", "0"), resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(singularDatasourceName, "database_version"), - resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), resource.TestCheckResourceAttr(singularDatasourceName, "image_shape_family", "EXACC_SHAPE"), @@ -299,7 +301,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) { acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Required, acctest.Create, DatabaseAutonomousDatabaseSoftwareImageRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"), resource.TestCheckResourceAttrSet(resourceName, "source_cdb_id"), @@ -321,7 +323,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(resourceName, "database_version"), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"), @@ -352,7 +354,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU), resource.TestCheckResourceAttrSet(resourceName, "database_version"), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"), @@ -378,7 +380,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(resourceName, "database_version"), - resource.TestCheckResourceAttr(resourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(resourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), resource.TestCheckResourceAttr(resourceName, "image_shape_family", "EXADATA_SHAPE"), @@ -404,7 +406,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) { acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_database_software_image", "test_autonomous_database_software_image", acctest.Optional, acctest.Update, DatabaseAutonomousDatabaseSoftwareImageRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId), - resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(datasourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(datasourceName, "image_shape_family", "EXADATA_SHAPE"), resource.TestCheckResourceAttr(datasourceName, "state", "AVAILABLE"), @@ -423,7 +425,7 @@ func TestDatabaseAutonomousDatabaseSoftwareImageResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "autonomous_dsi_one_off_patches.#", "0"), resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(singularDatasourceName, "database_version"), - resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"), + resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "image1"+randString), resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), resource.TestCheckResourceAttr(singularDatasourceName, "image_shape_family", "EXADATA_SHAPE"), diff --git a/internal/integrationtest/database_autonomous_vm_cluster_test.go b/internal/integrationtest/database_autonomous_vm_cluster_test.go index 5ae8210806e..f68a55101ff 100644 --- a/internal/integrationtest/database_autonomous_vm_cluster_test.go +++ b/internal/integrationtest/database_autonomous_vm_cluster_test.go @@ -168,7 +168,11 @@ func TestDatabaseAutonomousVmClusterResource_basic(t *testing.T) { // verify Create { Config: config + compartmentIdVariableStr + DatabaseAutonomousVmClusterResourceDependencies + - acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, DatabaseAutonomousVmClusterRepresentation), + acctest.GenerateResourceFromRepresentationMap("oci_database_autonomous_vm_cluster", "test_autonomous_vm_cluster", acctest.Required, acctest.Create, acctest.RepresentationCopyWithNewProperties(DatabaseAutonomousVmClusterRepresentation, map[string]interface{}{ + "compute_model": acctest.Representation{RepType: acctest.Required, Create: `ECPU`}, + "memory_per_oracle_compute_unit_in_gbs": acctest.Representation{RepType: acctest.Required, Create: "4"}, + "cpu_core_count_per_node": acctest.Representation{RepType: acctest.Required, Create: `20`}, + })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(resourceName, "display_name", "autonomousVmCluster"), diff --git a/internal/integrationtest/database_cloud_vm_cluster_test.go b/internal/integrationtest/database_cloud_vm_cluster_test.go index cd4a082ceb4..99722d1c253 100644 --- a/internal/integrationtest/database_cloud_vm_cluster_test.go +++ b/internal/integrationtest/database_cloud_vm_cluster_test.go @@ -51,6 +51,7 @@ var ( } DatabaseCloudVmClusterRepresentation = map[string]interface{}{ + "depends_on": []string{"time_sleep.wait_180_seconds"}, "file_system_configuration_details": []acctest.RepresentationGroup{ {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation0}, {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation1}, @@ -58,7 +59,9 @@ var ( {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation3}, {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation4}, {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation5}, - {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation6}}, + {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation6}, + {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation7}, + {RepType: acctest.Optional, Group: DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation8}}, "backup_subnet_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_subnet.t2.id}`}, "cloud_exadata_infrastructure_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_cloud_exadata_infrastructure.test_cloud_exadata_infrastructure.id}`}, "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, @@ -71,6 +74,7 @@ var ( "domain": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_subnet.t.subnet_domain_name}`}, "backup_network_nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${oci_core_network_security_group.test_network_security_group_backup.id}`}}, "cluster_name": acctest.Representation{RepType: acctest.Optional, Create: `clusterName`}, + "cloud_automation_update_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseCloudVmClusterCloudAutomationUpdateDetailsRepresentation}, "data_collection_options": acctest.RepresentationGroup{RepType: acctest.Optional, Group: cloudVmClusterDataCollectionOptionsRepresentation}, "data_storage_percentage": acctest.Representation{RepType: acctest.Optional, Create: `40`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -100,6 +104,7 @@ var ( "domain": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_subnet.test_subnet1.subnet_domain_name}`}, "backup_network_nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${oci_core_network_security_group.test_network_security_group_backup.id}`}}, "cluster_name": acctest.Representation{RepType: acctest.Optional, Create: `clusterName`}, + "cloud_automation_update_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseCloudVmClusterCloudAutomationUpdateDetailsRepresentation}, "data_collection_options": acctest.RepresentationGroup{RepType: acctest.Optional, Group: cloudVmClusterDataCollectionOptionsRepresentation}, "data_storage_percentage": acctest.Representation{RepType: acctest.Optional, Create: `40`}, "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, @@ -113,11 +118,28 @@ var ( "time_zone": acctest.Representation{RepType: acctest.Optional, Create: `US/Pacific`}, "lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: cloudVmClusterIgnoreDefinedTagsRepresentation}, } + + DatabaseCloudVmClusterCloudAutomationUpdateDetailsRepresentation = map[string]interface{}{ + "apply_update_time_preference": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseCloudVmClusterCloudAutomationUpdateDetailsApplyUpdateTimePreferenceRepresentation}, + "freeze_period": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseCloudVmClusterCloudAutomationUpdateDetailsFreezePeriodRepresentation}, + "is_early_adoption_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, + "is_freeze_period_enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`, Update: `true`}, + } + cloudVmClusterDataCollectionOptionsRepresentation = map[string]interface{}{ "is_diagnostics_events_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, "is_health_monitoring_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, "is_incident_logs_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, } + DatabaseCloudVmClusterCloudAutomationUpdateDetailsApplyUpdateTimePreferenceRepresentation = map[string]interface{}{ + "apply_update_preferred_end_time": acctest.Representation{RepType: acctest.Optional, Create: `06:00`, Update: `08:00`}, + "apply_update_preferred_start_time": acctest.Representation{RepType: acctest.Optional, Create: `00:00`, Update: `02:00`}, + } + DatabaseCloudVmClusterCloudAutomationUpdateDetailsFreezePeriodRepresentation = map[string]interface{}{ + "freeze_period_end_time": acctest.Representation{RepType: acctest.Optional, Create: `2026-02-15`, Update: `2026-03-15`}, + "freeze_period_start_time": acctest.Representation{RepType: acctest.Optional, Create: `2026-02-13`, Update: `2026-03-13`}, + } + DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation0 = map[string]interface{}{ "file_system_size_gb": acctest.Representation{RepType: acctest.Optional, Create: `15`, Update: `20`}, "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `/`, Update: `/`}, @@ -153,6 +175,16 @@ var ( "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `/var/log/audit`}, } + DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation7 = map[string]interface{}{ + "file_system_size_gb": acctest.Representation{RepType: acctest.Optional, Create: `9`}, + "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `reserved`}, + } + + DatabaseCloudVmClusterFileSystemConfigurationDetailsRepresentation8 = map[string]interface{}{ + "file_system_size_gb": acctest.Representation{RepType: acctest.Optional, Create: `16`}, + "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `swap`}, + } + zoneRepresentation = map[string]interface{}{ "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, "name": acctest.Representation{RepType: acctest.Required, Create: `sicdbaas.exacs.zonetest`}, @@ -317,7 +349,16 @@ var ( acctest.GenerateResourceFromRepresentationMap("oci_dns_view", "test_view", acctest.Optional, acctest.Create, ViewRepresentation) + acctest.GenerateDataSourceFromRepresentationMap("oci_core_vcn_dns_resolver_association", "test_vcn_dns_resolver_association", acctest.Optional, acctest.Create, CoreCoreVcnDnsResolverAssociationRepresentation) - DatabaseDatabaseCloudVmClusterResourceDependencies = DatabaseCloudVmClusterResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_dns_resolver", "test_resolver", acctest.Optional, acctest.Create, ResolverRepresentation) + DatabaseDatabaseCloudVmClusterResourceDependencies = DatabaseCloudVmClusterResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_dns_resolver", "test_resolver", acctest.Optional, acctest.Create, ResolverRepresentation) + Sleep180 + + Sleep180 = "resource \"time_sleep\" \"wait_180_seconds\" {\n depends_on = [oci_dns_resolver.test_resolver] \n create_duration = \"180s\"\n}" + + ` + terraform { + required_providers { + time = "0.5.0" + } + } + ` CloudVmClusterResourceUpdateDependencies = ad_subnet_security + acctest.GenerateResourceFromRepresentationMap("oci_database_cloud_exadata_infrastructure", "test_cloud_exadata_infrastructure", acctest.Required, acctest.Update, acctest.RepresentationCopyWithNewProperties(acctest.RepresentationCopyWithRemovedProperties(DatabaseCloudExadataInfrastructureRepresentation, []string{"compute_count"}), map[string]interface{}{ @@ -402,6 +443,15 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { }, resource.TestCheckResourceAttrSet(resourceName, "availability_domain"), resource.TestCheckResourceAttrSet(resourceName, "backup_subnet_id"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "06:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "00:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-02-15"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"), resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), @@ -413,7 +463,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"), resource.TestCheckResourceAttr(resourceName, "display_name", "cloudVmCluster"), resource.TestCheckResourceAttrSet(resourceName, "domain"), - resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.file_system_size_gb", "15"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.mount_point", "/"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -458,6 +508,15 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttrSet(resourceName, "availability_domain"), resource.TestCheckResourceAttrSet(resourceName, "backup_subnet_id"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "06:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "00:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-02-15"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"), resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU), @@ -469,7 +528,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"), resource.TestCheckResourceAttr(resourceName, "display_name", "cloudVmCluster"), resource.TestCheckResourceAttrSet(resourceName, "domain"), - resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.file_system_size_gb", "15"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.mount_point", "/"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -510,6 +569,15 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttrSet(resourceName, "availability_domain"), resource.TestCheckResourceAttrSet(resourceName, "backup_subnet_id"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "08:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "02:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-03-15"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-03-13"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttrSet(resourceName, "cloud_exadata_infrastructure_id"), resource.TestCheckResourceAttr(resourceName, "cluster_name", "clusterName"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), @@ -521,7 +589,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "data_storage_percentage", "40"), resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"), resource.TestCheckResourceAttrSet(resourceName, "domain"), - resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.file_system_size_gb", "20"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.mount_point", "/"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -572,6 +640,15 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.#", "1"), resource.TestCheckResourceAttrSet(datasourceName, "cloud_vm_clusters.0.availability_domain"), resource.TestCheckResourceAttrSet(datasourceName, "cloud_vm_clusters.0.backup_subnet_id"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "08:00"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "02:00"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-03-15"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-03-13"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.is_early_adoption_enabled", "true"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttrSet(datasourceName, "cloud_vm_clusters.0.cloud_exadata_infrastructure_id"), resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.cluster_name", "clusterName"), resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.compartment_id", compartmentId), @@ -583,7 +660,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.data_storage_percentage", "40"), resource.TestCheckResourceAttrSet(datasourceName, "cloud_vm_clusters.0.disk_redundancy"), resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.display_name", "displayName2"), - resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.file_system_configuration_details.0.file_system_size_gb", "20"), resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.file_system_configuration_details.0.mount_point", "/"), resource.TestCheckResourceAttr(datasourceName, "cloud_vm_clusters.0.domain", "sicdbaas.exacs.zonetest"), @@ -623,6 +700,15 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttrSet(singularDatasourceName, "cloud_vm_cluster_id"), resource.TestCheckResourceAttrSet(singularDatasourceName, "availability_domain"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "08:00"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "02:00"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-03-15"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-03-13"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "true"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttr(singularDatasourceName, "cluster_name", "clusterName"), resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(singularDatasourceName, "data_collection_options.#", "1"), @@ -633,7 +719,7 @@ func TestDatabaseCloudVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "data_storage_percentage", "40"), resource.TestCheckResourceAttrSet(singularDatasourceName, "disk_redundancy"), resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "displayName2"), - resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.0.file_system_size_gb", "20"), resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.0.mount_point", "/"), resource.TestCheckResourceAttr(singularDatasourceName, "domain", "sicdbaas.exacs.zonetest"), diff --git a/internal/integrationtest/database_exadata_infrastructure_test.go b/internal/integrationtest/database_exadata_infrastructure_test.go index cf301dc7cf8..b1fd5282322 100644 --- a/internal/integrationtest/database_exadata_infrastructure_test.go +++ b/internal/integrationtest/database_exadata_infrastructure_test.go @@ -435,7 +435,7 @@ func TestDatabaseExadataInfrastructureResource_basic(t *testing.T) { resource.TestCheckResourceAttrSet(datasourceName, "exadata_infrastructures.0.data_storage_size_in_tbs"), resource.TestCheckResourceAttrSet(datasourceName, "exadata_infrastructures.0.db_node_storage_size_in_gbs"), resource.TestCheckResourceAttr(datasourceName, "exadata_infrastructures.0.defined_tags.%", "1"), - resource.TestCheckResourceAttr(datasourceName, "exadata_infrastructures.0.defined_file_system_configurations.#", "7"), + resource.TestCheckResourceAttr(datasourceName, "exadata_infrastructures.0.defined_file_system_configurations.#", "9"), resource.TestCheckResourceAttr(datasourceName, "exadata_infrastructures.0.display_name", "tstExaInfra"), resource.TestCheckResourceAttr(datasourceName, "exadata_infrastructures.0.dns_server.#", "2"), @@ -506,7 +506,7 @@ func TestDatabaseExadataInfrastructureResource_basic(t *testing.T) { resource.TestCheckResourceAttrSet(singularDatasourceName, "data_storage_size_in_tbs"), resource.TestCheckResourceAttrSet(singularDatasourceName, "db_node_storage_size_in_gbs"), resource.TestCheckResourceAttr(singularDatasourceName, "defined_tags.%", "1"), - resource.TestCheckResourceAttr(singularDatasourceName, "defined_file_system_configurations.#", "7"), + resource.TestCheckResourceAttr(singularDatasourceName, "defined_file_system_configurations.#", "9"), resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "tstExaInfra"), resource.TestCheckResourceAttr(singularDatasourceName, "dns_server.#", "2"), diff --git a/internal/integrationtest/database_vm_cluster_test.go b/internal/integrationtest/database_vm_cluster_test.go index a526e52bf8d..3a18eeaf750 100644 --- a/internal/integrationtest/database_vm_cluster_test.go +++ b/internal/integrationtest/database_vm_cluster_test.go @@ -48,18 +48,19 @@ var ( } DatabaseVmClusterRepresentation = map[string]interface{}{ - "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, - "cpu_core_count": acctest.Representation{RepType: acctest.Required, Create: `4`, Update: `6`}, - "display_name": acctest.Representation{RepType: acctest.Required, Create: `vmCluster`}, - "exadata_infrastructure_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_exadata_infrastructure.test_exadata_infrastructure.id}`}, - "gi_version": acctest.Representation{RepType: acctest.Required, Create: `19.0.0.0.0`}, - "ssh_public_keys": acctest.Representation{RepType: acctest.Required, Create: []string{`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuBJgh6lTmQvQJ4BA3RCJdSmxRtmiXAQEEIP68/G4gF3XuZdKEYTFeputacmRq9yO5ZnNXgO9akdUgePpf8+CfFtveQxmN5xo3HVCDKxu/70lbMgeu7+wJzrMOlzj+a4zNq2j0Ww2VWMsisJ6eV3bJTnO/9VLGCOC8M9noaOlcKcLgIYy4aDM724MxFX2lgn7o6rVADHRxkvLEXPVqYT4syvYw+8OVSnNgE4MJLxaw8/2K0qp19YlQyiriIXfQpci3ThxwLjymYRPj+kjU1xIxv6qbFQzHR7ds0pSWp1U06cIoKPfCazU9hGWW8yIe/vzfTbWrt2DK6pLwBn/G0x3 sample`}}, - "vm_cluster_network_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_vm_cluster_network.test_vm_cluster_network.id}`}, - "data_collection_options": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseVmClusterDataCollectionOptionsRepresentation}, - "data_storage_size_in_tbs": acctest.Representation{RepType: acctest.Optional, Create: `84`, Update: `86`}, - "db_node_storage_size_in_gbs": acctest.Representation{RepType: acctest.Optional, Create: `120`, Update: `160`}, - "db_servers": acctest.Representation{RepType: acctest.Required, Create: []string{`${data.oci_database_db_servers.test_db_servers.db_servers.0.id}`, `${data.oci_database_db_servers.test_db_servers.db_servers.1.id}`}}, - "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, + "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, + "cpu_core_count": acctest.Representation{RepType: acctest.Required, Create: `4`, Update: `6`}, + "display_name": acctest.Representation{RepType: acctest.Required, Create: `vmCluster`}, + "exadata_infrastructure_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_exadata_infrastructure.test_exadata_infrastructure.id}`}, + "gi_version": acctest.Representation{RepType: acctest.Required, Create: `19.0.0.0.0`}, + "ssh_public_keys": acctest.Representation{RepType: acctest.Required, Create: []string{`ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuBJgh6lTmQvQJ4BA3RCJdSmxRtmiXAQEEIP68/G4gF3XuZdKEYTFeputacmRq9yO5ZnNXgO9akdUgePpf8+CfFtveQxmN5xo3HVCDKxu/70lbMgeu7+wJzrMOlzj+a4zNq2j0Ww2VWMsisJ6eV3bJTnO/9VLGCOC8M9noaOlcKcLgIYy4aDM724MxFX2lgn7o6rVADHRxkvLEXPVqYT4syvYw+8OVSnNgE4MJLxaw8/2K0qp19YlQyiriIXfQpci3ThxwLjymYRPj+kjU1xIxv6qbFQzHR7ds0pSWp1U06cIoKPfCazU9hGWW8yIe/vzfTbWrt2DK6pLwBn/G0x3 sample`}}, + "vm_cluster_network_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_database_vm_cluster_network.test_vm_cluster_network.id}`}, + "cloud_automation_update_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseVmClusterCloudAutomationUpdateDetailsRepresentation}, + "data_collection_options": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseVmClusterDataCollectionOptionsRepresentation}, + "data_storage_size_in_tbs": acctest.Representation{RepType: acctest.Optional, Create: `84`, Update: `86`}, + "db_node_storage_size_in_gbs": acctest.Representation{RepType: acctest.Optional, Create: `120`, Update: `160`}, + "db_servers": acctest.Representation{RepType: acctest.Required, Create: []string{`${data.oci_database_db_servers.test_db_servers.db_servers.0.id}`, `${data.oci_database_db_servers.test_db_servers.db_servers.1.id}`}}, + "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, "file_system_configuration_details": []acctest.RepresentationGroup{ {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation}, {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation1}, @@ -67,7 +68,10 @@ var ( {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation3}, {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation4}, {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation5}, - {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation6}}, + {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation6}, + {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation7}, + {RepType: acctest.Optional, Group: DatabaseVmClusterFileSystemConfigurationDetailsRepresentation8}}, + "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, "is_local_backup_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, "is_sparse_diskgroup_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`}, @@ -76,6 +80,12 @@ var ( "memory_size_in_gbs": acctest.Representation{RepType: acctest.Optional, Create: `60`, Update: `90`}, "time_zone": acctest.Representation{RepType: acctest.Optional, Create: `US/Pacific`}, } + DatabaseVmClusterCloudAutomationUpdateDetailsRepresentation = map[string]interface{}{ + "apply_update_time_preference": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseVmClusterCloudAutomationUpdateDetailsApplyUpdateTimePreferenceRepresentation}, + "freeze_period": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DatabaseVmClusterCloudAutomationUpdateDetailsFreezePeriodRepresentation}, + "is_early_adoption_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, + "is_freeze_period_enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`, Update: `true`}, + } vmClusterIgnoreDefinedTagsSystemVersionRepresentation = map[string]interface{}{ "ignore_changes": acctest.Representation{RepType: acctest.Required, Create: []string{`defined_tags`}}, @@ -86,6 +96,14 @@ var ( "is_health_monitoring_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, "is_incident_logs_enabled": acctest.Representation{RepType: acctest.Optional, Create: `false`, Update: `true`}, } + DatabaseVmClusterCloudAutomationUpdateDetailsApplyUpdateTimePreferenceRepresentation = map[string]interface{}{ + "apply_update_preferred_end_time": acctest.Representation{RepType: acctest.Optional, Create: `06:00`, Update: `08:00`}, + "apply_update_preferred_start_time": acctest.Representation{RepType: acctest.Optional, Create: `00:00`, Update: `02:00`}, + } + DatabaseVmClusterCloudAutomationUpdateDetailsFreezePeriodRepresentation = map[string]interface{}{ + "freeze_period_end_time": acctest.Representation{RepType: acctest.Optional, Create: `2026-02-15`, Update: `2026-03-15`}, + "freeze_period_start_time": acctest.Representation{RepType: acctest.Optional, Create: `2026-02-13`, Update: `2026-02-13`}, + } DatabaseVmClusterFileSystemConfigurationDetailsRepresentation = map[string]interface{}{ "file_system_size_gb": acctest.Representation{RepType: acctest.Optional, Create: `250`, Update: `260`}, @@ -122,6 +140,20 @@ var ( "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `/var/log/audit`}, } + DatabaseVmClusterFileSystemConfigurationDetailsRepresentation7 = map[string]interface{}{ + "file_system_size_gb": acctest.Representation{RepType: acctest.Optional, Create: `9`}, + "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `reserved`}, + } + + DatabaseVmClusterFileSystemConfigurationDetailsRepresentation8 = map[string]interface{}{ + "file_system_size_gb": acctest.Representation{RepType: acctest.Optional, Create: `16`}, + "mount_point": acctest.Representation{RepType: acctest.Optional, Create: `swap`}, + } + + //DatabaseVmClusterResourceDependencies = acctest.GenerateResourceFromRepresentationMap("oci_database_exadata_infrastructure", "test_exadata_infrastructure", acctest.Required, acctest.Create, DatabaseExadataInfrastructureRepresentation) + + // acctest.GenerateResourceFromRepresentationMap("oci_database_vm_cluster_network", "test_vm_cluster_network", acctest.Required, acctest.Create, DatabaseVmClusterNetworkRepresentation) + + // DefinedTagsDependencies + DatabaseVmClusterResourceDependencies = VmClusterNetworkValidatedResourceConfig ) @@ -176,6 +208,15 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + DatabaseVmClusterResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_database_vm_cluster", "test_vm_cluster", acctest.Optional, acctest.Create, DatabaseVmClusterRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "06:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "00:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-02-15"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"), resource.TestCheckResourceAttr(resourceName, "data_collection_options.#", "1"), @@ -187,7 +228,7 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "db_servers.#", "2"), resource.TestCheckResourceAttr(resourceName, "display_name", "vmCluster"), resource.TestCheckResourceAttrSet(resourceName, "exadata_infrastructure_id"), - resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.file_system_size_gb", "250"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.mount_point", "/u01"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -220,6 +261,15 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id_for_update}`}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "06:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "00:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-02-15"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "false"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU), resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "4"), resource.TestCheckResourceAttr(resourceName, "data_collection_options.#", "1"), @@ -231,7 +281,7 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "db_servers.#", "2"), resource.TestCheckResourceAttr(resourceName, "display_name", "vmCluster"), resource.TestCheckResourceAttrSet(resourceName, "exadata_infrastructure_id"), - resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.file_system_size_gb", "250"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.mount_point", "/u01"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -259,6 +309,15 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + DatabaseVmClusterResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_database_vm_cluster", "test_vm_cluster", acctest.Optional, acctest.Update, DatabaseVmClusterRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "08:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "02:00"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-03-15"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "true"), + resource.TestCheckResourceAttr(resourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttr(resourceName, "cpu_core_count", "6"), resource.TestCheckResourceAttr(resourceName, "data_collection_options.#", "1"), @@ -270,7 +329,7 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "db_servers.#", "2"), resource.TestCheckResourceAttr(resourceName, "display_name", "vmCluster"), resource.TestCheckResourceAttrSet(resourceName, "exadata_infrastructure_id"), - resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.file_system_size_gb", "260"), resource.TestCheckResourceAttr(resourceName, "file_system_configuration_details.0.mount_point", "/u01"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -306,6 +365,15 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "vm_clusters.#", "1"), resource.TestCheckResourceAttrSet(datasourceName, "vm_clusters.0.availability_domain"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "08:00"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "02:00"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-03-15"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.is_early_adoption_enabled", "true"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.compartment_id", compartmentId), resource.TestCheckResourceAttrSet(datasourceName, "vm_clusters.0.cpus_enabled"), resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.data_collection_options.#", "1"), @@ -317,7 +385,7 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.db_servers.#", "2"), resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.display_name", "vmCluster"), resource.TestCheckResourceAttrSet(datasourceName, "vm_clusters.0.exadata_infrastructure_id"), - resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.file_system_configuration_details.0.file_system_size_gb", "260"), resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.file_system_configuration_details.0.mount_point", "/u01"), resource.TestCheckResourceAttr(datasourceName, "vm_clusters.0.freeform_tags.%", "1"), @@ -345,6 +413,15 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttrSet(singularDatasourceName, "vm_cluster_id"), resource.TestCheckResourceAttrSet(singularDatasourceName, "availability_domain"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.apply_update_time_preference.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_end_time", "08:00"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.apply_update_time_preference.0.apply_update_preferred_start_time", "02:00"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.freeze_period.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_end_time", "2026-03-15"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.freeze_period.0.freeze_period_start_time", "2026-02-13"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.is_early_adoption_enabled", "true"), + resource.TestCheckResourceAttr(singularDatasourceName, "cloud_automation_update_details.0.is_freeze_period_enabled", "true"), resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), resource.TestCheckResourceAttrSet(singularDatasourceName, "cpus_enabled"), resource.TestCheckResourceAttr(singularDatasourceName, "data_collection_options.#", "1"), @@ -355,7 +432,7 @@ func TestDatabaseVmClusterResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "db_node_storage_size_in_gbs", "160"), resource.TestCheckResourceAttr(singularDatasourceName, "db_servers.#", "2"), resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "vmCluster"), - resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.#", "7"), + resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.#", "9"), resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.0.file_system_size_gb", "260"), resource.TestCheckResourceAttr(singularDatasourceName, "file_system_configuration_details.0.mount_point", "/u01"), resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"), diff --git a/internal/integrationtest/desktops_desktop_pool_test.go b/internal/integrationtest/desktops_desktop_pool_test.go index ae56a856b8e..83fe445db92 100644 --- a/internal/integrationtest/desktops_desktop_pool_test.go +++ b/internal/integrationtest/desktops_desktop_pool_test.go @@ -66,6 +66,9 @@ var ( "description": acctest.Representation{RepType: acctest.Optional, Create: `description`, Update: `description2`}, "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, "nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${var.test_nsg_id}`}}, + "shape_config": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DesktopsDesktopPoolShapeConfigRepresentation}, + "use_dedicated_vm_host": acctest.Representation{RepType: acctest.Optional, Create: `${var.test_use_dedicated_vm_host}`}, + "private_access_details": acctest.RepresentationGroup{RepType: acctest.Optional, Group: DesktopsDesktopPoolPrivateAccessDetailsRepresentation}, } DesktopsDesktopPoolAvailabilityPolicyRepresentation = map[string]interface{}{ "start_schedule": acctest.RepresentationGroup{RepType: acctest.Required, Group: DesktopsDesktopPoolAvailabilityPolicyStartScheduleRepresentation}, @@ -88,6 +91,16 @@ var ( "subnet_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_subnet_id}`}, "vcn_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_vcn_id}`}, } + DesktopsDesktopPoolShapeConfigRepresentation = map[string]interface{}{ + "baseline_ocpu_utilization": acctest.Representation{RepType: acctest.Optional, Create: `${var.test_shape_config_baseline_ocpu_utilization}`}, + "memory_in_gbs": acctest.Representation{RepType: acctest.Optional, Create: `${var.test_shape_config_memory_in_gbs}`}, + "ocpus": acctest.Representation{RepType: acctest.Optional, Create: `${var.test_shape_config_ocpus}`}, + } + DesktopsDesktopPoolPrivateAccessDetailsRepresentation = map[string]interface{}{ + "subnet_id": acctest.Representation{RepType: acctest.Required, Create: `${var.test_private_access_subnet_id}`}, + "nsg_ids": acctest.Representation{RepType: acctest.Optional, Create: []string{`${var.test_private_access_nsg_id}`}}, + "private_ip": acctest.Representation{RepType: acctest.Optional, Create: `${var.test_private_access_private_ip}`}, + } DesktopsDesktopPoolAvailabilityPolicyStartScheduleRepresentation = map[string]interface{}{ "cron_expression": acctest.Representation{RepType: acctest.Required, Create: `${var.test_start_schedule_cron_expr_create}`, Update: `${var.test_start_schedule_cron_expr_update}`}, "timezone": acctest.Representation{RepType: acctest.Required, Create: `${var.test_start_schedule_timezone_create}`, Update: `${var.test_start_schedule_timezone_update}`}, @@ -142,6 +155,27 @@ var ( test_nsg_id = utils.GetEnvSettingWithBlankDefault("test_nsg_id") nsgIdVariableStr = fmt.Sprintf("variable \"test_nsg_id\" { default = \"%s\" }\n", test_nsg_id) + test_use_dedicated_vm_host = utils.GetEnvSettingWithBlankDefault("test_use_dedicated_vm_host") + useDedicatedVmHostVariableStr = fmt.Sprintf("variable \"test_use_dedicated_vm_host\" { default = \"%s\" }\n", test_use_dedicated_vm_host) + + test_shape_config_baseline_ocpu_utilization = utils.GetEnvSettingWithBlankDefault("test_shape_config_baseline_ocpu_utilization") + shapeConfigBaselineOcpuUtilizationVariableStr = fmt.Sprintf("variable \"test_shape_config_baseline_ocpu_utilization\" { default = \"%s\" }\n", test_shape_config_baseline_ocpu_utilization) + + test_shape_config_memory_in_gbs = utils.GetEnvSettingWithBlankDefault("test_shape_config_memory_in_gbs") + shapeConfigMemoryInGbsVariableStr = fmt.Sprintf("variable \"test_shape_config_memory_in_gbs\" { default = \"%s\" }\n", test_shape_config_memory_in_gbs) + + test_shape_config_ocpus = utils.GetEnvSettingWithBlankDefault("test_shape_config_ocpus") + shapeConfigOcpusVariableStr = fmt.Sprintf("variable \"test_shape_config_ocpus\" { default = \"%s\" }\n", test_shape_config_ocpus) + + test_private_access_subnet_id = utils.GetEnvSettingWithBlankDefault("test_private_access_subnet_id") + privateAccessSubnetIdVariableStr = fmt.Sprintf("variable \"test_private_access_subnet_id\" { default = \"%s\" }\n", test_private_access_subnet_id) + + test_private_access_nsg_id = utils.GetEnvSettingWithBlankDefault("test_private_access_nsg_id") + privateAccessNsgIdVariableStr = fmt.Sprintf("variable \"test_private_access_nsg_id\" { default = \"%s\" }\n", test_private_access_nsg_id) + + test_private_access_private_ip = utils.GetEnvSettingWithBlankDefault("test_private_access_private_ip") + privateAccessPrivateIpVariableStr = fmt.Sprintf("variable \"test_private_access_private_ip\" { default = \"%s\" }\n", test_private_access_private_ip) + DesktopsDesktopPoolResourceDependencies = vcnIdVariableStr + subnetIdVariableStr + shapeNameVariableStr + @@ -157,6 +191,13 @@ var ( stopScheduleTimezoneCreateVariableStr + stopScheduleTimezoneUpdateVariableStr + nsgIdVariableStr + + useDedicatedVmHostVariableStr + + shapeConfigBaselineOcpuUtilizationVariableStr + + shapeConfigMemoryInGbsVariableStr + + shapeConfigOcpusVariableStr + + privateAccessSubnetIdVariableStr + + privateAccessNsgIdVariableStr + + privateAccessPrivateIpVariableStr + AvailabilityDomainConfig ) @@ -268,12 +309,21 @@ func TestDesktopsDesktopPoolResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "network_configuration.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "network_configuration.0.subnet_id"), resource.TestCheckResourceAttrSet(resourceName, "network_configuration.0.vcn_id"), + resource.TestCheckResourceAttr(resourceName, "shape_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.baseline_ocpu_utilization"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.memory_in_gbs"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.ocpus"), + resource.TestCheckResourceAttr(resourceName, "private_access_details.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.private_ip"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.subnet_id"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.vcn_id"), resource.TestCheckResourceAttrSet(resourceName, "shape_name"), resource.TestCheckResourceAttr(resourceName, "standby_size", "2"), resource.TestCheckResourceAttrSet(resourceName, "state"), resource.TestCheckResourceAttrSet(resourceName, "storage_backup_policy_id"), resource.TestCheckResourceAttr(resourceName, "storage_size_in_gbs", "50"), resource.TestCheckResourceAttrSet(resourceName, "time_created"), + resource.TestCheckResourceAttrSet(resourceName, "use_dedicated_vm_host"), func(s *terraform.State) (err error) { resId, err = acctest.FromInstanceState(s, resourceName, "id") @@ -326,12 +376,21 @@ func TestDesktopsDesktopPoolResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "network_configuration.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "network_configuration.0.subnet_id"), resource.TestCheckResourceAttrSet(resourceName, "network_configuration.0.vcn_id"), + resource.TestCheckResourceAttr(resourceName, "shape_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.baseline_ocpu_utilization"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.memory_in_gbs"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.ocpus"), + resource.TestCheckResourceAttr(resourceName, "private_access_details.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.private_ip"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.subnet_id"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.vcn_id"), resource.TestCheckResourceAttrSet(resourceName, "shape_name"), resource.TestCheckResourceAttr(resourceName, "standby_size", "2"), resource.TestCheckResourceAttrSet(resourceName, "state"), resource.TestCheckResourceAttrSet(resourceName, "storage_backup_policy_id"), resource.TestCheckResourceAttr(resourceName, "storage_size_in_gbs", "50"), resource.TestCheckResourceAttrSet(resourceName, "time_created"), + resource.TestCheckResourceAttrSet(resourceName, "use_dedicated_vm_host"), func(s *terraform.State) (err error) { resId2, err = acctest.FromInstanceState(s, resourceName, "id") @@ -379,12 +438,21 @@ func TestDesktopsDesktopPoolResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "network_configuration.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "network_configuration.0.subnet_id"), resource.TestCheckResourceAttrSet(resourceName, "network_configuration.0.vcn_id"), + resource.TestCheckResourceAttr(resourceName, "shape_config.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.baseline_ocpu_utilization"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.memory_in_gbs"), + resource.TestCheckResourceAttrSet(resourceName, "shape_config.0.ocpus"), + resource.TestCheckResourceAttr(resourceName, "private_access_details.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.private_ip"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.subnet_id"), + resource.TestCheckResourceAttrSet(resourceName, "private_access_details.0.vcn_id"), resource.TestCheckResourceAttrSet(resourceName, "shape_name"), resource.TestCheckResourceAttr(resourceName, "standby_size", "3"), resource.TestCheckResourceAttrSet(resourceName, "state"), resource.TestCheckResourceAttrSet(resourceName, "storage_backup_policy_id"), resource.TestCheckResourceAttr(resourceName, "storage_size_in_gbs", "50"), resource.TestCheckResourceAttrSet(resourceName, "time_created"), + resource.TestCheckResourceAttrSet(resourceName, "use_dedicated_vm_host"), func(s *terraform.State) (err error) { resId2, err = acctest.FromInstanceState(s, resourceName, "id") @@ -455,11 +523,20 @@ func TestDesktopsDesktopPoolResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "is_storage_enabled", "true"), resource.TestCheckResourceAttr(singularDatasourceName, "maximum_size", "11"), resource.TestCheckResourceAttr(singularDatasourceName, "network_configuration.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "private_access_details.#", "1"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "private_access_details.0.endpoint_fqdn"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "private_access_details.0.private_ip"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "private_access_details.0.vcn_id"), + resource.TestCheckResourceAttr(singularDatasourceName, "shape_config.#", "1"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "shape_config.0.baseline_ocpu_utilization"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "shape_config.0.memory_in_gbs"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "shape_config.0.ocpus"), resource.TestCheckResourceAttrSet(singularDatasourceName, "shape_name"), resource.TestCheckResourceAttr(singularDatasourceName, "standby_size", "3"), resource.TestCheckResourceAttrSet(singularDatasourceName, "state"), resource.TestCheckResourceAttr(singularDatasourceName, "storage_size_in_gbs", "50"), resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "use_dedicated_vm_host"), ), }, // verify resource import diff --git a/internal/integrationtest/fusion_apps_fusion_environment_admin_user_test.go b/internal/integrationtest/fusion_apps_fusion_environment_admin_user_test.go index 1ec21002557..ebd374e85a6 100644 --- a/internal/integrationtest/fusion_apps_fusion_environment_admin_user_test.go +++ b/internal/integrationtest/fusion_apps_fusion_environment_admin_user_test.go @@ -6,6 +6,7 @@ package integrationtest import ( "context" "fmt" + "strconv" "testing" @@ -28,11 +29,11 @@ var ( acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Optional, acctest.Update, FusionAppsFusionEnvironmentAdminUserRepresentation) FusionAppsFusionAppsFusionEnvironmentAdminUserSingularDataSourceRepresentation = map[string]interface{}{ - "fusion_environment_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_fusion_apps_fusion_environment.test_fusion_environment.id}`}, + "fusion_environment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.environment_id}`}, } FusionAppsFusionAppsFusionEnvironmentAdminUserDataSourceRepresentation = map[string]interface{}{ - "fusion_environment_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_fusion_apps_fusion_environment.test_fusion_environment.id}`}, + "fusion_environment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.environment_id}`}, "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: FusionAppsFusionEnvironmentAdminUserDataSourceFilterRepresentation}} FusionAppsFusionEnvironmentAdminUserDataSourceFilterRepresentation = map[string]interface{}{ "name": acctest.Representation{RepType: acctest.Required, Create: `id`}, @@ -40,16 +41,17 @@ var ( } FusionAppsFusionEnvironmentAdminUserRepresentation = map[string]interface{}{ - "email_address": acctest.Representation{RepType: acctest.Required, Create: `JohnSmith@example.com`}, - "first_name": acctest.Representation{RepType: acctest.Required, Create: `firstName`}, - "fusion_environment_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_fusion_apps_fusion_environment.test_fusion_environment.id}`}, - "last_name": acctest.Representation{RepType: acctest.Required, Create: `lastName`}, - "password": acctest.Representation{RepType: acctest.Required, Create: `BEstrO0ng_#11`}, + "email_address": acctest.Representation{RepType: acctest.Required, Create: `JohnSmithnew@example.com`}, + "first_name": acctest.Representation{RepType: acctest.Required, Create: `firstNamenew`}, + "fusion_environment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.environment_id}`}, + "last_name": acctest.Representation{RepType: acctest.Required, Create: `lastNamenew`}, + "password": acctest.Representation{RepType: acctest.Optional, Create: `BEstrO0ng_#11`}, "username": acctest.Representation{RepType: acctest.Required, Create: `terraformTest`}, } - FusionAppsFusionEnvironmentAdminUserResourceDependencies = acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_family", "test_fusion_environment_family", acctest.Required, acctest.Create, FusionAppsFusionEnvironmentFamilyRepresentation) + - acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment", "test_fusion_environment", acctest.Required, acctest.Create, FusionAppsFusionEnvironmentRepresentation) + //FusionAppsFusionEnvironmentAdminUserResourceDependencies = acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_family", "test_fusion_environment_family", acctest.Required, acctest.Create, FusionAppsFusionEnvironmentFamilyRepresentation) + + // acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment", "test_fusion_environment", acctest.Required, acctest.Create, FusionAppsFusionEnvironmentRepresentation) + FusionAppsFusionEnvironmentAdminUserResourceDependencies = "" ) // issue-routing-tag: fusion_apps/default @@ -62,25 +64,46 @@ func TestFusionAppsFusionEnvironmentAdminUserResource_basic(t *testing.T) { compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + fusionEnvironmentId := utils.GetEnvSettingWithBlankDefault("environment_ocid") + fusionEnvIdVariableStr := fmt.Sprintf("variable \"environment_id\" { default = \"%s\" }\n", fusionEnvironmentId) + resourceName := "oci_fusion_apps_fusion_environment_admin_user.test_fusion_environment_admin_user" datasourceName := "data.oci_fusion_apps_fusion_environment_admin_users.test_fusion_environment_admin_users" singularDatasourceName := "data.oci_fusion_apps_fusion_environment_admin_user.test_fusion_environment_admin_user" var resId string - // Save TF content to Create resource with only required properties. This has to be exactly the same as the config part in the create step in the test. - acctest.SaveConfigContent(config+compartmentIdVariableStr+FusionAppsFusionEnvironmentAdminUserResourceDependencies+ - acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Required, acctest.Create, FusionAppsFusionEnvironmentAdminUserRepresentation), "fusionapps", "fusionEnvironmentAdminUser", t) + // Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "create with optionals" step in the test. + acctest.SaveConfigContent(config+compartmentIdVariableStr+fusionEnvIdVariableStr+FusionAppsFusionEnvironmentAdminUserResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Optional, acctest.Create, FusionAppsFusionEnvironmentAdminUserRepresentation), "fusionapps", "fusionEnvironmentAdminUser", t) acctest.ResourceTest(t, testAccCheckFusionAppsFusionEnvironmentAdminUserDestroy, []resource.TestStep{ // verify Create { - Config: config + compartmentIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceDependencies + + Config: config + compartmentIdVariableStr + fusionEnvIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Required, acctest.Create, FusionAppsFusionEnvironmentAdminUserRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttr(resourceName, "email_address", "JohnSmith@example.com"), - resource.TestCheckResourceAttr(resourceName, "first_name", "firstName"), + resource.TestCheckResourceAttr(resourceName, "email_address", "JohnSmithnew@example.com"), + resource.TestCheckResourceAttr(resourceName, "first_name", "firstNamenew"), + resource.TestCheckResourceAttrSet(resourceName, "fusion_environment_id"), + resource.TestCheckResourceAttr(resourceName, "last_name", "lastNamenew"), + resource.TestCheckResourceAttr(resourceName, "username", "terraformTest"), + ), + }, + + // delete before next Create + { + Config: config + compartmentIdVariableStr + fusionEnvIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceDependencies, + }, + // verify Create with optionals + { + Config: config + compartmentIdVariableStr + fusionEnvIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Optional, acctest.Create, FusionAppsFusionEnvironmentAdminUserRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "email_address", "JohnSmithnew@example.com"), + resource.TestCheckResourceAttr(resourceName, "first_name", "firstNamenew"), resource.TestCheckResourceAttrSet(resourceName, "fusion_environment_id"), - resource.TestCheckResourceAttr(resourceName, "last_name", "lastName"), + resource.TestCheckResourceAttr(resourceName, "items.#", "2"), + resource.TestCheckResourceAttr(resourceName, "last_name", "lastNamenew"), resource.TestCheckResourceAttr(resourceName, "password", "BEstrO0ng_#11"), resource.TestCheckResourceAttr(resourceName, "username", "terraformTest"), @@ -100,7 +123,7 @@ func TestFusionAppsFusionEnvironmentAdminUserResource_basic(t *testing.T) { { Config: config + acctest.GenerateDataSourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_users", "test_fusion_environment_admin_users", acctest.Optional, acctest.Update, FusionAppsFusionAppsFusionEnvironmentAdminUserDataSourceRepresentation) + - compartmentIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceDependencies + + compartmentIdVariableStr + fusionEnvIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Optional, acctest.Update, FusionAppsFusionEnvironmentAdminUserRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttrSet(datasourceName, "fusion_environment_id"), @@ -113,10 +136,9 @@ func TestFusionAppsFusionEnvironmentAdminUserResource_basic(t *testing.T) { { Config: config + acctest.GenerateDataSourceFromRepresentationMap("oci_fusion_apps_fusion_environment_admin_user", "test_fusion_environment_admin_user", acctest.Required, acctest.Create, FusionAppsFusionAppsFusionEnvironmentAdminUserSingularDataSourceRepresentation) + - compartmentIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceConfig, + compartmentIdVariableStr + fusionEnvIdVariableStr + FusionAppsFusionEnvironmentAdminUserResourceConfig, Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttrSet(singularDatasourceName, "fusion_environment_id"), - resource.TestCheckResourceAttr(singularDatasourceName, "items.#", "2"), ), }, diff --git a/internal/integrationtest/fusion_apps_fusion_environment_test.go b/internal/integrationtest/fusion_apps_fusion_environment_test.go index 8f01a741492..3fe02fb5d08 100644 --- a/internal/integrationtest/fusion_apps_fusion_environment_test.go +++ b/internal/integrationtest/fusion_apps_fusion_environment_test.go @@ -106,8 +106,8 @@ var ( "email_address": acctest.Representation{RepType: acctest.Required, Create: `JohnSmith@example.com`}, "first_name": acctest.Representation{RepType: acctest.Required, Create: `firstName`}, "last_name": acctest.Representation{RepType: acctest.Required, Create: `lastName`}, - "password": acctest.Representation{RepType: acctest.Required, Create: `BEstrO0ng_#11`}, - "username": acctest.Representation{RepType: acctest.Required, Create: `username_test`}, + "username": acctest.Representation{RepType: acctest.Required, Create: `terraformTestCreate`}, + "password": acctest.Representation{RepType: acctest.Optional, Create: `BEstrO0ng_#11`}, } FusionAppsFusionEnvironmentMaintenancePolicyRepresentation = map[string]interface{}{ "environment_maintenance_override": acctest.Representation{RepType: acctest.Optional, Create: `PROD`, Update: `NON_PROD`}, @@ -194,7 +194,7 @@ func TestFusionAppsFusionEnvironmentResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.first_name", "firstName"), resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.last_name", "lastName"), resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.password", "BEstrO0ng_#11"), - resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.username", "username_test"), + resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.username", "terraformTestCreate"), resource.TestCheckResourceAttr(resourceName, "display_name", "displayName"), resource.TestCheckResourceAttr(resourceName, "dns_prefix", "dnsPrefix"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -240,7 +240,7 @@ func TestFusionAppsFusionEnvironmentResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.first_name", "firstName"), resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.last_name", "lastName"), resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.password", "BEstrO0ng_#11"), - resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.username", "username_test"), + resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.username", "terraformTestCreate"), resource.TestCheckResourceAttr(resourceName, "display_name", "displayName"), resource.TestCheckResourceAttr(resourceName, "dns_prefix", "dnsPrefix"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), @@ -280,8 +280,8 @@ func TestFusionAppsFusionEnvironmentResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.email_address", "JohnSmith@example.com"), resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.first_name", "firstName"), resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.last_name", "lastName"), - resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.password", "BEstrO0ng_#11"), - resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.username", "username_test"), + //resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.password", "BEstrO0ng_#11"), + resource.TestCheckResourceAttr(resourceName, "create_fusion_environment_admin_user_details.0.username", "terraformTestCreate"), resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"), resource.TestCheckResourceAttr(resourceName, "dns_prefix", "dnsPrefix"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), diff --git a/internal/integrationtest/load_balancer_listener_tcp_test.go b/internal/integrationtest/load_balancer_listener_tcp_test.go index 48826dd6859..721709b64a3 100644 --- a/internal/integrationtest/load_balancer_listener_tcp_test.go +++ b/internal/integrationtest/load_balancer_listener_tcp_test.go @@ -30,6 +30,7 @@ var ( listenerTcpConnectionConfigurationRepresentation = map[string]interface{}{ "idle_timeout_in_seconds": acctest.Representation{RepType: acctest.Required, Create: `10`, Update: `11`}, "backend_tcp_proxy_protocol_version": acctest.Representation{RepType: acctest.Optional, Create: `1`, Update: `2`}, + "backend_tcp_proxy_protocol_options": acctest.Representation{RepType: acctest.Optional, Update: []string{`PP2_TYPE_AUTHORITY`}}, } ) @@ -60,6 +61,7 @@ func TestLoadBalancerListenerTcpResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "connection_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.backend_tcp_proxy_protocol_version", "1"), + resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.backend_tcp_proxy_protocol_options.#", "0"), resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.idle_timeout_in_seconds", "10"), resource.TestCheckResourceAttrSet(resourceName, "load_balancer_id"), resource.TestCheckResourceAttr(resourceName, "name", "mylistener"), @@ -76,6 +78,8 @@ func TestLoadBalancerListenerTcpResource_basic(t *testing.T) { Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttr(resourceName, "connection_configuration.#", "1"), resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.backend_tcp_proxy_protocol_version", "2"), + resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.backend_tcp_proxy_protocol_options.#", "1"), + resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.backend_tcp_proxy_protocol_options.0", "PP2_TYPE_AUTHORITY"), resource.TestCheckResourceAttr(resourceName, "connection_configuration.0.idle_timeout_in_seconds", "11"), resource.TestCheckResourceAttrSet(resourceName, "load_balancer_id"), resource.TestCheckResourceAttr(resourceName, "name", "mylistener"), diff --git a/internal/integrationtest/opsi_autonomous_database_insight_resource_test.go b/internal/integrationtest/opsi_autonomous_database_insight_resource_test.go new file mode 100644 index 00000000000..fdaa46dbaf3 --- /dev/null +++ b/internal/integrationtest/opsi_autonomous_database_insight_resource_test.go @@ -0,0 +1,96 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package integrationtest + +import ( + "fmt" + "testing" + + "github.com/oracle/terraform-provider-oci/internal/acctest" + "github.com/oracle/terraform-provider-oci/internal/utils" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + + "github.com/oracle/terraform-provider-oci/httpreplay" +) + +var ( + autonomousDatabaseInsightRequiredRepresentation = map[string]interface{}{ + "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, + "database_id": acctest.Representation{RepType: acctest.Required, Create: `${var.autonomous_database_id}`}, + "database_resource_type": acctest.Representation{RepType: acctest.Required, Create: `autonomousdatabase`}, + "is_advanced_features_enabled": acctest.Representation{RepType: acctest.Required, Create: `true`}, + "credential_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousDatabaseInsightCredentialDetailsRepresentation}, + "connection_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousDatabaseInsightConnectionDetailsRepresentation}, + "status": acctest.Representation{RepType: acctest.Required, Create: `DISABLED`}, + "entity_source": acctest.Representation{RepType: acctest.Required, Create: `AUTONOMOUS_DATABASE`, Update: `AUTONOMOUS_DATABASE`}, + //"defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`}, + //"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"bar-key": "value"}}, + "lifecycle": acctest.RepresentationGroup{RepType: acctest.Optional, Group: ignoreChangesADIRepresentation}, + } +) + +// issue-routing-tag: opsi/controlPlane +func TestOpsiAutonomousResourceDatabaseInsight(t *testing.T) { + httpreplay.SetScenario("TestOpsiAutonomousResourceDatabaseInsight") + defer httpreplay.SaveScenario() + + config := acctest.ProviderTestConfig() + + compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") + compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + + autonomousDatabaseId := utils.GetEnvSettingWithBlankDefault("autonomous_database_id") + autonomousDatabaseIdVariableStr := fmt.Sprintf("variable \"autonomous_database_id\" { default = \"%s\" }\n", autonomousDatabaseId) + + adbHostName := utils.GetEnvSettingWithBlankDefault("adb_host") + adbHostNameVariableStr := fmt.Sprintf("variable \"adb_host\" { default = \"%s\" }\n", adbHostName) + + adbPort := utils.GetEnvSettingWithBlankDefault("adb_port") + adbPortVariableStr := fmt.Sprintf("variable \"adb_port\" { default = \"%s\" }\n", adbPort) + + serviceName := utils.GetEnvSettingWithBlankDefault("service_name") + serviceNameVariableStr := fmt.Sprintf("variable \"service_name\" { default = \"%s\" }\n", serviceName) + + /*secretId := utils.GetEnvSettingWithBlankDefault("secret_id") + secretIdVariableStr := fmt.Sprintf("variable \"secret_id\" { default = \"%s\" }\n", secretId) + + userName := utils.GetEnvSettingWithBlankDefault("user_name") + userNamedVariableStr := fmt.Sprintf("variable \"user_name\" { default = \"%s\" }\n", userName)*/ + + resourceName := "oci_opsi_database_insight.test_database_insight" + + // Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "Create with optionals" step in the test. + acctest.SaveConfigContent(config+compartmentIdVariableStr+autonomousDatabaseIdVariableStr+adbHostNameVariableStr+adbPortVariableStr+serviceNameVariableStr+AutonomousDatabaseInsightResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Required, acctest.Create, autonomousDatabaseInsightRequiredRepresentation), "opsi", "databaseInsight", t) + + acctest.ResourceTest(t, testAccCheckOpsiDatabaseInsightDestroy, []resource.TestStep{ + // verify Create with Required + { + Config: config + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Required, acctest.Create, autonomousDatabaseInsightRequiredRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "status", "DISABLED"), + + func(s *terraform.State) (err error) { + _, err = acctest.FromInstanceState(s, resourceName, "id") + return err + }, + ), + }, + // verify resource import + { + Config: config + AutonomousDatabaseInsightRequiredOnlyResource, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "entity_source", + "is_advanced_features_enable", + }, + ResourceName: resourceName, + }, + }) +} diff --git a/internal/integrationtest/opsi_autonomous_database_insight_test.go b/internal/integrationtest/opsi_autonomous_database_insight_test.go new file mode 100644 index 00000000000..9227fd9113c --- /dev/null +++ b/internal/integrationtest/opsi_autonomous_database_insight_test.go @@ -0,0 +1,434 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package integrationtest + +import ( + "context" + "fmt" + "strconv" + "testing" + "time" + + "github.com/oracle/terraform-provider-oci/internal/acctest" + tf_client "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/resourcediscovery" + "github.com/oracle/terraform-provider-oci/internal/tfresource" + "github.com/oracle/terraform-provider-oci/internal/utils" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + + "github.com/oracle/oci-go-sdk/v65/common" + oci_opsi "github.com/oracle/oci-go-sdk/v65/opsi" + + "github.com/oracle/terraform-provider-oci/httpreplay" +) + +var ( + AutonomousDatabaseInsightRequiredOnlyResource = AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Required, acctest.Create, autonomousDatabaseInsightRepresentation) + + AutonomousDatabaseInsightResourceConfig = AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Update, autonomousDatabaseInsightRepresentation) + + autonomousDatabaseInsightSingularDataSourceRepresentation = map[string]interface{}{ + "database_insight_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_opsi_database_insight.test_database_insight.id}`}, + } + + autonomousDatabaseInsightDataSourceRepresentation = map[string]interface{}{ + "compartment_id": acctest.Representation{RepType: acctest.Optional, Create: `${var.compartment_id}`}, + "compartment_id_in_subtree": acctest.Representation{RepType: acctest.Optional, Create: `false`}, + "database_type": acctest.Representation{RepType: acctest.Optional, Create: []string{`ADW-S`}}, + "fields": acctest.Representation{RepType: acctest.Optional, Create: []string{`databaseName`, `databaseType`, `compartmentId`, `databaseDisplayName`, `freeformTags`, `definedTags`}}, + "id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_opsi_database_insight.test_database_insight.id}`}, + "state": acctest.Representation{RepType: acctest.Optional, Create: []string{`ACTIVE`}}, + "status": acctest.Representation{RepType: acctest.Optional, Create: []string{`ENABLED`}, Update: []string{`DISABLED`}}, + "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousDatabaseInsightDataSourceFilterRepresentation}, + } + + autonomousDatabaseInsightDataSourceFilterRepresentation = map[string]interface{}{ + "name": acctest.Representation{RepType: acctest.Required, Create: `id`}, + "values": acctest.Representation{RepType: acctest.Required, Create: []string{`${oci_opsi_database_insight.test_database_insight.id}`}}, + } + + autonomousDatabaseInsightRepresentation = map[string]interface{}{ + "database_id": acctest.Representation{RepType: acctest.Required, Create: `${var.autonomous_database_id}`}, + "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, + "entity_source": acctest.Representation{RepType: acctest.Required, Create: `AUTONOMOUS_DATABASE`, Update: `AUTONOMOUS_DATABASE`}, + "is_advanced_features_enabled": acctest.Representation{RepType: acctest.Required, Create: `true`}, + "database_resource_type": acctest.Representation{RepType: acctest.Required, Create: `autonomousdatabase`}, + "credential_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousDatabaseInsightCredentialDetailsRepresentation}, + "connection_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousDatabaseInsightConnectionDetailsRepresentation}, + "status": acctest.Representation{RepType: acctest.Optional, Create: `ENABLED`, Update: `DISABLED`}, + "defined_tags": acctest.Representation{RepType: acctest.Optional, Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`}, + //"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"bar-key": "value"}, Update: map[string]string{"Department": "Accounting"}}, + "lifecycle": acctest.RepresentationGroup{RepType: acctest.Required, Group: ignoreChangesAutonomousDatabaseInsightRepresentation}, + } + + autonomousDatabaseInsightCredentialDetailsRepresentation = map[string]interface{}{ + "credential_type": acctest.Representation{RepType: acctest.Required, Create: `CREDENTIALS_BY_IAM`}, + } + + autonomousDatabaseInsightCredentialDetailsForUpdateRepresentation = map[string]interface{}{ + "credential_type": acctest.Representation{RepType: acctest.Required, Update: `CREDENTIALS_BY_VAULT`}, + "password_secret_id": acctest.Representation{RepType: acctest.Required, Update: `${var.secret_id}`}, + "role": acctest.Representation{RepType: acctest.Optional, Update: `NORMAL`}, + "user_name": acctest.Representation{RepType: acctest.Required, Update: `${var.user_name}`}, + } + + autonomousDatabaseInsightConnectionDetailsRepresentation = map[string]interface{}{ + "host_name": acctest.Representation{RepType: acctest.Required, Create: `${var.adb_host}`}, + "port": acctest.Representation{RepType: acctest.Required, Create: `${var.adb_port}`}, + "protocol": acctest.Representation{RepType: acctest.Required, Create: `TCPS`}, + "service_name": acctest.Representation{RepType: acctest.Required, Create: `${var.service_name}`}, + } + + ignoreChangesAutonomousDatabaseInsightRepresentation = map[string]interface{}{ + "ignore_changes": acctest.Representation{RepType: acctest.Required, Create: []string{`defined_tags`}}, + } + + AutonomousDatabaseInsightResourceDependencies = DefinedTagsDependencies +) + +// issue-routing-tag: opsi/controlPlane +func TestOpsiAutonomousDatabaseInsightResource_basic(t *testing.T) { + httpreplay.SetScenario("TestOpsiAutonomousDatabaseInsightResource_basic") + defer httpreplay.SaveScenario() + + config := acctest.ProviderTestConfig() + + compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") + compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + + autonomousDatabaseId := utils.GetEnvSettingWithBlankDefault("autonomous_database_id") + autonomousDatabaseIdVariableStr := fmt.Sprintf("variable \"autonomous_database_id\" { default = \"%s\" }\n", autonomousDatabaseId) + + adbHostName := utils.GetEnvSettingWithBlankDefault("adb_host") + adbHostNameVariableStr := fmt.Sprintf("variable \"adb_host\" { default = \"%s\" }\n", adbHostName) + + adbPort := utils.GetEnvSettingWithBlankDefault("adb_port") + adbPortVariableStr := fmt.Sprintf("variable \"adb_port\" { default = \"%s\" }\n", adbPort) + + serviceName := utils.GetEnvSettingWithBlankDefault("service_name") + serviceNameVariableStr := fmt.Sprintf("variable \"service_name\" { default = \"%s\" }\n", serviceName) + + secretId := utils.GetEnvSettingWithBlankDefault("secret_id") + secretIdVariableStr := fmt.Sprintf("variable \"secret_id\" { default = \"%s\" }\n", secretId) + + userName := utils.GetEnvSettingWithBlankDefault("user_name") + userNamedVariableStr := fmt.Sprintf("variable \"user_name\" { default = \"%s\" }\n", userName) + + resourceName := "oci_opsi_database_insight.test_database_insight" + datasourceName := "data.oci_opsi_database_insights.test_database_insights" + singularDatasourceName := "data.oci_opsi_database_insight.test_database_insight" + + var resId, resId2 string + // Save TF content to create resource with optional properties. This has to be exactly the same as the config part in the "create with optionals" step in the test. + acctest.SaveConfigContent(config+compartmentIdVariableStr+autonomousDatabaseIdVariableStr+adbHostNameVariableStr+adbPortVariableStr+serviceNameVariableStr+AutonomousDatabaseInsightResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Create, autonomousDatabaseInsightRepresentation), "opsi", "databaseInsight", t) + + acctest.ResourceTest(t, testAccCheckOpsiAutonomousDatabaseInsightDestroy, []resource.TestStep{ + // verify create with optional opsiPrivateEndpointId + { + Config: config + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Create, autonomousDatabaseInsightRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "credential_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "credential_details.0.credential_type", "CREDENTIALS_BY_IAM"), + resource.TestCheckResourceAttr(resourceName, "connection_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.host_name", adbHostName), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.port", adbPort), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.service_name", serviceName), + resource.TestCheckResourceAttrSet(resourceName, "database_id"), + resource.TestCheckResourceAttrSet(resourceName, "database_name"), + resource.TestCheckResourceAttr(resourceName, "database_resource_type", "autonomousdatabase"), + resource.TestCheckResourceAttr(resourceName, "entity_source", "AUTONOMOUS_DATABASE"), + resource.TestCheckResourceAttr(resourceName, "is_advanced_features_enabled", "true"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttrSet(resourceName, "state"), + resource.TestCheckResourceAttrSet(resourceName, "status"), + resource.TestCheckResourceAttrSet(resourceName, "time_created"), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment { + if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil { + return errExport + } + } + return err + }, + ), + }, + // verify update to the credential by vault + { + Config: config + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + secretIdVariableStr + userNamedVariableStr + AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Update, + acctest.RepresentationCopyWithNewProperties(autonomousDatabaseInsightRepresentation, map[string]interface{}{ + "credential_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: autonomousDatabaseInsightCredentialDetailsForUpdateRepresentation}, + })), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "credential_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "credential_details.0.credential_type", "CREDENTIALS_BY_VAULT"), + resource.TestCheckResourceAttr(resourceName, "credential_details.0.password_secret_id", secretId), + resource.TestCheckResourceAttr(resourceName, "credential_details.0.role", "NORMAL"), + resource.TestCheckResourceAttrSet(resourceName, "credential_details.0.user_name"), + resource.TestCheckResourceAttr(resourceName, "connection_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.host_name", adbHostName), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.port", adbPort), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.service_name", serviceName), + resource.TestCheckResourceAttrSet(resourceName, "database_id"), + resource.TestCheckResourceAttrSet(resourceName, "database_name"), + resource.TestCheckResourceAttr(resourceName, "database_resource_type", "autonomousdatabase"), + resource.TestCheckResourceAttr(resourceName, "entity_source", "AUTONOMOUS_DATABASE"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttrSet(resourceName, "state"), + resource.TestCheckResourceAttrSet(resourceName, "status"), + resource.TestCheckResourceAttrSet(resourceName, "time_created"), + + func(s *terraform.State) (err error) { + resId2, err = acctest.FromInstanceState(s, resourceName, "id") + if resId != resId2 { + return fmt.Errorf("resource recreated when it was supposed to be updated") + } + return err + }, + ), + }, + + // verify updates to updatable parameters + { + Config: config + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Update, autonomousDatabaseInsightRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "credential_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "credential_details.0.credential_type", "CREDENTIALS_BY_IAM"), + resource.TestCheckResourceAttr(resourceName, "connection_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.host_name", adbHostName), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.port", adbPort), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.service_name", serviceName), + resource.TestCheckResourceAttrSet(resourceName, "database_id"), + resource.TestCheckResourceAttrSet(resourceName, "database_name"), + resource.TestCheckResourceAttr(resourceName, "database_resource_type", "autonomousdatabase"), + resource.TestCheckResourceAttr(resourceName, "entity_source", "AUTONOMOUS_DATABASE"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttrSet(resourceName, "state"), + resource.TestCheckResourceAttrSet(resourceName, "status"), + resource.TestCheckResourceAttr(resourceName, "status", "DISABLED"), + resource.TestCheckResourceAttrSet(resourceName, "time_created"), + + func(s *terraform.State) (err error) { + resId2, err = acctest.FromInstanceState(s, resourceName, "id") + if resId != resId2 { + return fmt.Errorf("Resource recreated when it was supposed to be updated.") + } + return err + }, + ), + }, + // verify datasource + { + Config: config + + acctest.GenerateDataSourceFromRepresentationMap("oci_opsi_database_insights", "test_database_insights", acctest.Optional, acctest.Update, autonomousDatabaseInsightDataSourceRepresentation) + + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Update, autonomousDatabaseInsightRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(datasourceName, "compartment_id_in_subtree", "false"), + resource.TestCheckResourceAttr(datasourceName, "database_type.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "fields.#", "6"), + resource.TestCheckResourceAttr(datasourceName, "state.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "status.#", "1"), + + resource.TestCheckResourceAttr(datasourceName, "database_insights_collection.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "database_insights_collection.0.items.#", "1"), + ), + }, + // verify singular datasource + { + Config: config + + acctest.GenerateDataSourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Required, acctest.Create, autonomousDatabaseInsightSingularDataSourceRepresentation) + + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceConfig, + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(singularDatasourceName, "credential_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "credential_details.0.credential_type", "CREDENTIALS_BY_IAM"), + resource.TestCheckResourceAttr(resourceName, "connection_details.#", "1"), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.host_name", adbHostName), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.port", adbPort), + resource.TestCheckResourceAttr(resourceName, "connection_details.0.service_name", serviceName), + resource.TestCheckResourceAttrSet(singularDatasourceName, "database_display_name"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "database_name"), + resource.TestCheckResourceAttr(singularDatasourceName, "database_resource_type", "autonomousdatabase"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "database_type"), + resource.TestCheckResourceAttr(singularDatasourceName, "entity_source", "AUTONOMOUS_DATABASE"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "state"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "status"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "time_updated"), + ), + }, + // remove singular datasource from previous step so that it doesn't conflict with import tests + { + Config: config + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceConfig, + }, + // verify enable + { + Config: config + compartmentIdVariableStr + autonomousDatabaseIdVariableStr + adbHostNameVariableStr + adbPortVariableStr + serviceNameVariableStr + AutonomousDatabaseInsightResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_opsi_database_insight", "test_database_insight", acctest.Optional, acctest.Update, + acctest.RepresentationCopyWithNewProperties(autonomousDatabaseInsightRepresentation, map[string]interface{}{ + "status": acctest.Representation{RepType: acctest.Required, Update: `ENABLED`}, + })), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "status", "ENABLED"), + + func(s *terraform.State) (err error) { + resId2, err = acctest.FromInstanceState(s, resourceName, "id") + if resId != resId2 { + return fmt.Errorf("resource recreated when it was supposed to be updated") + } + return err + }, + ), + }, + // verify resource import + { + Config: config + AutonomousDatabaseInsightRequiredOnlyResource, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{ + "entity_source", + "is_advanced_features_enable", + }, + ResourceName: resourceName, + }, + }) +} + +func testAccCheckOpsiAutonomousDatabaseInsightDestroy(s *terraform.State) error { + noResourceFound := true + client := acctest.TestAccProvider.Meta().(*tf_client.OracleClients).OperationsInsightsClient() + for _, rs := range s.RootModule().Resources { + if rs.Type == "oci_opsi_database_insight" { + noResourceFound = false + request := oci_opsi.GetDatabaseInsightRequest{} + + tmp := rs.Primary.ID + request.DatabaseInsightId = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(true, "opsi") + + response, err := client.GetDatabaseInsight(context.Background(), request) + + if err == nil { + deletedLifecycleStates := map[string]bool{ + string(oci_opsi.LifecycleStateDeleted): true, + } + if _, ok := deletedLifecycleStates[string(response.GetLifecycleState())]; !ok { + //resource lifecycle state is not in expected deleted lifecycle states. + return fmt.Errorf("resource lifecycle state: %s is not in expected deleted lifecycle states", response.GetLifecycleState()) + } + //resource lifecycle state is in expected deleted lifecycle states. continue with next one. + continue + } + + //Verify that exception is for '404 not found'. + if failure, isServiceError := common.IsServiceError(err); !isServiceError || failure.GetHTTPStatusCode() != 404 { + return err + } + } + } + if noResourceFound { + return fmt.Errorf("at least one resource was expected from the state file, but could not be found") + } + + return nil +} + +func init() { + if acctest.DependencyGraph == nil { + acctest.InitDependencyGraph() + } + if !acctest.InSweeperExcludeList("OpsiAutonomousDatabaseInsight") { + resource.AddTestSweepers("OpsiAutonomousDatabaseInsight", &resource.Sweeper{ + Name: "OpsiAutonomousDatabaseInsight", + Dependencies: acctest.DependencyGraph["databaseInsight"], + F: sweepOpsiAutonomousDatabaseInsightResource, + }) + } +} + +func sweepOpsiAutonomousDatabaseInsightResource(compartment string) error { + operationsInsightsClient := acctest.GetTestClients(&schema.ResourceData{}).OperationsInsightsClient() + databaseInsightIds, err := getAutonomousDatabaseInsightIds(compartment) + if err != nil { + return err + } + for _, databaseInsightId := range databaseInsightIds { + if ok := acctest.SweeperDefaultResourceId[databaseInsightId]; !ok { + deleteDatabaseInsightRequest := oci_opsi.DeleteDatabaseInsightRequest{} + + deleteDatabaseInsightRequest.DatabaseInsightId = &databaseInsightId + + deleteDatabaseInsightRequest.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(true, "opsi") + _, error := operationsInsightsClient.DeleteDatabaseInsight(context.Background(), deleteDatabaseInsightRequest) + if error != nil { + fmt.Printf("Error deleting DatabaseInsight %s %s, It is possible that the resource is already deleted. Please verify manually \n", databaseInsightId, error) + continue + } + acctest.WaitTillCondition(acctest.TestAccProvider, &databaseInsightId, autonomousDatabaseInsightSweepWaitCondition, time.Duration(3*time.Minute), + autonomousDatabaseInsightSweepResponseFetchOperation, "opsi", true) + } + } + return nil +} + +func getAutonomousDatabaseInsightIds(compartment string) ([]string, error) { + ids := acctest.GetResourceIdsToSweep(compartment, "DatabaseInsightId") + if ids != nil { + return ids, nil + } + var resourceIds []string + compartmentId := compartment + operationsInsightsClient := acctest.GetTestClients(&schema.ResourceData{}).OperationsInsightsClient() + + listDatabaseInsightsRequest := oci_opsi.ListDatabaseInsightsRequest{} + listDatabaseInsightsRequest.CompartmentId = &compartmentId + listDatabaseInsightsRequest.LifecycleState = []oci_opsi.LifecycleStateEnum{oci_opsi.LifecycleStateActive} + listDatabaseInsightsResponse, err := operationsInsightsClient.ListDatabaseInsights(context.Background(), listDatabaseInsightsRequest) + + if err != nil { + return resourceIds, fmt.Errorf("Error getting DatabaseInsight list for compartment id : %s , %s \n", compartmentId, err) + } + for _, databaseInsight := range listDatabaseInsightsResponse.Items { + id := *databaseInsight.GetId() + resourceIds = append(resourceIds, id) + acctest.AddResourceIdToSweeperResourceIdMap(compartmentId, "DatabaseInsightId", id) + } + return resourceIds, nil +} + +func autonomousDatabaseInsightSweepWaitCondition(response common.OCIOperationResponse) bool { + // Only stop if the resource is available beyond 3 mins. As there could be an issue for the sweeper to delete the resource and manual intervention required. + if databaseInsightResponse, ok := response.Response.(oci_opsi.GetDatabaseInsightResponse); ok { + return databaseInsightResponse.GetLifecycleState() != oci_opsi.LifecycleStateDeleted + } + return false +} + +func autonomousDatabaseInsightSweepResponseFetchOperation(client *tf_client.OracleClients, resourceId *string, retryPolicy *common.RetryPolicy) error { + _, err := client.OperationsInsightsClient().GetDatabaseInsight(context.Background(), oci_opsi.GetDatabaseInsightRequest{ + DatabaseInsightId: resourceId, + RequestMetadata: common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + return err +} diff --git a/internal/integrationtest/stack_monitoring_maintenance_window_test.go b/internal/integrationtest/stack_monitoring_maintenance_window_test.go new file mode 100644 index 00000000000..1a7e3082e33 --- /dev/null +++ b/internal/integrationtest/stack_monitoring_maintenance_window_test.go @@ -0,0 +1,358 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package integrationtest + +import ( + "context" + "fmt" + "strconv" + "testing" + "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + "github.com/oracle/oci-go-sdk/v65/common" + oci_stack_monitoring "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + + "github.com/oracle/terraform-provider-oci/httpreplay" + "github.com/oracle/terraform-provider-oci/internal/acctest" + tf_client "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/resourcediscovery" + "github.com/oracle/terraform-provider-oci/internal/tfresource" + "github.com/oracle/terraform-provider-oci/internal/utils" +) + +var ( + StackMonitoringMaintenanceWindowRequiredOnlyResource = StackMonitoringMaintenanceWindowResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowRepresentation) + + StackMonitoringMaintenanceWindowResourceConfig = StackMonitoringMaintenanceWindowResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Optional, acctest.Update, StackMonitoringMaintenanceWindowRepresentation) + + StackMonitoringMaintenanceWindowSingularDataSourceRepresentation = map[string]interface{}{ + "maintenance_window_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_stack_monitoring_maintenance_window.test_maintenance_window.id}`}, + } + + StackMonitoringMaintenanceWindowDataSourceRepresentation = map[string]interface{}{ + "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, + "name": acctest.Representation{RepType: acctest.Optional, Create: `TFMaintenanceWindowsTest`}, + "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: StackMonitoringMaintenanceWindowDataSourceFilterRepresentation}} + StackMonitoringMaintenanceWindowDataSourceFilterRepresentation = map[string]interface{}{ + "name": acctest.Representation{RepType: acctest.Required, Create: `id`}, + "values": acctest.Representation{RepType: acctest.Required, Create: []string{`${oci_stack_monitoring_maintenance_window.test_maintenance_window.id}`}}, + } + + StackMonitoringMaintenanceWindowRepresentation = map[string]interface{}{ + "compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.compartment_id}`}, + "name": acctest.Representation{RepType: acctest.Required, Create: `TFMaintenanceWindowsTest`}, + "resources": acctest.RepresentationGroup{RepType: acctest.Required, Group: StackMonitoringMaintenanceWindowResourcesRepresentation}, + "schedule": acctest.RepresentationGroup{RepType: acctest.Required, Group: StackMonitoringMaintenanceWindowScheduleRepresentation}, + "description": acctest.Representation{RepType: acctest.Optional, Create: `description`, Update: `description2`}, + } + + StackMonitoringMaintenanceWindowResourcesRepresentation = map[string]interface{}{ + "resource_id": acctest.Representation{RepType: acctest.Required, Create: `${var.resource_id}`}, + "are_members_included": acctest.Representation{RepType: acctest.Optional, Create: `true`, Update: `true`}, + } + + StackMonitoringMaintenanceWindowScheduleRepresentation = map[string]interface{}{ + "schedule_type": acctest.Representation{RepType: acctest.Required, Create: `ONE_TIME`, Update: `RECURRENT`}, + "time_maintenance_window_start": acctest.Representation{RepType: acctest.Required, Create: `${var.start_date}`, Update: `2024-10-17T10:47:01.001Z`}, + "time_maintenance_window_end": acctest.Representation{RepType: acctest.Required, Create: `${var.end_date}`, Update: `2024-10-28T10:47:01.001Z`}, + "maintenance_window_duration": acctest.Representation{RepType: acctest.Optional, Create: ``, Update: `PT1H`}, + "maintenance_window_recurrences": acctest.Representation{RepType: acctest.Optional, Create: ``, Update: `FREQ=DAILY;BYHOUR=10`}, + } + + StackMonitoringMaintenanceWindowResourceDependencies = "" +) + +// issue-routing-tag: stack_monitoring/default +func TestStackMonitoringMaintenanceWindowResource_basic(t *testing.T) { + httpreplay.SetScenario("TestStackMonitoringMaintenanceWindowResource_basic") + defer httpreplay.SaveScenario() + + config := acctest.ProviderTestConfig() + + resourceId := utils.GetEnvSettingWithBlankDefault("resource_id_for_maintwin") + resourceIdVariableStr := fmt.Sprintf("variable \"resource_id\" { default = \"%s\" }\n", resourceId) + + defaultSartTime := time.Now().Add(time.Hour * 24 * 2) + maintWinStartDate := utils.GetEnvSettingWithDefault("start_date_for_maintwin", defaultSartTime.Format(time.RFC3339Nano)) + maintWinStartDateVariableStr := fmt.Sprintf("variable \"start_date\" { default = \"%s\" }\n", maintWinStartDate) + + defaultEndTime := defaultSartTime.Add(time.Hour * 24) + maintWinEndDate := utils.GetEnvSettingWithDefault("end_date_for_maintwin", defaultEndTime.Format(time.RFC3339Nano)) + maintWinEndDateVariableStr := fmt.Sprintf("variable \"end_date\" { default = \"%s\" }\n", maintWinEndDate) + + compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") + compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + + resourceName := "oci_stack_monitoring_maintenance_window.test_maintenance_window" + datasourceName := "data.oci_stack_monitoring_maintenance_windows.test_maintenance_windows" + singularDatasourceName := "data.oci_stack_monitoring_maintenance_window.test_maintenance_window" + + var resId, resId2 string + // Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "create with optionals" step in the test. + acctest.SaveConfigContent(config+compartmentIdVariableStr+StackMonitoringMaintenanceWindowResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Optional, acctest.Create, StackMonitoringMaintenanceWindowRepresentation), "stackmonitoring", "maintenanceWindow", t) + + acctest.ResourceTest(t, testAccCheckStackMonitoringMaintenanceWindowDestroy, []resource.TestStep{ + // verify Create + // one time schedule + { + Config: config + compartmentIdVariableStr + resourceIdVariableStr + maintWinStartDateVariableStr + maintWinEndDateVariableStr + StackMonitoringMaintenanceWindowResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "name", "TFMaintenanceWindowsTest"), + resource.TestCheckResourceAttr(resourceName, "resources.#", "1"), + resource.TestCheckResourceAttrSet(resourceName, "resources.0.resource_id"), + resource.TestCheckResourceAttr(resourceName, "schedule.#", "1"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.schedule_type", "ONE_TIME"), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + return err + }, + ), + }, + + // delete before next Create + { + Config: config + compartmentIdVariableStr + StackMonitoringMaintenanceWindowResourceDependencies, + }, + + // verify Create with optionals + { + Config: config + compartmentIdVariableStr + resourceIdVariableStr + maintWinStartDateVariableStr + + maintWinEndDateVariableStr + StackMonitoringMaintenanceWindowResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Optional, acctest.Create, StackMonitoringMaintenanceWindowRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "description", "description"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttr(resourceName, "name", "TFMaintenanceWindowsTest"), + resource.TestCheckResourceAttr(resourceName, "resources.#", "1"), + resource.TestCheckResourceAttr(resourceName, "resources.0.are_members_included", "true"), + resource.TestCheckResourceAttrSet(resourceName, "resources.0.resource_id"), + resource.TestCheckResourceAttr(resourceName, "schedule.#", "1"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.schedule_type", "ONE_TIME"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.time_maintenance_window_start", maintWinStartDate), + resource.TestCheckResourceAttr(resourceName, "schedule.0.time_maintenance_window_end", maintWinEndDate), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment { + if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil { + return errExport + } + } + return err + }, + ), + }, + + // verify updates to updatable parameters + { + Config: config + compartmentIdVariableStr + resourceIdVariableStr + maintWinStartDateVariableStr + + maintWinEndDateVariableStr + StackMonitoringMaintenanceWindowResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Optional, acctest.Update, StackMonitoringMaintenanceWindowRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "description", "description2"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttr(resourceName, "name", "TFMaintenanceWindowsTest"), + resource.TestCheckResourceAttr(resourceName, "resources.#", "1"), + resource.TestCheckResourceAttr(resourceName, "resources.0.are_members_included", "true"), + resource.TestCheckResourceAttrSet(resourceName, "resources.0.resource_id"), + resource.TestCheckResourceAttr(resourceName, "schedule.#", "1"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.schedule_type", "RECURRENT"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.time_maintenance_window_start", "2024-10-17T10:47:01.001Z"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.time_maintenance_window_end", "2024-10-28T10:47:01.001Z"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.maintenance_window_duration", "PT1H"), + resource.TestCheckResourceAttr(resourceName, "schedule.0.maintenance_window_recurrences", "FREQ=DAILY;BYHOUR=10"), + + func(s *terraform.State) (err error) { + resId2, err = acctest.FromInstanceState(s, resourceName, "id") + if resId != resId2 { + return fmt.Errorf("Resource recreated when it was supposed to be updated.") + } + return err + }, + ), + }, + // verify datasource + { + Config: config + + acctest.GenerateDataSourceFromRepresentationMap("oci_stack_monitoring_maintenance_windows", "test_maintenance_windows", acctest.Optional, acctest.Update, StackMonitoringMaintenanceWindowDataSourceRepresentation) + + compartmentIdVariableStr + resourceIdVariableStr + maintWinStartDateVariableStr + + maintWinEndDateVariableStr + StackMonitoringMaintenanceWindowResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Optional, acctest.Update, StackMonitoringMaintenanceWindowRepresentation), + + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(datasourceName, "name", "TFMaintenanceWindowsTest"), + + resource.TestCheckResourceAttr(datasourceName, "maintenance_window_collection.#", "1"), + resource.TestCheckResourceAttr(datasourceName, "maintenance_window_collection.0.items.#", "1"), + ), + }, + // verify singular datasource + { + Config: config + + acctest.GenerateDataSourceFromRepresentationMap("oci_stack_monitoring_maintenance_window", "test_maintenance_window", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowSingularDataSourceRepresentation) + + compartmentIdVariableStr + resourceIdVariableStr + maintWinStartDateVariableStr + maintWinEndDateVariableStr + + StackMonitoringMaintenanceWindowResourceConfig, + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttrSet(singularDatasourceName, "maintenance_window_id"), + + resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(singularDatasourceName, "description", "description2"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), + resource.TestCheckResourceAttr(singularDatasourceName, "name", "TFMaintenanceWindowsTest"), + resource.TestCheckResourceAttr(singularDatasourceName, "resources.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "resources.0.are_members_included", "true"), + resource.TestCheckResourceAttr(singularDatasourceName, "resources_details.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "schedule.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "schedule.0.schedule_type", "RECURRENT"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "schedule.0.time_maintenance_window_end"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "schedule.0.time_maintenance_window_start"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "schedule.0.maintenance_window_duration"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "schedule.0.maintenance_window_recurrences"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "state"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "time_updated"), + ), + }, + // verify resource import + { + Config: config + StackMonitoringMaintenanceWindowRequiredOnlyResource, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{}, + ResourceName: resourceName, + }, + }) +} + +func testAccCheckStackMonitoringMaintenanceWindowDestroy(s *terraform.State) error { + noResourceFound := true + client := acctest.TestAccProvider.Meta().(*tf_client.OracleClients).StackMonitoringClient() + for _, rs := range s.RootModule().Resources { + if rs.Type == "oci_stack_monitoring_maintenance_window" { + noResourceFound = false + request := oci_stack_monitoring.GetMaintenanceWindowRequest{} + + tmp := rs.Primary.ID + request.MaintenanceWindowId = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(true, "stack_monitoring") + + response, err := client.GetMaintenanceWindow(context.Background(), request) + + if err == nil { + deletedLifecycleStates := map[string]bool{ + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateDeleted): true, + } + if _, ok := deletedLifecycleStates[string(response.LifecycleState)]; !ok { + //resource lifecycle state is not in expected deleted lifecycle states. + return fmt.Errorf("resource lifecycle state: %s is not in expected deleted lifecycle states", response.LifecycleState) + } + //resource lifecycle state is in expected deleted lifecycle states. continue with next one. + continue + } + + //Verify that exception is for '404 not found'. + if failure, isServiceError := common.IsServiceError(err); !isServiceError || failure.GetHTTPStatusCode() != 404 { + return err + } + } + } + if noResourceFound { + return fmt.Errorf("at least one resource was expected from the state file, but could not be found") + } + + return nil +} + +func init() { + if acctest.DependencyGraph == nil { + acctest.InitDependencyGraph() + } + if !acctest.InSweeperExcludeList("StackMonitoringMaintenanceWindow") { + resource.AddTestSweepers("StackMonitoringMaintenanceWindow", &resource.Sweeper{ + Name: "StackMonitoringMaintenanceWindow", + Dependencies: acctest.DependencyGraph["maintenanceWindow"], + F: sweepStackMonitoringMaintenanceWindowResource, + }) + } +} + +func sweepStackMonitoringMaintenanceWindowResource(compartment string) error { + stackMonitoringClient := acctest.GetTestClients(&schema.ResourceData{}).StackMonitoringClient() + maintenanceWindowIds, err := getStackMonitoringMaintenanceWindowIds(compartment) + if err != nil { + return err + } + for _, maintenanceWindowId := range maintenanceWindowIds { + if ok := acctest.SweeperDefaultResourceId[maintenanceWindowId]; !ok { + deleteMaintenanceWindowRequest := oci_stack_monitoring.DeleteMaintenanceWindowRequest{} + + deleteMaintenanceWindowRequest.MaintenanceWindowId = &maintenanceWindowId + + deleteMaintenanceWindowRequest.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(true, "stack_monitoring") + _, error := stackMonitoringClient.DeleteMaintenanceWindow(context.Background(), deleteMaintenanceWindowRequest) + if error != nil { + fmt.Printf("Error deleting MaintenanceWindow %s %s, It is possible that the resource is already deleted. Please verify manually \n", maintenanceWindowId, error) + continue + } + acctest.WaitTillCondition(acctest.TestAccProvider, &maintenanceWindowId, StackMonitoringMaintenanceWindowSweepWaitCondition, time.Duration(3*time.Minute), + StackMonitoringMaintenanceWindowSweepResponseFetchOperation, "stack_monitoring", true) + } + } + return nil +} + +func getStackMonitoringMaintenanceWindowIds(compartment string) ([]string, error) { + ids := acctest.GetResourceIdsToSweep(compartment, "MaintenanceWindowId") + if ids != nil { + return ids, nil + } + var resourceIds []string + compartmentId := compartment + stackMonitoringClient := acctest.GetTestClients(&schema.ResourceData{}).StackMonitoringClient() + + listMaintenanceWindowsRequest := oci_stack_monitoring.ListMaintenanceWindowsRequest{} + listMaintenanceWindowsRequest.CompartmentId = &compartmentId + listMaintenanceWindowsResponse, err := stackMonitoringClient.ListMaintenanceWindows(context.Background(), listMaintenanceWindowsRequest) + + if err != nil { + return resourceIds, fmt.Errorf("Error getting MaintenanceWindow list for compartment id : %s , %s \n", compartmentId, err) + } + for _, maintenanceWindow := range listMaintenanceWindowsResponse.Items { + id := *maintenanceWindow.Id + resourceIds = append(resourceIds, id) + acctest.AddResourceIdToSweeperResourceIdMap(compartmentId, "MaintenanceWindowId", id) + } + return resourceIds, nil +} + +func StackMonitoringMaintenanceWindowSweepWaitCondition(response common.OCIOperationResponse) bool { + // Only stop if the resource is available beyond 3 mins. As there could be an issue for the sweeper to delete the resource and manual intervention required. + if maintenanceWindowResponse, ok := response.Response.(oci_stack_monitoring.GetMaintenanceWindowResponse); ok { + return maintenanceWindowResponse.LifecycleState != oci_stack_monitoring.MaintenanceWindowLifecycleStateDeleted + } + return false +} + +func StackMonitoringMaintenanceWindowSweepResponseFetchOperation(client *tf_client.OracleClients, resourceId *string, retryPolicy *common.RetryPolicy) error { + _, err := client.StackMonitoringClient().GetMaintenanceWindow(context.Background(), oci_stack_monitoring.GetMaintenanceWindowRequest{ + MaintenanceWindowId: resourceId, + RequestMetadata: common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + return err +} diff --git a/internal/integrationtest/stack_monitoring_maintenance_windows_retry_failed_operation_test.go b/internal/integrationtest/stack_monitoring_maintenance_windows_retry_failed_operation_test.go new file mode 100644 index 00000000000..14d8a9bfceb --- /dev/null +++ b/internal/integrationtest/stack_monitoring_maintenance_windows_retry_failed_operation_test.go @@ -0,0 +1,70 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package integrationtest + +import ( + "fmt" + "strconv" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + + "github.com/oracle/terraform-provider-oci/httpreplay" + "github.com/oracle/terraform-provider-oci/internal/acctest" + + "github.com/oracle/terraform-provider-oci/internal/resourcediscovery" + + "github.com/oracle/terraform-provider-oci/internal/utils" +) + +var ( + StackMonitoringMaintenanceWindowsRetryFailedOperationRepresentation = map[string]interface{}{ + "maintenance_window_id": acctest.Representation{RepType: acctest.Required, Create: `${var.mw_id_to_retry}`}, + } + + StackMonitoringMaintenanceWindowsRetryFailedOperationResourceDependencies = "" +) + +// issue-routing-tag: stack_monitoring/default +func TestStackMonitoringMaintenanceWindowsRetryFailedOperationResource_basic(t *testing.T) { + httpreplay.SetScenario("TestStackMonitoringMaintenanceWindowsRetryFailedOperationResource_basic") + defer httpreplay.SaveScenario() + + config := acctest.ProviderTestConfig() + + compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") + compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + + mwIdToRetry := utils.GetEnvSettingWithBlankDefault("mw_id_retry") + mwIdToRetryVariableStr := fmt.Sprintf("variable \"mw_id_to_retry\" { default = \"%s\" }\n", mwIdToRetry) + + resourceName := "oci_stack_monitoring_maintenance_windows_retry_failed_operation.test_maintenance_windows_retry_failed_operation" + + var resId string + // Save TF content to Create resource with only required properties. This has to be exactly the same as the config part in the create step in the test. + acctest.SaveConfigContent(config+compartmentIdVariableStr+StackMonitoringMaintenanceWindowsRetryFailedOperationResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_windows_retry_failed_operation", "test_maintenance_windows_retry_failed_operation", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowsRetryFailedOperationRepresentation), "stackmonitoring", "maintenanceWindowsRetryFailedOperation", t) + + acctest.ResourceTest(t, nil, []resource.TestStep{ + // verify Create + { + Config: config + compartmentIdVariableStr + mwIdToRetryVariableStr + StackMonitoringMaintenanceWindowsRetryFailedOperationResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_windows_retry_failed_operation", "test_maintenance_windows_retry_failed_operation", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowsRetryFailedOperationRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttrSet(resourceName, "maintenance_window_id"), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment { + if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil { + return errExport + } + } + return err + }, + ), + }, + }) +} diff --git a/internal/integrationtest/stack_monitoring_maintenance_windows_stop_test.go b/internal/integrationtest/stack_monitoring_maintenance_windows_stop_test.go new file mode 100644 index 00000000000..7bf350adf94 --- /dev/null +++ b/internal/integrationtest/stack_monitoring_maintenance_windows_stop_test.go @@ -0,0 +1,70 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package integrationtest + +import ( + "fmt" + "strconv" + "testing" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/terraform" + + "github.com/oracle/terraform-provider-oci/httpreplay" + "github.com/oracle/terraform-provider-oci/internal/acctest" + + "github.com/oracle/terraform-provider-oci/internal/resourcediscovery" + + "github.com/oracle/terraform-provider-oci/internal/utils" +) + +var ( + StackMonitoringMaintenanceWindowsStopRepresentation = map[string]interface{}{ + "maintenance_window_id": acctest.Representation{RepType: acctest.Required, Create: `${var.mw_id_to_stop}`}, + } + + StackMonitoringMaintenanceWindowsStopResourceDependencies = "" +) + +// issue-routing-tag: stack_monitoring/default +func TestStackMonitoringMaintenanceWindowsStopResource_basic(t *testing.T) { + httpreplay.SetScenario("TestStackMonitoringMaintenanceWindowsStopResource_basic") + defer httpreplay.SaveScenario() + + config := acctest.ProviderTestConfig() + + mwIdToStop := utils.GetEnvSettingWithBlankDefault("mw_id_stop") + mwIdToStopVariableStr := fmt.Sprintf("variable \"mw_id_to_stop\" { default = \"%s\" }\n", mwIdToStop) + + compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") + compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + + resourceName := "oci_stack_monitoring_maintenance_windows_stop.test_maintenance_windows_stop" + + var resId string + // Save TF content to Create resource with only required properties. This has to be exactly the same as the config part in the create step in the test. + acctest.SaveConfigContent(config+compartmentIdVariableStr+StackMonitoringMaintenanceWindowsStopResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_windows_stop", "test_maintenance_windows_stop", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowsStopRepresentation), "stackmonitoring", "maintenanceWindowsStop", t) + + acctest.ResourceTest(t, nil, []resource.TestStep{ + // verify Create + { + Config: config + compartmentIdVariableStr + mwIdToStopVariableStr + StackMonitoringMaintenanceWindowsStopResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_stack_monitoring_maintenance_windows_stop", "test_maintenance_windows_stop", acctest.Required, acctest.Create, StackMonitoringMaintenanceWindowsStopRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttrSet(resourceName, "maintenance_window_id"), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment { + if errExport := resourcediscovery.TestExportCompartmentWithResourceName(&resId, &compartmentId, resourceName); errExport != nil { + return errExport + } + } + return err + }, + ), + }, + }) +} diff --git a/internal/service/core/core_instance_resource.go b/internal/service/core/core_instance_resource.go index 6d279af61eb..2a2433a1f0d 100644 --- a/internal/service/core/core_instance_resource.go +++ b/internal/service/core/core_instance_resource.go @@ -439,6 +439,7 @@ func CoreInstanceResource() *schema.Resource { DiffSuppressFunc: tfresource.EqualIgnoreCaseSuppressDiff, ValidateFunc: validation.StringInSlice([]string{ "iscsi", + "paravirtualized", }, true), }, @@ -463,6 +464,11 @@ func CoreInstanceResource() *schema.Resource { Optional: true, Computed: true, }, + "is_pv_encryption_in_transit_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, "is_read_only": { Type: schema.TypeBool, Optional: true, @@ -2438,6 +2444,43 @@ func (s *CoreInstanceResourceCrud) mapToLaunchAttachVolumeDetails(fieldKeyFormat details.VolumeId = &tmp } baseObject = details + case strings.ToLower("paravirtualized"): + details := oci_core.LaunchAttachParavirtualizedVolumeDetails{} + if isPvEncryptionInTransitEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_pv_encryption_in_transit_enabled")); ok { + tmp := isPvEncryptionInTransitEnabled.(bool) + details.IsPvEncryptionInTransitEnabled = &tmp + } + if device, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "device")); ok { + tmp := device.(string) + details.Device = &tmp + } + if displayName, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "display_name")); ok { + tmp := displayName.(string) + details.DisplayName = &tmp + } + if isReadOnly, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_read_only")); ok { + tmp := isReadOnly.(bool) + details.IsReadOnly = &tmp + } + if isShareable, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_shareable")); ok { + tmp := isShareable.(bool) + details.IsShareable = &tmp + } + if launchCreateVolumeDetails, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "launch_create_volume_details")); ok { + if tmpList := launchCreateVolumeDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormatNextLevel := fmt.Sprintf("%s.%d.%%s", fmt.Sprintf(fieldKeyFormat, "launch_create_volume_details"), 0) + tmp, err := s.mapToLaunchCreateVolumeDetails(fieldKeyFormatNextLevel) + if err != nil { + return details, fmt.Errorf("unable to convert launch_create_volume_details, encountered error: %v", err) + } + details.LaunchCreateVolumeDetails = tmp + } + } + if volumeId, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "volume_id")); ok { + tmp := volumeId.(string) + details.VolumeId = &tmp + } + baseObject = details default: return nil, fmt.Errorf("unknown type '%v' was specified", type_) } @@ -2459,6 +2502,12 @@ func LaunchAttachVolumeDetailsToMap(obj oci_core.LaunchAttachVolumeDetails) map[ if v.UseChap != nil { result["use_chap"] = bool(*v.UseChap) } + case oci_core.LaunchAttachParavirtualizedVolumeDetails: + result["type"] = "paravirtualized" + + if v.IsPvEncryptionInTransitEnabled != nil { + result["is_pv_encryption_in_transit_enabled"] = bool(*v.IsPvEncryptionInTransitEnabled) + } default: log.Printf("[WARN] Received 'type' of unknown type %v", obj) return nil diff --git a/internal/service/core/core_vcn_data_source.go b/internal/service/core/core_vcn_data_source.go index b7c431471de..46892323701 100644 --- a/internal/service/core/core_vcn_data_source.go +++ b/internal/service/core/core_vcn_data_source.go @@ -110,6 +110,10 @@ func (s *CoreVcnDataSourceCrud) SetData() error { s.D.Set("ipv6private_cidr_blocks", s.Res.Ipv6PrivateCidrBlocks) + if s.Res.SecurityAttributes != nil { + s.D.Set("security_attributes", tfresource.SecurityAttributesToMap(s.Res.SecurityAttributes)) + } + s.D.Set("state", s.Res.LifecycleState) if s.Res.TimeCreated != nil { diff --git a/internal/service/core/core_vcn_resource.go b/internal/service/core/core_vcn_resource.go index a0a266418f2..2a86bea646c 100644 --- a/internal/service/core/core_vcn_resource.go +++ b/internal/service/core/core_vcn_resource.go @@ -117,6 +117,12 @@ func CoreVcnResource() *schema.Resource { Computed: true, // ForceNew: true, }, + "security_attributes": { + Type: schema.TypeMap, + Optional: true, + Computed: true, + Elem: schema.TypeString, + }, // Computed "byoipv6cidr_blocks": { @@ -317,6 +323,11 @@ func (s *CoreVcnResourceCrud) Create() error { request.IsOracleGuaAllocationEnabled = &tmp } + if securityAttributes, ok := s.D.GetOkExists("security_attributes"); ok { + convertedAttributes := tfresource.MapToSecurityAttributes(securityAttributes.(map[string]interface{})) + request.SecurityAttributes = convertedAttributes + } + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") response, err := s.Client.CreateVcn(context.Background(), request) @@ -439,6 +450,11 @@ func (s *CoreVcnResourceCrud) Update() error { request.FreeformTags = tfresource.ObjectMapToStringMap(freeformTags.(map[string]interface{})) } + if securityAttributes, ok := s.D.GetOkExists("security_attributes"); ok { + convertedAttributes := tfresource.MapToSecurityAttributes(securityAttributes.(map[string]interface{})) + request.SecurityAttributes = convertedAttributes + } + tmp := s.D.Id() request.VcnId = &tmp @@ -579,6 +595,8 @@ func (s *CoreVcnResourceCrud) SetData() error { s.D.Set("ipv6private_cidr_blocks", s.Res.Ipv6PrivateCidrBlocks) + s.D.Set("security_attributes", tfresource.SecurityAttributesToMap(s.Res.SecurityAttributes)) + if s.Res.Ipv6CidrBlocks != nil && len(s.Res.Ipv6CidrBlocks) > 0 { s.D.Set("is_ipv6enabled", true) } else { diff --git a/internal/service/core/core_vcns_data_source.go b/internal/service/core/core_vcns_data_source.go index f3a41f90eaf..fb8f1ff3632 100644 --- a/internal/service/core/core_vcns_data_source.go +++ b/internal/service/core/core_vcns_data_source.go @@ -154,6 +154,10 @@ func (s *CoreVcnsDataSourceCrud) SetData() error { vcn["ipv6private_cidr_blocks"] = r.Ipv6PrivateCidrBlocks + if r.SecurityAttributes != nil { + vcn["security_attributes"] = tfresource.SecurityAttributesToMap(r.SecurityAttributes) + } + vcn["state"] = r.LifecycleState if r.TimeCreated != nil { diff --git a/internal/service/core/core_vnic_attachment_resource.go b/internal/service/core/core_vnic_attachment_resource.go index deb064bc059..0746c33bcb5 100644 --- a/internal/service/core/core_vnic_attachment_resource.go +++ b/internal/service/core/core_vnic_attachment_resource.go @@ -542,8 +542,9 @@ func (s *CoreVnicAttachmentResourceCrud) mapToCreateVnicDetails(fieldKeyFormat s result.PrivateIp = &tmp } - if securityAttributes, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "security_attributes")); ok { - result.SecurityAttributes = securityAttributes.(map[string]map[string]interface{}) + if securityAttributes, ok := s.D.GetOkExists("security_attributes"); ok { + convertedAttributes := tfresource.MapToSecurityAttributes(securityAttributes.(map[string]interface{})) + result.SecurityAttributes = convertedAttributes } if skipSourceDestCheck, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "skip_source_dest_check")); ok { @@ -607,6 +608,11 @@ func (s *CoreVnicAttachmentResourceCrud) mapToUpdateVnicDetails(fieldKeyFormat s result.SkipSourceDestCheck = &tmp } + if securityAttributes, ok := s.D.GetOkExists("security_attributes"); ok { + convertedAttributes := tfresource.MapToSecurityAttributes(securityAttributes.(map[string]interface{})) + result.SecurityAttributes = convertedAttributes + } + return result, nil } @@ -667,7 +673,9 @@ func VnicDetailsToMap(obj *oci_core.Vnic, createVnicDetails map[string]interface result["private_ip"] = string(*obj.PrivateIp) } - result["security_attributes"] = obj.SecurityAttributes + if obj.SecurityAttributes != nil { + result["security_attributes"] = tfresource.SecurityAttributesToMap(obj.SecurityAttributes) + } if obj.SkipSourceDestCheck != nil { result["skip_source_dest_check"] = bool(*obj.SkipSourceDestCheck) diff --git a/internal/service/core/core_vnic_data_source.go b/internal/service/core/core_vnic_data_source.go index 0d088a1f2eb..06bcc302368 100644 --- a/internal/service/core/core_vnic_data_source.go +++ b/internal/service/core/core_vnic_data_source.go @@ -78,6 +78,11 @@ func CoreVnicDataSource() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "security_attributes": { + Type: schema.TypeMap, + Computed: true, + Elem: schema.TypeString, + }, "skip_source_dest_check": { Type: schema.TypeBool, Computed: true, @@ -188,6 +193,10 @@ func (s *CoreVnicDataSourceCrud) SetData() error { s.D.Set("public_ip_address", *s.Res.PublicIp) } + if s.Res.SecurityAttributes != nil { + s.D.Set("security_attributes", tfresource.SecurityAttributesToMap(s.Res.SecurityAttributes)) + } + if s.Res.SkipSourceDestCheck != nil { s.D.Set("skip_source_dest_check", *s.Res.SkipSourceDestCheck) } diff --git a/internal/service/database/database_autonomous_database_software_image_data_source.go b/internal/service/database/database_autonomous_database_software_image_data_source.go index 259588717f3..5b11fa5064e 100644 --- a/internal/service/database/database_autonomous_database_software_image_data_source.go +++ b/internal/service/database/database_autonomous_database_software_image_data_source.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. // Licensed under the Mozilla Public License v2.0 package database diff --git a/internal/service/database/database_autonomous_database_software_image_resource.go b/internal/service/database/database_autonomous_database_software_image_resource.go index 259938170d0..52e8bc02f3e 100644 --- a/internal/service/database/database_autonomous_database_software_image_resource.go +++ b/internal/service/database/database_autonomous_database_software_image_resource.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. // Licensed under the Mozilla Public License v2.0 package database diff --git a/internal/service/database/database_autonomous_database_software_images_data_source.go b/internal/service/database/database_autonomous_database_software_images_data_source.go index 9a440f7ccb5..91736948270 100644 --- a/internal/service/database/database_autonomous_database_software_images_data_source.go +++ b/internal/service/database/database_autonomous_database_software_images_data_source.go @@ -1,4 +1,4 @@ -// Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. // Licensed under the Mozilla Public License v2.0 package database diff --git a/internal/service/database/database_cloud_autonomous_vm_cluster_resource.go b/internal/service/database/database_cloud_autonomous_vm_cluster_resource.go index 93a9e9633a3..fb5ea792ce2 100644 --- a/internal/service/database/database_cloud_autonomous_vm_cluster_resource.go +++ b/internal/service/database/database_cloud_autonomous_vm_cluster_resource.go @@ -1274,7 +1274,6 @@ func MaintenanceWindowToMap(obj *oci_database.MaintenanceWindow) map[string]inte result["skip_ru"] = obj.SkipRu - result["weeks_of_month"] = obj.WeeksOfMonth result["weeks_of_month"] = obj.WeeksOfMonth return result diff --git a/internal/service/database/database_cloud_vm_cluster_data_source.go b/internal/service/database/database_cloud_vm_cluster_data_source.go index 150e5ed2e55..b539ae44ba4 100644 --- a/internal/service/database/database_cloud_vm_cluster_data_source.go +++ b/internal/service/database/database_cloud_vm_cluster_data_source.go @@ -77,6 +77,12 @@ func (s *DatabaseCloudVmClusterDataSourceCrud) SetData() error { s.D.Set("backup_subnet_id", *s.Res.BackupSubnetId) } + if s.Res.CloudAutomationUpdateDetails != nil { + s.D.Set("cloud_automation_update_details", []interface{}{CloudAutomationUpdateDetailsToMap(s.Res.CloudAutomationUpdateDetails)}) + } else { + s.D.Set("cloud_automation_update_details", nil) + } + if s.Res.CloudExadataInfrastructureId != nil { s.D.Set("cloud_exadata_infrastructure_id", *s.Res.CloudExadataInfrastructureId) } diff --git a/internal/service/database/database_cloud_vm_cluster_resource.go b/internal/service/database/database_cloud_vm_cluster_resource.go index ebfa2125c08..76107076658 100644 --- a/internal/service/database/database_cloud_vm_cluster_resource.go +++ b/internal/service/database/database_cloud_vm_cluster_resource.go @@ -98,6 +98,84 @@ func DatabaseCloudVmClusterResource() *schema.Resource { Type: schema.TypeString, }, }, + "cloud_automation_update_details": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "apply_update_time_preference": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "apply_update_preferred_end_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "apply_update_preferred_start_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + + // Computed + }, + }, + }, + "freeze_period": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "freeze_period_end_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "freeze_period_start_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + + // Computed + }, + }, + }, + "is_early_adoption_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, + "is_freeze_period_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, + + // Computed + }, + }, + }, "cluster_name": { Type: schema.TypeString, Optional: true, @@ -520,6 +598,17 @@ func (s *DatabaseCloudVmClusterResourceCrud) Create() error { request.BackupSubnetId = &tmp } + if cloudAutomationUpdateDetails, ok := s.D.GetOkExists("cloud_automation_update_details"); ok { + if tmpList := cloudAutomationUpdateDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "cloud_automation_update_details", 0) + tmp, err := s.mapToCloudAutomationUpdateDetails(fieldKeyFormat) + if err != nil { + return err + } + request.CloudAutomationUpdateDetails = &tmp + } + } + if cloudExadataInfrastructureId, ok := s.D.GetOkExists("cloud_exadata_infrastructure_id"); ok { tmp := cloudExadataInfrastructureId.(string) request.CloudExadataInfrastructureId = &tmp @@ -782,6 +871,17 @@ func (s *DatabaseCloudVmClusterResourceCrud) Update() error { } } + if cloudAutomationUpdateDetails, ok := s.D.GetOkExists("cloud_automation_update_details"); ok { + if tmpList := cloudAutomationUpdateDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "cloud_automation_update_details", 0) + tmp, err := s.mapToCloudAutomationUpdateDetails(fieldKeyFormat) + if err != nil { + return err + } + request.CloudAutomationUpdateDetails = &tmp + } + } + tmp := s.D.Id() request.CloudVmClusterId = &tmp @@ -966,6 +1066,12 @@ func (s *DatabaseCloudVmClusterResourceCrud) SetData() error { s.D.Set("backup_subnet_id", *s.Res.BackupSubnetId) } + if s.Res.CloudAutomationUpdateDetails != nil { + s.D.Set("cloud_automation_update_details", []interface{}{CloudAutomationUpdateDetailsToMap(s.Res.CloudAutomationUpdateDetails)}) + } else { + s.D.Set("cloud_automation_update_details", nil) + } + if s.Res.CloudExadataInfrastructureId != nil { s.D.Set("cloud_exadata_infrastructure_id", *s.Res.CloudExadataInfrastructureId) } @@ -1140,6 +1246,126 @@ func (s *DatabaseCloudVmClusterResourceCrud) SetData() error { return nil } +func (s *DatabaseCloudVmClusterResourceCrud) mapToCloudAutomationApplyUpdateTimePreference(fieldKeyFormat string) (oci_database.CloudAutomationApplyUpdateTimePreference, error) { + result := oci_database.CloudAutomationApplyUpdateTimePreference{} + + if applyUpdatePreferredEndTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "apply_update_preferred_end_time")); ok { + tmp := applyUpdatePreferredEndTime.(string) + result.ApplyUpdatePreferredEndTime = &tmp + } + + if applyUpdatePreferredStartTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "apply_update_preferred_start_time")); ok { + tmp := applyUpdatePreferredStartTime.(string) + result.ApplyUpdatePreferredStartTime = &tmp + } + + return result, nil +} + +func CloudAutomationApplyUpdateTimePreferenceToMap(obj *oci_database.CloudAutomationApplyUpdateTimePreference) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdatePreferredEndTime != nil { + result["apply_update_preferred_end_time"] = string(*obj.ApplyUpdatePreferredEndTime) + } + + if obj.ApplyUpdatePreferredStartTime != nil { + result["apply_update_preferred_start_time"] = string(*obj.ApplyUpdatePreferredStartTime) + } + + return result +} + +func (s *DatabaseCloudVmClusterResourceCrud) mapToCloudAutomationFreezePeriod(fieldKeyFormat string) (oci_database.CloudAutomationFreezePeriod, error) { + result := oci_database.CloudAutomationFreezePeriod{} + + if freezePeriodEndTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "freeze_period_end_time")); ok { + tmp := freezePeriodEndTime.(string) + result.FreezePeriodEndTime = &tmp + } + + if freezePeriodStartTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "freeze_period_start_time")); ok { + tmp := freezePeriodStartTime.(string) + result.FreezePeriodStartTime = &tmp + } + + return result, nil +} + +func CloudAutomationFreezePeriodToMap(obj *oci_database.CloudAutomationFreezePeriod) map[string]interface{} { + result := map[string]interface{}{} + + if obj.FreezePeriodEndTime != nil { + result["freeze_period_end_time"] = string(*obj.FreezePeriodEndTime) + } + + if obj.FreezePeriodStartTime != nil { + result["freeze_period_start_time"] = string(*obj.FreezePeriodStartTime) + } + + return result +} + +func (s *DatabaseCloudVmClusterResourceCrud) mapToCloudAutomationUpdateDetails(fieldKeyFormat string) (oci_database.CloudAutomationUpdateDetails, error) { + result := oci_database.CloudAutomationUpdateDetails{} + + if applyUpdateTimePreference, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "apply_update_time_preference")); ok { + if tmpList := applyUpdateTimePreference.([]interface{}); len(tmpList) > 0 { + fieldKeyFormatNextLevel := fmt.Sprintf("%s.%d.%%s", fmt.Sprintf(fieldKeyFormat, "apply_update_time_preference"), 0) + tmp, err := s.mapToCloudAutomationApplyUpdateTimePreference(fieldKeyFormatNextLevel) + if err != nil { + return result, fmt.Errorf("unable to convert apply_update_time_preference, encountered error: %v", err) + } + result.ApplyUpdateTimePreference = &tmp + } + } + + if freezePeriod, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "freeze_period")); ok { + if tmpList := freezePeriod.([]interface{}); len(tmpList) > 0 { + fieldKeyFormatNextLevel := fmt.Sprintf("%s.%d.%%s", fmt.Sprintf(fieldKeyFormat, "freeze_period"), 0) + tmp, err := s.mapToCloudAutomationFreezePeriod(fieldKeyFormatNextLevel) + if err != nil { + return result, fmt.Errorf("unable to convert freeze_period, encountered error: %v", err) + } + result.FreezePeriod = &tmp + } + } + + if isEarlyAdoptionEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_early_adoption_enabled")); ok { + tmp := isEarlyAdoptionEnabled.(bool) + result.IsEarlyAdoptionEnabled = &tmp + } + + if isFreezePeriodEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_freeze_period_enabled")); ok { + tmp := isFreezePeriodEnabled.(bool) + result.IsFreezePeriodEnabled = &tmp + } + + return result, nil +} + +func CloudAutomationUpdateDetailsToMap(obj *oci_database.CloudAutomationUpdateDetails) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdateTimePreference != nil { + result["apply_update_time_preference"] = []interface{}{CloudAutomationApplyUpdateTimePreferenceToMap(obj.ApplyUpdateTimePreference)} + } + + if obj.FreezePeriod != nil { + result["freeze_period"] = []interface{}{CloudAutomationFreezePeriodToMap(obj.FreezePeriod)} + } + + if obj.IsEarlyAdoptionEnabled != nil { + result["is_early_adoption_enabled"] = bool(*obj.IsEarlyAdoptionEnabled) + } + + if obj.IsFreezePeriodEnabled != nil { + result["is_freeze_period_enabled"] = bool(*obj.IsFreezePeriodEnabled) + } + + return result +} + func (s *DatabaseCloudVmClusterResourceCrud) mapToDataCollectionOptions(fieldKeyFormat string) (oci_database.DataCollectionOptions, error) { result := oci_database.DataCollectionOptions{} diff --git a/internal/service/database/database_cloud_vm_clusters_data_source.go b/internal/service/database/database_cloud_vm_clusters_data_source.go index 8cb3f2a747e..b8ca823b7d2 100644 --- a/internal/service/database/database_cloud_vm_clusters_data_source.go +++ b/internal/service/database/database_cloud_vm_clusters_data_source.go @@ -130,6 +130,12 @@ func (s *DatabaseCloudVmClustersDataSourceCrud) SetData() error { cloudVmCluster["backup_subnet_id"] = *r.BackupSubnetId } + if r.CloudAutomationUpdateDetails != nil { + cloudVmCluster["cloud_automation_update_details"] = []interface{}{CloudAutomationUpdateDetailsToMap(r.CloudAutomationUpdateDetails)} + } else { + cloudVmCluster["cloud_automation_update_details"] = nil + } + if r.CloudExadataInfrastructureId != nil { cloudVmCluster["cloud_exadata_infrastructure_id"] = *r.CloudExadataInfrastructureId } diff --git a/internal/service/database/database_export.go b/internal/service/database/database_export.go index 811a760b54b..b4e616049b2 100644 --- a/internal/service/database/database_export.go +++ b/internal/service/database/database_export.go @@ -507,6 +507,18 @@ var exportDatabaseExadbVmClusterHints = &tf_export.TerraformResourceHints{ }, } +var exportDatabaseAutonomousDatabaseSoftwareImageHints = &tf_export.TerraformResourceHints{ + ResourceClass: "oci_database_autonomous_database_software_image", + DatasourceClass: "oci_database_autonomous_database_software_images", + DatasourceItemsAttr: "autonomous_database_software_image_collection", + IsDatasourceCollection: true, + ResourceAbbreviation: "autonomous_database_software_image", + RequireResourceRefresh: true, + DiscoverableLifecycleStates: []string{ + string(oci_database.AutonomousDatabaseSoftwareImageLifecycleStateAvailable), + }, +} + var databaseResourceGraph = tf_export.TerraformResourceGraph{ "oci_identity_compartment": { {TerraformResourceHints: exportDatabaseAutonomousContainerDatabaseHints}, diff --git a/internal/service/database/database_vm_cluster_add_virtual_machine_resource.go b/internal/service/database/database_vm_cluster_add_virtual_machine_resource.go index cb8ba4ed794..d01cca6671f 100644 --- a/internal/service/database/database_vm_cluster_add_virtual_machine_resource.go +++ b/internal/service/database/database_vm_cluster_add_virtual_machine_resource.go @@ -66,6 +66,69 @@ func DatabaseVmClusterAddVirtualMachineResource() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "cloud_automation_update_details": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "apply_update_time_preference": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "apply_update_preferred_end_time": { + Type: schema.TypeString, + Computed: true, + }, + "apply_update_preferred_start_time": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, + "freeze_period": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "freeze_period_end_time": { + Type: schema.TypeString, + Computed: true, + }, + "freeze_period_start_time": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, + "is_early_adoption_enabled": { + Type: schema.TypeBool, + Computed: true, + }, + "is_freeze_period_enabled": { + Type: schema.TypeBool, + Computed: true, + }, + }, + }, + }, "compartment_id": { Type: schema.TypeString, Computed: true, @@ -301,6 +364,12 @@ func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) SetData() error { s.D.Set("availability_domain", *s.Res.AvailabilityDomain) } + if s.Res.CloudAutomationUpdateDetails != nil { + s.D.Set("cloud_automation_update_details", []interface{}{CloudAutomationUpdateDetailsToMap(s.Res.CloudAutomationUpdateDetails)}) + } else { + s.D.Set("cloud_automation_update_details", nil) + } + if s.Res.CompartmentId != nil { s.D.Set("compartment_id", *s.Res.CompartmentId) } @@ -396,6 +465,74 @@ func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) SetData() error { return nil } +func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) CloudAutomationApplyUpdateTimePreferenceToMap(obj *oci_database.CloudAutomationApplyUpdateTimePreference) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdatePreferredEndTime != nil { + result["apply_update_preferred_end_time"] = string(*obj.ApplyUpdatePreferredEndTime) + } + + if obj.ApplyUpdatePreferredStartTime != nil { + result["apply_update_preferred_start_time"] = string(*obj.ApplyUpdatePreferredStartTime) + } + + return result +} + +func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) CloudAutomationFreezePeriodToMap(obj *oci_database.CloudAutomationFreezePeriod) map[string]interface{} { + result := map[string]interface{}{} + + if obj.FreezePeriodEndTime != nil { + result["freeze_period_end_time"] = string(*obj.FreezePeriodEndTime) + } + + if obj.FreezePeriodStartTime != nil { + result["freeze_period_start_time"] = string(*obj.FreezePeriodStartTime) + } + + return result +} + +func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) CloudAutomationUpdateDetailsToMap(obj *oci_database.CloudAutomationUpdateDetails) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdateTimePreference != nil { + result["apply_update_time_preference"] = []interface{}{CloudAutomationApplyUpdateTimePreferenceToMap(obj.ApplyUpdateTimePreference)} + } + + if obj.FreezePeriod != nil { + result["freeze_period"] = []interface{}{CloudAutomationFreezePeriodToMap(obj.FreezePeriod)} + } + + if obj.IsEarlyAdoptionEnabled != nil { + result["is_early_adoption_enabled"] = bool(*obj.IsEarlyAdoptionEnabled) + } + + if obj.IsFreezePeriodEnabled != nil { + result["is_freeze_period_enabled"] = bool(*obj.IsFreezePeriodEnabled) + } + + return result +} + +func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) DataCollectionOptionsToMap(obj *oci_database.DataCollectionOptions) map[string]interface{} { + result := map[string]interface{}{} + + if obj.IsDiagnosticsEventsEnabled != nil { + result["is_diagnostics_events_enabled"] = bool(*obj.IsDiagnosticsEventsEnabled) + } + + if obj.IsHealthMonitoringEnabled != nil { + result["is_health_monitoring_enabled"] = bool(*obj.IsHealthMonitoringEnabled) + } + + if obj.IsIncidentLogsEnabled != nil { + result["is_incident_logs_enabled"] = bool(*obj.IsIncidentLogsEnabled) + } + + return result +} + func (s *DatabaseVmClusterAddVirtualMachineResourceCrud) mapToDbServerDetails(fieldKeyFormat string) (oci_database.DbServerDetails, error) { result := oci_database.DbServerDetails{} diff --git a/internal/service/database/database_vm_cluster_data_source.go b/internal/service/database/database_vm_cluster_data_source.go index 65e83f8baa9..6cea6dc7b4a 100644 --- a/internal/service/database/database_vm_cluster_data_source.go +++ b/internal/service/database/database_vm_cluster_data_source.go @@ -70,6 +70,12 @@ func (s *DatabaseVmClusterDataSourceCrud) SetData() error { s.D.Set("availability_domain", *s.Res.AvailabilityDomain) } + if s.Res.CloudAutomationUpdateDetails != nil { + s.D.Set("cloud_automation_update_details", []interface{}{CloudAutomationUpdateDetailsToMap(s.Res.CloudAutomationUpdateDetails)}) + } else { + s.D.Set("cloud_automation_update_details", nil) + } + if s.Res.CompartmentId != nil { s.D.Set("compartment_id", *s.Res.CompartmentId) } diff --git a/internal/service/database/database_vm_cluster_remove_virtual_machine_resource.go b/internal/service/database/database_vm_cluster_remove_virtual_machine_resource.go index e7b65218a5a..2da40d1dbf5 100644 --- a/internal/service/database/database_vm_cluster_remove_virtual_machine_resource.go +++ b/internal/service/database/database_vm_cluster_remove_virtual_machine_resource.go @@ -58,6 +58,69 @@ func DatabaseVmClusterRemoveVirtualMachineResource() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "cloud_automation_update_details": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "apply_update_time_preference": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "apply_update_preferred_end_time": { + Type: schema.TypeString, + Computed: true, + }, + "apply_update_preferred_start_time": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, + "freeze_period": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "freeze_period_end_time": { + Type: schema.TypeString, + Computed: true, + }, + "freeze_period_start_time": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, + "is_early_adoption_enabled": { + Type: schema.TypeBool, + Computed: true, + }, + "is_freeze_period_enabled": { + Type: schema.TypeBool, + Computed: true, + }, + }, + }, + }, "compartment_id": { Type: schema.TypeString, Computed: true, @@ -293,6 +356,12 @@ func (s *DatabaseVmClusterRemoveVirtualMachineResourceCrud) SetData() error { s.D.Set("availability_domain", *s.Res.AvailabilityDomain) } + if s.Res.CloudAutomationUpdateDetails != nil { + s.D.Set("cloud_automation_update_details", []interface{}{CloudAutomationUpdateDetailsToMap(s.Res.CloudAutomationUpdateDetails)}) + } else { + s.D.Set("cloud_automation_update_details", nil) + } + if s.Res.CompartmentId != nil { s.D.Set("compartment_id", *s.Res.CompartmentId) } @@ -388,6 +457,56 @@ func (s *DatabaseVmClusterRemoveVirtualMachineResourceCrud) SetData() error { return nil } +func (s *DatabaseVmClusterRemoveVirtualMachineResourceCrud) CloudAutomationApplyUpdateTimePreferenceToMap(obj *oci_database.CloudAutomationApplyUpdateTimePreference) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdatePreferredEndTime != nil { + result["apply_update_preferred_end_time"] = string(*obj.ApplyUpdatePreferredEndTime) + } + + if obj.ApplyUpdatePreferredStartTime != nil { + result["apply_update_preferred_start_time"] = string(*obj.ApplyUpdatePreferredStartTime) + } + + return result +} + +func (s *DatabaseVmClusterRemoveVirtualMachineResourceCrud) CloudAutomationFreezePeriodToMap(obj *oci_database.CloudAutomationFreezePeriod) map[string]interface{} { + result := map[string]interface{}{} + + if obj.FreezePeriodEndTime != nil { + result["freeze_period_end_time"] = string(*obj.FreezePeriodEndTime) + } + + if obj.FreezePeriodStartTime != nil { + result["freeze_period_start_time"] = string(*obj.FreezePeriodStartTime) + } + + return result +} + +func (s *DatabaseVmClusterRemoveVirtualMachineResourceCrud) CloudAutomationUpdateDetailsToMap(obj *oci_database.CloudAutomationUpdateDetails) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdateTimePreference != nil { + result["apply_update_time_preference"] = []interface{}{CloudAutomationApplyUpdateTimePreferenceToMap(obj.ApplyUpdateTimePreference)} + } + + if obj.FreezePeriod != nil { + result["freeze_period"] = []interface{}{CloudAutomationFreezePeriodToMap(obj.FreezePeriod)} + } + + if obj.IsEarlyAdoptionEnabled != nil { + result["is_early_adoption_enabled"] = bool(*obj.IsEarlyAdoptionEnabled) + } + + if obj.IsFreezePeriodEnabled != nil { + result["is_freeze_period_enabled"] = bool(*obj.IsFreezePeriodEnabled) + } + + return result +} + func (s *DatabaseVmClusterRemoveVirtualMachineResourceCrud) mapToDbServerDetails(fieldKeyFormat string) (oci_database.DbServerDetails, error) { result := oci_database.DbServerDetails{} diff --git a/internal/service/database/database_vm_cluster_resource.go b/internal/service/database/database_vm_cluster_resource.go index 062bbf07d7e..f981015c674 100644 --- a/internal/service/database/database_vm_cluster_resource.go +++ b/internal/service/database/database_vm_cluster_resource.go @@ -71,6 +71,84 @@ func DatabaseVmClusterResource() *schema.Resource { }, // Optional + "cloud_automation_update_details": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "apply_update_time_preference": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "apply_update_preferred_end_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "apply_update_preferred_start_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + + // Computed + }, + }, + }, + "freeze_period": { + Type: schema.TypeList, + Optional: true, + Computed: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "freeze_period_end_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "freeze_period_start_time": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + + // Computed + }, + }, + }, + "is_early_adoption_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, + "is_freeze_period_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + }, + + // Computed + }, + }, + }, "data_collection_options": { Type: schema.TypeList, Optional: true, @@ -328,6 +406,17 @@ func (s *DatabaseVmClusterResourceCrud) UpdatedTarget() []string { func (s *DatabaseVmClusterResourceCrud) Create() error { request := oci_database.CreateVmClusterRequest{} + if cloudAutomationUpdateDetails, ok := s.D.GetOkExists("cloud_automation_update_details"); ok { + if tmpList := cloudAutomationUpdateDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "cloud_automation_update_details", 0) + tmp, err := s.mapToCloudAutomationUpdateDetails(fieldKeyFormat) + if err != nil { + return err + } + request.CloudAutomationUpdateDetails = &tmp + } + } + if compartmentId, ok := s.D.GetOkExists("compartment_id"); ok { tmp := compartmentId.(string) request.CompartmentId = &tmp @@ -515,6 +604,17 @@ func (s *DatabaseVmClusterResourceCrud) Update() error { } request := oci_database.UpdateVmClusterRequest{} + if cloudAutomationUpdateDetails, ok := s.D.GetOkExists("cloud_automation_update_details"); ok { + if tmpList := cloudAutomationUpdateDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "cloud_automation_update_details", 0) + tmp, err := s.mapToCloudAutomationUpdateDetails(fieldKeyFormat) + if err != nil { + return err + } + request.CloudAutomationUpdateDetails = &tmp + } + } + if cpuCoreCount, ok := s.D.GetOkExists("cpu_core_count"); ok && s.D.HasChange("cpu_core_count") { tmp := cpuCoreCount.(int) request.CpuCoreCount = &tmp @@ -633,6 +733,12 @@ func (s *DatabaseVmClusterResourceCrud) SetData() error { s.D.Set("availability_domain", *s.Res.AvailabilityDomain) } + if s.Res.CloudAutomationUpdateDetails != nil { + s.D.Set("cloud_automation_update_details", []interface{}{CloudAutomationUpdateDetailsToMap(s.Res.CloudAutomationUpdateDetails)}) + } else { + s.D.Set("cloud_automation_update_details", nil) + } + if s.Res.CompartmentId != nil { s.D.Set("compartment_id", *s.Res.CompartmentId) } @@ -743,6 +849,126 @@ func (s *DatabaseVmClusterResourceCrud) SetData() error { return nil } +func (s *DatabaseVmClusterResourceCrud) mapToCloudAutomationApplyUpdateTimePreference(fieldKeyFormat string) (oci_database.CloudAutomationApplyUpdateTimePreference, error) { + result := oci_database.CloudAutomationApplyUpdateTimePreference{} + + if applyUpdatePreferredEndTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "apply_update_preferred_end_time")); ok { + tmp := applyUpdatePreferredEndTime.(string) + result.ApplyUpdatePreferredEndTime = &tmp + } + + if applyUpdatePreferredStartTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "apply_update_preferred_start_time")); ok { + tmp := applyUpdatePreferredStartTime.(string) + result.ApplyUpdatePreferredStartTime = &tmp + } + + return result, nil +} + +func (s *DatabaseVmClusterResourceCrud) CloudAutomationApplyUpdateTimePreferenceToMap(obj *oci_database.CloudAutomationApplyUpdateTimePreference) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdatePreferredEndTime != nil { + result["apply_update_preferred_end_time"] = string(*obj.ApplyUpdatePreferredEndTime) + } + + if obj.ApplyUpdatePreferredStartTime != nil { + result["apply_update_preferred_start_time"] = string(*obj.ApplyUpdatePreferredStartTime) + } + + return result +} + +func (s *DatabaseVmClusterResourceCrud) mapToCloudAutomationFreezePeriod(fieldKeyFormat string) (oci_database.CloudAutomationFreezePeriod, error) { + result := oci_database.CloudAutomationFreezePeriod{} + + if freezePeriodEndTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "freeze_period_end_time")); ok { + tmp := freezePeriodEndTime.(string) + result.FreezePeriodEndTime = &tmp + } + + if freezePeriodStartTime, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "freeze_period_start_time")); ok { + tmp := freezePeriodStartTime.(string) + result.FreezePeriodStartTime = &tmp + } + + return result, nil +} + +func (s *DatabaseVmClusterResourceCrud) CloudAutomationFreezePeriodToMap(obj *oci_database.CloudAutomationFreezePeriod) map[string]interface{} { + result := map[string]interface{}{} + + if obj.FreezePeriodEndTime != nil { + result["freeze_period_end_time"] = string(*obj.FreezePeriodEndTime) + } + + if obj.FreezePeriodStartTime != nil { + result["freeze_period_start_time"] = string(*obj.FreezePeriodStartTime) + } + + return result +} + +func (s *DatabaseVmClusterResourceCrud) mapToCloudAutomationUpdateDetails(fieldKeyFormat string) (oci_database.CloudAutomationUpdateDetails, error) { + result := oci_database.CloudAutomationUpdateDetails{} + + if applyUpdateTimePreference, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "apply_update_time_preference")); ok { + if tmpList := applyUpdateTimePreference.([]interface{}); len(tmpList) > 0 { + fieldKeyFormatNextLevel := fmt.Sprintf("%s.%d.%%s", fmt.Sprintf(fieldKeyFormat, "apply_update_time_preference"), 0) + tmp, err := s.mapToCloudAutomationApplyUpdateTimePreference(fieldKeyFormatNextLevel) + if err != nil { + return result, fmt.Errorf("unable to convert apply_update_time_preference, encountered error: %v", err) + } + result.ApplyUpdateTimePreference = &tmp + } + } + + if freezePeriod, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "freeze_period")); ok { + if tmpList := freezePeriod.([]interface{}); len(tmpList) > 0 { + fieldKeyFormatNextLevel := fmt.Sprintf("%s.%d.%%s", fmt.Sprintf(fieldKeyFormat, "freeze_period"), 0) + tmp, err := s.mapToCloudAutomationFreezePeriod(fieldKeyFormatNextLevel) + if err != nil { + return result, fmt.Errorf("unable to convert freeze_period, encountered error: %v", err) + } + result.FreezePeriod = &tmp + } + } + + if isEarlyAdoptionEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_early_adoption_enabled")); ok { + tmp := isEarlyAdoptionEnabled.(bool) + result.IsEarlyAdoptionEnabled = &tmp + } + + if isFreezePeriodEnabled, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "is_freeze_period_enabled")); ok { + tmp := isFreezePeriodEnabled.(bool) + result.IsFreezePeriodEnabled = &tmp + } + + return result, nil +} + +func (s *DatabaseVmClusterResourceCrud) CloudAutomationUpdateDetailsToMap(obj *oci_database.CloudAutomationUpdateDetails) map[string]interface{} { + result := map[string]interface{}{} + + if obj.ApplyUpdateTimePreference != nil { + result["apply_update_time_preference"] = []interface{}{CloudAutomationApplyUpdateTimePreferenceToMap(obj.ApplyUpdateTimePreference)} + } + + if obj.FreezePeriod != nil { + result["freeze_period"] = []interface{}{CloudAutomationFreezePeriodToMap(obj.FreezePeriod)} + } + + if obj.IsEarlyAdoptionEnabled != nil { + result["is_early_adoption_enabled"] = bool(*obj.IsEarlyAdoptionEnabled) + } + + if obj.IsFreezePeriodEnabled != nil { + result["is_freeze_period_enabled"] = bool(*obj.IsFreezePeriodEnabled) + } + + return result +} + func (s *DatabaseVmClusterResourceCrud) mapToDataCollectionOptions(fieldKeyFormat string) (oci_database.DataCollectionOptions, error) { result := oci_database.DataCollectionOptions{} diff --git a/internal/service/database/database_vm_clusters_data_source.go b/internal/service/database/database_vm_clusters_data_source.go index d6e41ab7107..92dba92096b 100644 --- a/internal/service/database/database_vm_clusters_data_source.go +++ b/internal/service/database/database_vm_clusters_data_source.go @@ -123,6 +123,12 @@ func (s *DatabaseVmClustersDataSourceCrud) SetData() error { vmCluster["availability_domain"] = *r.AvailabilityDomain } + if r.CloudAutomationUpdateDetails != nil { + vmCluster["cloud_automation_update_details"] = []interface{}{CloudAutomationUpdateDetailsToMap(r.CloudAutomationUpdateDetails)} + } else { + vmCluster["cloud_automation_update_details"] = nil + } + if r.CpusEnabled != nil { vmCluster["cpus_enabled"] = *r.CpusEnabled vmCluster["cpu_core_count"] = *r.CpusEnabled diff --git a/internal/service/desktops/desktops_desktop_data_source.go b/internal/service/desktops/desktops_desktop_data_source.go index ccf640070aa..96db217f3d1 100644 --- a/internal/service/desktops/desktops_desktop_data_source.go +++ b/internal/service/desktops/desktops_desktop_data_source.go @@ -109,6 +109,10 @@ func DesktopsDesktopDataSource() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "operating_system": { + Type: schema.TypeString, + Computed: true, + }, }, }, }, diff --git a/internal/service/desktops/desktops_desktop_pool_data_source.go b/internal/service/desktops/desktops_desktop_pool_data_source.go index a8b26158e76..befa2732de7 100644 --- a/internal/service/desktops/desktops_desktop_pool_data_source.go +++ b/internal/service/desktops/desktops_desktop_pool_data_source.go @@ -131,6 +131,18 @@ func (s *DesktopsDesktopPoolDataSourceCrud) SetData() error { s.D.Set("nsg_ids", s.Res.NsgIds) + if s.Res.ShapeConfig != nil { + s.D.Set("shape_config", []interface{}{DesktopPoolShapeConfigToMap(s.Res.ShapeConfig)}) + } else { + s.D.Set("shape_config", nil) + } + + if s.Res.PrivateAccessDetails != nil { + s.D.Set("private_access_details", []interface{}{DesktopPoolPrivateAccessDetailsToMap(s.Res.PrivateAccessDetails, true)}) + } else { + s.D.Set("private_access_details", nil) + } + if s.Res.ShapeName != nil { s.D.Set("shape_name", *s.Res.ShapeName) } @@ -161,5 +173,7 @@ func (s *DesktopsDesktopPoolDataSourceCrud) SetData() error { s.D.Set("time_stop_scheduled", s.Res.TimeStopScheduled.Format(time.RFC3339Nano)) } + s.D.Set("use_dedicated_vm_host", s.Res.UseDedicatedVmHost) + return nil } diff --git a/internal/service/desktops/desktops_desktop_pool_resource.go b/internal/service/desktops/desktops_desktop_pool_resource.go index 3aed2c4c00b..3c4a8113c1f 100644 --- a/internal/service/desktops/desktops_desktop_pool_resource.go +++ b/internal/service/desktops/desktops_desktop_pool_resource.go @@ -7,6 +7,7 @@ import ( "context" "fmt" "log" + "strconv" "strings" "time" @@ -180,6 +181,12 @@ func DesktopsDesktopPoolResource() *schema.Resource { }, // Optional + "operating_system": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + }, // Computed }, @@ -268,6 +275,89 @@ func DesktopsDesktopPoolResource() *schema.Resource { Type: schema.TypeString, }, }, + "shape_config": { + Type: schema.TypeList, + Optional: true, + Computed: true, + ForceNew: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + "baseline_ocpu_utilization": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + }, + "memory_in_gbs": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + ValidateFunc: tfresource.ValidateInt64TypeString, + DiffSuppressFunc: tfresource.Int64StringDiffSuppressFunction, + }, + "ocpus": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + ValidateFunc: tfresource.ValidateInt64TypeString, + DiffSuppressFunc: tfresource.Int64StringDiffSuppressFunction, + }, + + // Computed + }, + }, + }, + "private_access_details": { + Type: schema.TypeList, + Optional: true, + Computed: true, + ForceNew: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + "subnet_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + // Optional + "nsg_ids": { + Type: schema.TypeSet, + Optional: true, + ForceNew: true, + Set: tfresource.LiteralTypeHashCodeForSets, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + "private_ip": { + Type: schema.TypeString, + Optional: true, + ForceNew: true, + }, + + // Computed + "endpoint_fqdn": { + Type: schema.TypeString, + Computed: true, + }, + "vcn_id": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, "time_start_scheduled": { Type: schema.TypeString, Optional: true, @@ -278,6 +368,12 @@ func DesktopsDesktopPoolResource() *schema.Resource { Optional: true, DiffSuppressFunc: tfresource.TimeDiffSuppressFunction, }, + "use_dedicated_vm_host": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + }, // Computed "active_desktops": { @@ -477,6 +573,28 @@ func (s *DesktopsDesktopPoolResourceCrud) Create() error { } } + if shapeConfig, ok := s.D.GetOkExists("shape_config"); ok { + if tmpList := shapeConfig.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "shape_config", 0) + tmp, err := s.mapToCreateDesktopPoolShapeConfigDetails(fieldKeyFormat) + if err != nil { + return err + } + request.ShapeConfig = &tmp + } + } + + if privateAccessDetails, ok := s.D.GetOkExists("private_access_details"); ok { + if tmpList := privateAccessDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "private_access_details", 0) + tmp, err := s.mapToCreateDesktopPoolPrivateAccessDetails(fieldKeyFormat) + if err != nil { + return err + } + request.PrivateAccessDetails = &tmp + } + } + if shapeName, ok := s.D.GetOkExists("shape_name"); ok { tmp := shapeName.(string) request.ShapeName = &tmp @@ -513,6 +631,10 @@ func (s *DesktopsDesktopPoolResourceCrud) Create() error { request.TimeStopScheduled = &oci_common.SDKTime{Time: tmp} } + if useDedicatedVmHost, ok := s.D.GetOkExists("use_dedicated_vm_host"); ok { + request.UseDedicatedVmHost = oci_desktops.CreateDesktopPoolDetailsUseDedicatedVmHostEnum(useDedicatedVmHost.(string)) + } + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "desktops") response, err := s.Client.CreateDesktopPool(context.Background(), request) @@ -869,6 +991,18 @@ func (s *DesktopsDesktopPoolResourceCrud) SetData() error { } s.D.Set("nsg_ids", schema.NewSet(tfresource.LiteralTypeHashCodeForSets, nsgIds)) + if s.Res.ShapeConfig != nil { + s.D.Set("shape_config", []interface{}{DesktopPoolShapeConfigToMap(s.Res.ShapeConfig)}) + } else { + s.D.Set("shape_config", nil) + } + + if s.Res.PrivateAccessDetails != nil { + s.D.Set("private_access_details", []interface{}{DesktopPoolPrivateAccessDetailsToMap(s.Res.PrivateAccessDetails, false)}) + } else { + s.D.Set("private_access_details", nil) + } + if s.Res.ShapeName != nil { s.D.Set("shape_name", *s.Res.ShapeName) } @@ -899,9 +1033,117 @@ func (s *DesktopsDesktopPoolResourceCrud) SetData() error { s.D.Set("time_stop_scheduled", s.Res.TimeStopScheduled.Format(time.RFC3339Nano)) } + s.D.Set("use_dedicated_vm_host", s.Res.UseDedicatedVmHost) + return nil } +func (s *DesktopsDesktopPoolResourceCrud) mapToCreateDesktopPoolShapeConfigDetails(fieldKeyFormat string) (oci_desktops.CreateDesktopPoolShapeConfigDetails, error) { + result := oci_desktops.CreateDesktopPoolShapeConfigDetails{} + + if baselineOcpuUtilization, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "baseline_ocpu_utilization")); ok { + result.BaselineOcpuUtilization = oci_desktops.CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum(baselineOcpuUtilization.(string)) + } + + if memoryInGBs, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "memory_in_gbs")); ok { + tmp := memoryInGBs.(string) + tmpInt64, err := strconv.ParseInt(tmp, 10, 64) + if err != nil { + return result, fmt.Errorf("unable to convert memoryInGBs string: %s to an int64 and encountered error: %v", tmp, err) + } + result.MemoryInGBs = &tmpInt64 + } + + if ocpus, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "ocpus")); ok { + tmp := ocpus.(string) + tmpInt64, err := strconv.ParseInt(tmp, 10, 64) + if err != nil { + return result, fmt.Errorf("unable to convert ocpus string: %s to an int64 and encountered error: %v", tmp, err) + } + result.Ocpus = &tmpInt64 + } + + return result, nil +} + +func DesktopPoolShapeConfigToMap(obj *oci_desktops.DesktopPoolShapeConfig) map[string]interface{} { + result := map[string]interface{}{} + + result["baseline_ocpu_utilization"] = string(obj.BaselineOcpuUtilization) + + if obj.MemoryInGBs != nil { + result["memory_in_gbs"] = strconv.FormatInt(*obj.MemoryInGBs, 10) + } + + if obj.Ocpus != nil { + result["ocpus"] = strconv.FormatInt(*obj.Ocpus, 10) + } + + return result +} + +func (s *DesktopsDesktopPoolResourceCrud) mapToCreateDesktopPoolPrivateAccessDetails(fieldKeyFormat string) (oci_desktops.CreateDesktopPoolPrivateAccessDetails, error) { + result := oci_desktops.CreateDesktopPoolPrivateAccessDetails{} + + if nsgIds, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "nsg_ids")); ok { + set := nsgIds.(*schema.Set) + interfaces := set.List() + tmp := make([]string, len(interfaces)) + for i := range interfaces { + if interfaces[i] != nil { + tmp[i] = interfaces[i].(string) + } + } + if len(tmp) != 0 || s.D.HasChange(fmt.Sprintf(fieldKeyFormat, "nsg_ids")) { + result.NsgIds = tmp + } + } + + if privateIp, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "private_ip")); ok { + tmp := privateIp.(string) + result.PrivateIp = &tmp + } + + if subnetId, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "subnet_id")); ok { + tmp := subnetId.(string) + result.SubnetId = &tmp + } + + return result, nil +} + +func DesktopPoolPrivateAccessDetailsToMap(obj *oci_desktops.DesktopPoolPrivateAccessDetails, datasource bool) map[string]interface{} { + result := map[string]interface{}{} + + if obj.EndpointFqdn != nil { + result["endpoint_fqdn"] = string(*obj.EndpointFqdn) + } + + nsgIds := []interface{}{} + for _, item := range obj.NsgIds { + nsgIds = append(nsgIds, item) + } + if datasource { + result["nsg_ids"] = nsgIds + } else { + result["nsg_ids"] = schema.NewSet(tfresource.LiteralTypeHashCodeForSets, nsgIds) + } + + if obj.PrivateIp != nil { + result["private_ip"] = string(*obj.PrivateIp) + } + + if obj.SubnetId != nil { + result["subnet_id"] = string(*obj.SubnetId) + } + + if obj.VcnId != nil { + result["vcn_id"] = string(*obj.VcnId) + } + + return result +} + func (s *DesktopsDesktopPoolResourceCrud) mapToDesktopAvailabilityPolicy(fieldKeyFormat string) (oci_desktops.DesktopAvailabilityPolicy, error) { result := oci_desktops.DesktopAvailabilityPolicy{} @@ -1023,6 +1265,11 @@ func (s *DesktopsDesktopPoolResourceCrud) mapToDesktopImage(fieldKeyFormat strin result.ImageName = &tmp } + if operatingSystem, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "operating_system")); ok { + tmp := operatingSystem.(string) + result.OperatingSystem = &tmp + } + return result, nil } @@ -1037,6 +1284,10 @@ func DesktopImageToMap(obj *oci_desktops.DesktopImage) map[string]interface{} { result["image_name"] = string(*obj.ImageName) } + if obj.OperatingSystem != nil { + result["operating_system"] = string(*obj.OperatingSystem) + } + return result } diff --git a/internal/service/fusion_apps/fusion_apps_fusion_environment_admin_user_resource.go b/internal/service/fusion_apps/fusion_apps_fusion_environment_admin_user_resource.go index bb4812bace3..9bb40d98649 100644 --- a/internal/service/fusion_apps/fusion_apps_fusion_environment_admin_user_resource.go +++ b/internal/service/fusion_apps/fusion_apps_fusion_environment_admin_user_resource.go @@ -53,12 +53,6 @@ func FusionAppsFusionEnvironmentAdminUserResource() *schema.Resource { Required: true, ForceNew: true, }, - "password": { - Type: schema.TypeString, - Required: true, - ForceNew: true, - Sensitive: true, - }, "username": { Type: schema.TypeString, Required: true, @@ -66,6 +60,13 @@ func FusionAppsFusionEnvironmentAdminUserResource() *schema.Resource { }, // Optional + "password": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + Sensitive: true, + }, // Computed "items": { diff --git a/internal/service/fusion_apps/fusion_apps_fusion_environment_resource.go b/internal/service/fusion_apps/fusion_apps_fusion_environment_resource.go index 06600234d7b..476180bd8ae 100644 --- a/internal/service/fusion_apps/fusion_apps_fusion_environment_resource.go +++ b/internal/service/fusion_apps/fusion_apps_fusion_environment_resource.go @@ -65,12 +65,6 @@ func FusionAppsFusionEnvironmentResource() *schema.Resource { Required: true, ForceNew: true, }, - "password": { - Type: schema.TypeString, - Required: true, - ForceNew: true, - Sensitive: true, - }, "username": { Type: schema.TypeString, Required: true, @@ -78,6 +72,13 @@ func FusionAppsFusionEnvironmentResource() *schema.Resource { }, // Optional + "password": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + Sensitive: true, + }, // Computed }, diff --git a/internal/service/load_balancer/load_balancer_listener_resource.go b/internal/service/load_balancer/load_balancer_listener_resource.go index 53fb31f3f3c..399c50ac60c 100644 --- a/internal/service/load_balancer/load_balancer_listener_resource.go +++ b/internal/service/load_balancer/load_balancer_listener_resource.go @@ -72,6 +72,16 @@ func LoadBalancerListenerResource() *schema.Resource { DiffSuppressFunc: tfresource.Int64StringDiffSuppressFunction, }, + // Optional + "backend_tcp_proxy_protocol_options": { + Type: schema.TypeList, + Optional: true, + Computed: true, + Elem: &schema.Schema{ + Type: schema.TypeString, + }, + }, + // Optional "backend_tcp_proxy_protocol_version": { Type: schema.TypeInt, @@ -643,9 +653,38 @@ func parseListenerCompositeId(compositeId string) (listenerName string, loadBala return } +func toString(s []oci_load_balancer.ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum) []string { + c := make([]string, len(s)) + for i, v := range s { + c[i] = string(v) + } + return c +} + +func toBackendTcpProxyProtocolOptionsEnum(s []string) []oci_load_balancer.ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum { + c := make([]oci_load_balancer.ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum, len(s)) + for i, v := range s { + c[i] = oci_load_balancer.ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum(v) + } + return c +} + func (s *LoadBalancerListenerResourceCrud) mapToConnectionConfiguration(fieldKeyFormat string) (oci_load_balancer.ConnectionConfiguration, error) { result := oci_load_balancer.ConnectionConfiguration{} + if backendTcpProxyProtocolOptions, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "backend_tcp_proxy_protocol_options")); ok { + interfaces := backendTcpProxyProtocolOptions.([]interface{}) + tmp := make([]string, len(interfaces)) + for i := range interfaces { + if interfaces[i] != nil { + tmp[i] = interfaces[i].(string) + } + } + if len(tmp) != 0 || s.D.HasChange(fmt.Sprintf(fieldKeyFormat, "backend_tcp_proxy_protocol_options")) { + result.BackendTcpProxyProtocolOptions = toBackendTcpProxyProtocolOptionsEnum(tmp) + } + } + if backendTcpProxyProtocolVersion, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "backend_tcp_proxy_protocol_version")); ok { tmp := backendTcpProxyProtocolVersion.(int) // Terraform v11 will auto assign nil value to 0 which is invalid value @@ -670,6 +709,10 @@ func (s *LoadBalancerListenerResourceCrud) mapToConnectionConfiguration(fieldKey func ConnectionConfigurationToMap(obj *oci_load_balancer.ConnectionConfiguration) map[string]interface{} { result := map[string]interface{}{} + if obj.BackendTcpProxyProtocolOptions != nil { + result["backend_tcp_proxy_protocol_options"] = toString(obj.BackendTcpProxyProtocolOptions) + } + if obj.BackendTcpProxyProtocolVersion != nil { result["backend_tcp_proxy_protocol_version"] = int(*obj.BackendTcpProxyProtocolVersion) } diff --git a/internal/service/opsi/opsi_database_insight_data_source.go b/internal/service/opsi/opsi_database_insight_data_source.go index 7e10f50d272..19b580bfcc4 100644 --- a/internal/service/opsi/opsi_database_insight_data_source.go +++ b/internal/service/opsi/opsi_database_insight_data_source.go @@ -67,6 +67,90 @@ func (s *OpsiDatabaseInsightDataSourceCrud) SetData() error { s.D.SetId(tfresource.GenerateDataSourceHashID("OpsiDatabaseInsightsSingularDataSource-", OpsiDatabaseInsightsDataSource(), s.D)) switch v := (s.Res.DatabaseInsight).(type) { + case oci_opsi.AutonomousDatabaseInsight: + s.D.Set("entity_source", "AUTONOMOUS_DATABASE") + + if v.ConnectionDetails != nil { + s.D.Set("connection_details", []interface{}{ConnectionDetailsToMap(v.ConnectionDetails)}) + } else { + s.D.Set("connection_details", nil) + } + log.Printf("[DEBUG] in data source setData") + if v.CredentialDetails != nil { + credentialDetailsArray := []interface{}{} + if credentialDetailsMap := CredentialDetailsToMap(&v.CredentialDetails); credentialDetailsMap != nil { + credentialDetailsArray = append(credentialDetailsArray, credentialDetailsMap) + } + s.D.Set("credential_details", credentialDetailsArray) + } else { + s.D.Set("credential_details", nil) + } + + if v.DatabaseDisplayName != nil { + s.D.Set("database_display_name", *v.DatabaseDisplayName) + } + + if v.DatabaseId != nil { + s.D.Set("database_id", *v.DatabaseId) + } + + if v.DatabaseName != nil { + s.D.Set("database_name", *v.DatabaseName) + } + + if v.DatabaseResourceType != nil { + s.D.Set("database_resource_type", *v.DatabaseResourceType) + } + + if v.OpsiPrivateEndpointId != nil { + s.D.Set("opsi_private_endpoint_id", *v.OpsiPrivateEndpointId) + } + + if v.IsAdvancedFeaturesEnabled != nil { + s.D.Set("is_advanced_features_enabled", *v.IsAdvancedFeaturesEnabled) + } + + if v.CompartmentId != nil { + s.D.Set("compartment_id", *v.CompartmentId) + } + + if v.DatabaseConnectionStatusDetails != nil { + s.D.Set("database_connection_status_details", *v.DatabaseConnectionStatusDetails) + } + + if v.DatabaseType != nil { + s.D.Set("database_type", *v.DatabaseType) + } + + if v.DatabaseVersion != nil { + s.D.Set("database_version", *v.DatabaseVersion) + } + + if v.DefinedTags != nil { + s.D.Set("defined_tags", tfresource.DefinedTagsToMap(v.DefinedTags)) + } + + s.D.Set("freeform_tags", v.FreeformTags) + + if v.LifecycleDetails != nil { + s.D.Set("lifecycle_details", *v.LifecycleDetails) + } + + s.D.Set("state", v.LifecycleState) + + s.D.Set("status", v.Status) + + if v.SystemTags != nil { + s.D.Set("system_tags", tfresource.SystemTagsToMap(v.SystemTags)) + } + + if v.TimeCreated != nil { + s.D.Set("time_created", v.TimeCreated.String()) + } + + if v.TimeUpdated != nil { + s.D.Set("time_updated", v.TimeUpdated.String()) + } case oci_opsi.EmManagedExternalDatabaseInsight: s.D.Set("entity_source", "EM_MANAGED_EXTERNAL_DATABASE") diff --git a/internal/service/opsi/opsi_database_insight_resource.go b/internal/service/opsi/opsi_database_insight_resource.go index a48e62d7550..444c77eabd5 100644 --- a/internal/service/opsi/opsi_database_insight_resource.go +++ b/internal/service/opsi/opsi_database_insight_resource.go @@ -46,6 +46,7 @@ func OpsiDatabaseInsightResource() *schema.Resource { "MACS_MANAGED_CLOUD_DATABASE", "MDS_MYSQL_DATABASE_SYSTEM", "PE_COMANAGED_DATABASE", + "AUTONOMOUS_DATABASE", }, true), }, // Optional @@ -111,7 +112,9 @@ func OpsiDatabaseInsightResource() *schema.Resource { Elem: &schema.Resource{ Schema: map[string]*schema.Schema{ // Required + // Optional + // Computed "host_ip": { Type: schema.TypeString, @@ -153,11 +156,12 @@ func OpsiDatabaseInsightResource() *schema.Resource { Schema: map[string]*schema.Schema{ // Required "credential_type": { - Type: schema.TypeString, - Required: true, - ForceNew: true, + Type: schema.TypeString, + Required: true, + //ForceNew: true, DiffSuppressFunc: tfresource.EqualIgnoreCaseSuppressDiff, ValidateFunc: validation.StringInSlice([]string{ + "CREDENTIALS_BY_IAM", "CREDENTIALS_BY_SOURCE", "CREDENTIALS_BY_VAULT", }, true), @@ -265,6 +269,12 @@ func OpsiDatabaseInsightResource() *schema.Resource { Computed: true, ForceNew: true, }, + "is_advanced_features_enabled": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + //ForceNew: true, + }, "management_agent_id": { Type: schema.TypeString, Optional: true, @@ -471,6 +481,7 @@ func (s *OpsiDatabaseInsightResourceCrud) Create() error { if status, ok := s.D.GetOkExists("status"); ok { wantedState := strings.ToUpper(status.(string)) + log.Printf("[DEBUG] Running CREATE and wantedState (%s)", wantedState) if oci_opsi.ResourceStatusDisabled == oci_opsi.ResourceStatusEnum(wantedState) { request := oci_opsi.DisableDatabaseInsightRequest{} request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opsi") @@ -630,6 +641,7 @@ func (s *OpsiDatabaseInsightResourceCrud) Get() error { func (s *OpsiDatabaseInsightResourceCrud) Update() error { if compartment, ok := s.D.GetOkExists("compartment_id"); ok && s.D.HasChange("compartment_id") { + log.Printf("[DEBUG] Running Update moviing compartment (%s)", compartment) oldRaw, newRaw := s.D.GetChange("compartment_id") if newRaw != "" && oldRaw != "" { err := s.updateCompartment(compartment) @@ -670,6 +682,19 @@ func (s *OpsiDatabaseInsightResourceCrud) Update() error { } } + // For AUTONOMOUS_DATABASE + if strings.ToLower(entitySource) == strings.ToLower("AUTONOMOUS_DATABASE") { + updateAdbFullFeatureRequest := oci_opsi.ChangeAutonomousDatabaseInsightAdvancedFeaturesRequest{} + updateFullFeature := s.populateUpdateAdbFullFeatureRequest(&updateAdbFullFeatureRequest) + log.Printf("[DEBUG] Running Update after change adb (%t)", updateFullFeature) + if updateFullFeature { + err := s.updateAdbFullFeatures(&updateAdbFullFeatureRequest) + if err != nil { + return err + } + } + } + request := oci_opsi.UpdateDatabaseInsightRequest{} err := s.populateTopLevelPolymorphicUpdateDatabaseInsightRequest(&request) if err != nil { @@ -704,6 +729,8 @@ func (s *OpsiDatabaseInsightResourceCrud) Update() error { } } + log.Printf("[DEBUG] status in update disable : (%t), enable :(%t)", disableDatabaseInsight, enableDatabaseInsight) + if disableDatabaseInsight { request := oci_opsi.DisableDatabaseInsightRequest{} request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "opsi") @@ -796,6 +823,85 @@ func (s *OpsiDatabaseInsightResourceCrud) Delete() error { func (s *OpsiDatabaseInsightResourceCrud) SetData() error { switch v := (*s.Res).(type) { + case oci_opsi.AutonomousDatabaseInsight: + if v.ConnectionDetails != nil { + s.D.Set("connection_details", []interface{}{ConnectionDetailsToMap(v.ConnectionDetails)}) + } else { + s.D.Set("connection_details", nil) + } + + if v.CredentialDetails != nil { + credentialDetailsArray := []interface{}{} + if credentialDetailsMap := CredentialDetailsToMap(&v.CredentialDetails); credentialDetailsMap != nil { + credentialDetailsArray = append(credentialDetailsArray, credentialDetailsMap) + } + s.D.Set("credential_details", credentialDetailsArray) + } else { + s.D.Set("credential_details", nil) + } + + if v.DatabaseDisplayName != nil { + s.D.Set("database_display_name", *v.DatabaseDisplayName) + } + + if v.DatabaseId != nil { + s.D.Set("database_id", *v.DatabaseId) + } + + if v.DatabaseName != nil { + s.D.Set("database_name", *v.DatabaseName) + } + + if v.DatabaseType != nil { + s.D.Set("database_type", *v.DatabaseType) + } + + if v.DatabaseResourceType != nil { + s.D.Set("database_resource_type", *v.DatabaseResourceType) + } + + if v.OpsiPrivateEndpointId != nil { + s.D.Set("opsi_private_endpoint_id", *v.OpsiPrivateEndpointId) + } + + if v.CompartmentId != nil { + s.D.Set("compartment_id", *v.CompartmentId) + } + + if v.DatabaseConnectionStatusDetails != nil { + s.D.Set("database_connection_status_details", *v.DatabaseConnectionStatusDetails) + } + + if v.DefinedTags != nil { + s.D.Set("defined_tags", tfresource.DefinedTagsToMap(v.DefinedTags)) + } + + s.D.Set("freeform_tags", v.FreeformTags) + + if v.LifecycleDetails != nil { + s.D.Set("lifecycle_details", *v.LifecycleDetails) + } + + if v.ProcessorCount != nil { + s.D.Set("processor_count", *v.ProcessorCount) + } + + s.D.Set("state", v.LifecycleState) + + s.D.Set("status", v.Status) + + if v.SystemTags != nil { + s.D.Set("system_tags", tfresource.SystemTagsToMap(v.SystemTags)) + } + + if v.TimeCreated != nil { + s.D.Set("time_created", v.TimeCreated.String()) + } + + if v.TimeUpdated != nil { + s.D.Set("time_updated", v.TimeUpdated.String()) + } + case oci_opsi.EmManagedExternalDatabaseInsight: s.D.Set("entity_source", "EM_MANAGED_EXTERNAL_DATABASE") @@ -1182,6 +1288,8 @@ func ConnectionDetailsToMap(obj *oci_opsi.ConnectionDetails) map[string]interfac result["protocol"] = string(obj.Protocol) + log.Printf("[DEBUG] populate for updating (%s)", result["protocol"]) + if obj.ServiceName != nil { result["service_name"] = string(*obj.ServiceName) } @@ -1200,6 +1308,13 @@ func (s *OpsiDatabaseInsightResourceCrud) mapToCredentialDetails(fieldKeyFormat credentialType = "" // default value } switch strings.ToLower(credentialType) { + case strings.ToLower("CREDENTIALS_BY_IAM"): + details := oci_opsi.CredentialByIam{} + if credentialSourceName, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "credential_source_name")); ok { + tmp := credentialSourceName.(string) + details.CredentialSourceName = &tmp + } + baseObject = details case strings.ToLower("CREDENTIALS_BY_SOURCE"): details := oci_opsi.CredentialsBySource{} if credentialSourceName, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "credential_source_name")); ok { @@ -1235,6 +1350,8 @@ func (s *OpsiDatabaseInsightResourceCrud) mapToCredentialDetails(fieldKeyFormat func CredentialDetailsToMap(obj *oci_opsi.CredentialDetails) map[string]interface{} { result := map[string]interface{}{} switch v := (*obj).(type) { + case oci_opsi.CredentialByIam: + result["credential_type"] = "CREDENTIALS_BY_IAM" case oci_opsi.CredentialsBySource: result["credential_type"] = "CREDENTIALS_BY_SOURCE" case oci_opsi.CredentialByVault: @@ -1265,6 +1382,70 @@ func DatabaseInsightSummaryToMap(obj oci_opsi.DatabaseInsightSummary) map[string result := map[string]interface{}{} switch v := (obj).(type) { + case oci_opsi.AutonomousDatabaseInsightSummary: + result["entity_source"] = "AUTONOMOUS_DATABASE" + if v.Id != nil { + result["id"] = string(*v.Id) + } + + if v.DatabaseId != nil { + result["database_id"] = string(*v.DatabaseId) + } + + if v.CompartmentId != nil { + result["compartment_id"] = string(*v.CompartmentId) + } + + if v.DatabaseName != nil { + result["database_name"] = string(*v.DatabaseName) + } + + if v.DatabaseDisplayName != nil { + result["database_display_name"] = string(*v.DatabaseDisplayName) + } + + if v.DatabaseType != nil { + result["database_type"] = string(*v.DatabaseType) + } + + if v.DatabaseVersion != nil { + result["database_version"] = string(*v.DatabaseVersion) + } + + if v.LifecycleDetails != nil { + result["lifecycle_details"] = string(*v.LifecycleDetails) + } + + result["state"] = string(v.LifecycleState) + + result["status"] = string(v.Status) + + if v.TimeCreated != nil { + result["time_created"] = v.TimeCreated.String() + } + + if v.TimeUpdated != nil { + result["time_updated"] = v.TimeUpdated.String() + } + + if v.SystemTags != nil { + result["system_tags"] = tfresource.SystemTagsToMap(v.SystemTags) + } + + result["freeform_tags"] = v.FreeformTags + + if v.DefinedTags != nil { + result["defined_tags"] = tfresource.DefinedTagsToMap(v.DefinedTags) + } + + if v.DatabaseResourceType != nil { + result["database_resource_type"] = string(*v.DatabaseResourceType) + } + + if v.IsAdvancedFeaturesEnabled != nil { + result["is_advanced_features_enabled"] = bool(*v.IsAdvancedFeaturesEnabled) + } + case oci_opsi.EmManagedExternalDatabaseInsightSummary: result["entity_source"] = "EM_MANAGED_EXTERNAL_DATABASE" if v.Id != nil { @@ -1653,6 +1834,7 @@ func PeComanagedDatabaseHostDetailsToMap(obj oci_opsi.PeComanagedDatabaseHostDet func (s *OpsiDatabaseInsightResourceCrud) populateChangePeComanagedDatabaseInsightRequest(updateRequest *oci_opsi.ChangePeComanagedDatabaseInsightRequest) bool { hasChanged := false + if credentialDetails, ok := s.D.GetOkExists("credential_details"); ok { if s.D.HasChange("credential_details.0.password_secret_id") || s.D.HasChange("credential_details.0.user_name") || s.D.HasChange("credential_details.0.role") { hasChanged = true @@ -1683,6 +1865,34 @@ func (s *OpsiDatabaseInsightResourceCrud) populateChangePeComanagedDatabaseInsig return hasChanged } +func (s *OpsiDatabaseInsightResourceCrud) populateUpdateAdbFullFeatureRequest(updateRequest *oci_opsi.ChangeAutonomousDatabaseInsightAdvancedFeaturesRequest) bool { + hasChanged := false + if credentialDetails, ok := s.D.GetOkExists("credential_details"); ok { + if s.D.HasChange("credential_details.0.credential_type") { + hasChanged = true + } + if tmpList := credentialDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "credential_details", 0) + tmp, err := s.mapToCredentialDetails(fieldKeyFormat) + if err != nil { + return false + } + updateRequest.CredentialDetails = tmp + } + } + if connectionDetails, ok := s.D.GetOkExists("connection_details"); ok { + if tmpList := connectionDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "connection_details", 0) + tmp, err := s.mapToConnectionDetails(fieldKeyFormat) + if err != nil { + return false + } + updateRequest.ConnectionDetails = &tmp + } + } + return hasChanged +} + func (s *OpsiDatabaseInsightResourceCrud) populateChangeMacsCloudConnectionDetailsRequest(updateRequest *oci_opsi.ChangeMacsManagedCloudDatabaseInsightConnectionRequest) bool { hasChanged := false if connectionCredentialDetails, ok := s.D.GetOkExists("connection_credential_details"); ok { @@ -1731,6 +1941,68 @@ func (s *OpsiDatabaseInsightResourceCrud) populateTopLevelPolymorphicCreateDatab entitySource = "" // default value } switch strings.ToLower(entitySource) { + case strings.ToLower("AUTONOMOUS_DATABASE"): + details := oci_opsi.CreateAutonomousDatabaseInsightDetails{} + if connectionDetails, ok := s.D.GetOkExists("connection_details"); ok { + if tmpList := connectionDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "connection_details", 0) + tmp, err := s.mapToConnectionDetails(fieldKeyFormat) + if err != nil { + return err + } + details.ConnectionDetails = &tmp + } + } + if credentialDetails, ok := s.D.GetOkExists("credential_details"); ok { + if tmpList := credentialDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "credential_details", 0) + tmp, err := s.mapToCredentialDetails(fieldKeyFormat) + if err != nil { + return err + } + details.CredentialDetails = tmp + } + } + if databaseId, ok := s.D.GetOkExists("database_id"); ok { + tmp := databaseId.(string) + details.DatabaseId = &tmp + } + if databaseResourceType, ok := s.D.GetOkExists("database_resource_type"); ok { + tmp := databaseResourceType.(string) + details.DatabaseResourceType = &tmp + } + if isAdvancedFeaturesEnabled, ok := s.D.GetOkExists("is_advanced_features_enabled"); ok { + tmp := isAdvancedFeaturesEnabled.(bool) + details.IsAdvancedFeaturesEnabled = &tmp + } + if opsiPrivateEndpointId, ok := s.D.GetOkExists("opsi_private_endpoint_id"); ok { + tmp := opsiPrivateEndpointId.(string) + details.OpsiPrivateEndpointId = &tmp + } + + if compartmentId, ok := s.D.GetOkExists("compartment_id"); ok { + tmp := compartmentId.(string) + details.CompartmentId = &tmp + } + if definedTags, ok := s.D.GetOkExists("defined_tags"); ok { + convertedDefinedTags, err := tfresource.MapToDefinedTags(definedTags.(map[string]interface{})) + if err != nil { + return err + } + details.DefinedTags = convertedDefinedTags + } + if freeformTags, ok := s.D.GetOkExists("freeform_tags"); ok { + details.FreeformTags = tfresource.ObjectMapToStringMap(freeformTags.(map[string]interface{})) + } + if systemTags, ok := s.D.GetOkExists("system_tags"); ok { + convertedSystemTags, err := tfresource.MapToSystemTags(systemTags.(map[string]interface{})) + if err != nil { + return err + } + details.SystemTags = convertedSystemTags + } + + request.CreateDatabaseInsightDetails = details case strings.ToLower("EM_MANAGED_EXTERNAL_DATABASE"): details := oci_opsi.CreateEmManagedExternalDatabaseInsightDetails{} if enterpriseManagerBridgeId, ok := s.D.GetOkExists("enterprise_manager_bridge_id"); ok { @@ -1935,7 +2207,7 @@ func (s *OpsiDatabaseInsightResourceCrud) populateTopLevelPolymorphicUpdateDatab } else { entitySource = "" // default value } - + log.Printf("[DEBUG] populate for updating (%s)", entitySourceRaw) switch strings.ToLower(entitySource) { case strings.ToLower("EM_MANAGED_EXTERNAL_DATABASE"): details := oci_opsi.UpdateEmManagedExternalDatabaseInsightDetails{} @@ -1982,6 +2254,21 @@ func (s *OpsiDatabaseInsightResourceCrud) populateTopLevelPolymorphicUpdateDatab details.FreeformTags = tfresource.ObjectMapToStringMap(freeformTags.(map[string]interface{})) } request.UpdateDatabaseInsightDetails = details + case strings.ToLower("AUTONOMOUS_DATABASE"): + details := oci_opsi.UpdateAutonomousDatabaseInsightDetails{} + tmp := s.D.Id() + request.DatabaseInsightId = &tmp + if definedTags, ok := s.D.GetOkExists("defined_tags"); ok { + convertedDefinedTags, err := tfresource.MapToDefinedTags(definedTags.(map[string]interface{})) + if err != nil { + return err + } + details.DefinedTags = convertedDefinedTags + } + if freeformTags, ok := s.D.GetOkExists("freeform_tags"); ok { + details.FreeformTags = tfresource.ObjectMapToStringMap(freeformTags.(map[string]interface{})) + } + request.UpdateDatabaseInsightDetails = details case strings.ToLower("MDS_MYSQL_DATABASE_SYSTEM"): details := oci_opsi.UpdateMdsMySqlDatabaseInsight{} tmp := s.D.Id() @@ -2062,6 +2349,43 @@ func (s *OpsiDatabaseInsightResourceCrud) populateTopLevelPolymorphicEnableDatab details.FreeformTags = tfresource.ObjectMapToStringMap(freeformTags.(map[string]interface{})) } request.EnableDatabaseInsightDetails = details + case strings.ToLower("AUTONOMOUS_DATABASE"): + details := oci_opsi.EnableAutonomousDatabaseInsightDetails{} + if opsiPrivateEndpointId, ok := s.D.GetOkExists("opsi_private_endpoint_id"); ok { + tmp := opsiPrivateEndpointId.(string) + details.OpsiPrivateEndpointId = &tmp + } + if credentialDetails, ok := s.D.GetOkExists("credential_details"); ok { + if tmpList := credentialDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "credential_details", 0) + tmp, err := s.mapToCredentialDetails(fieldKeyFormat) + if err != nil { + return err + } + details.CredentialDetails = tmp + } + } + if connectionDetails, ok := s.D.GetOkExists("connection_details"); ok { + if tmpList := connectionDetails.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "connection_details", 0) + tmp, err := s.mapToConnectionDetails(fieldKeyFormat) + if err != nil { + return err + } + details.ConnectionDetails = &tmp + } + } + if definedTags, ok := s.D.GetOkExists("defined_tags"); ok { + convertedDefinedTags, err := tfresource.MapToDefinedTags(definedTags.(map[string]interface{})) + if err != nil { + return err + } + details.DefinedTags = convertedDefinedTags + } + if freeformTags, ok := s.D.GetOkExists("freeform_tags"); ok { + details.FreeformTags = tfresource.ObjectMapToStringMap(freeformTags.(map[string]interface{})) + } + request.EnableDatabaseInsightDetails = details case strings.ToLower("MACS_MANAGED_CLOUD_DATABASE"): details := oci_opsi.EnableMacsManagedCloudDatabaseInsightDetails{} if managementAgentId, ok := s.D.GetOkExists("management_agent_id"); ok { diff --git a/internal/service/stack_monitoring/register_datasource.go b/internal/service/stack_monitoring/register_datasource.go index 7751a73a735..31b9cf01d00 100644 --- a/internal/service/stack_monitoring/register_datasource.go +++ b/internal/service/stack_monitoring/register_datasource.go @@ -14,6 +14,8 @@ func RegisterDatasource() { tfresource.RegisterDatasource("oci_stack_monitoring_discovery_job", StackMonitoringDiscoveryJobDataSource()) tfresource.RegisterDatasource("oci_stack_monitoring_discovery_job_logs", StackMonitoringDiscoveryJobLogsDataSource()) tfresource.RegisterDatasource("oci_stack_monitoring_discovery_jobs", StackMonitoringDiscoveryJobsDataSource()) + tfresource.RegisterDatasource("oci_stack_monitoring_maintenance_window", StackMonitoringMaintenanceWindowDataSource()) + tfresource.RegisterDatasource("oci_stack_monitoring_maintenance_windows", StackMonitoringMaintenanceWindowsDataSource()) tfresource.RegisterDatasource("oci_stack_monitoring_metric_extension", StackMonitoringMetricExtensionDataSource()) tfresource.RegisterDatasource("oci_stack_monitoring_metric_extensions", StackMonitoringMetricExtensionsDataSource()) tfresource.RegisterDatasource("oci_stack_monitoring_monitored_resource", StackMonitoringMonitoredResourceDataSource()) diff --git a/internal/service/stack_monitoring/register_resource.go b/internal/service/stack_monitoring/register_resource.go index 86c4a642a9d..34fe65725e7 100644 --- a/internal/service/stack_monitoring/register_resource.go +++ b/internal/service/stack_monitoring/register_resource.go @@ -9,6 +9,9 @@ func RegisterResource() { tfresource.RegisterResource("oci_stack_monitoring_baselineable_metric", StackMonitoringBaselineableMetricResource()) tfresource.RegisterResource("oci_stack_monitoring_config", StackMonitoringConfigResource()) tfresource.RegisterResource("oci_stack_monitoring_discovery_job", StackMonitoringDiscoveryJobResource()) + tfresource.RegisterResource("oci_stack_monitoring_maintenance_window", StackMonitoringMaintenanceWindowResource()) + tfresource.RegisterResource("oci_stack_monitoring_maintenance_windows_retry_failed_operation", StackMonitoringMaintenanceWindowsRetryFailedOperationResource()) + tfresource.RegisterResource("oci_stack_monitoring_maintenance_windows_stop", StackMonitoringMaintenanceWindowsStopResource()) tfresource.RegisterResource("oci_stack_monitoring_metric_extension", StackMonitoringMetricExtensionResource()) tfresource.RegisterResource("oci_stack_monitoring_metric_extension_metric_extension_on_given_resources_management", StackMonitoringMetricExtensionMetricExtensionOnGivenResourcesManagementResource()) tfresource.RegisterResource("oci_stack_monitoring_metric_extensions_test_management", StackMonitoringMetricExtensionsTestManagementResource()) diff --git a/internal/service/stack_monitoring/stack_monitoring_export.go b/internal/service/stack_monitoring/stack_monitoring_export.go index d57e9013912..097cc45ca29 100644 --- a/internal/service/stack_monitoring/stack_monitoring_export.go +++ b/internal/service/stack_monitoring/stack_monitoring_export.go @@ -130,6 +130,29 @@ var exportStackMonitoringProcessSetHints = &tf_export.TerraformResourceHints{ }, } +var exportStackMonitoringMaintenanceWindowHints = &tf_export.TerraformResourceHints{ + ResourceClass: "oci_stack_monitoring_maintenance_window", + DatasourceClass: "oci_stack_monitoring_maintenance_windows", + DatasourceItemsAttr: "maintenance_window_collection", + IsDatasourceCollection: true, + ResourceAbbreviation: "maintenance_window", + RequireResourceRefresh: true, + DiscoverableLifecycleStates: []string{ + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateActive), + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateNeedsAttention), + }, +} + +var exportStackMonitoringMaintenanceWindowsRetryFailedOperationHints = &tf_export.TerraformResourceHints{ + ResourceClass: "oci_stack_monitoring_maintenance_windows_retry_failed_operation", + ResourceAbbreviation: "maintenance_windows_retry_failed_operation", +} + +var exportStackMonitoringMaintenanceWindowsStopHints = &tf_export.TerraformResourceHints{ + ResourceClass: "oci_stack_monitoring_maintenance_windows_stop", + ResourceAbbreviation: "maintenance_windows_stop", +} + var stackMonitoringResourceGraph = tf_export.TerraformResourceGraph{ "oci_identity_compartment": { {TerraformResourceHints: exportStackMonitoringDiscoveryJobHints}, @@ -137,6 +160,7 @@ var stackMonitoringResourceGraph = tf_export.TerraformResourceGraph{ {TerraformResourceHints: exportStackMonitoringMetricExtensionHints}, {TerraformResourceHints: exportStackMonitoringBaselineableMetricHints}, {TerraformResourceHints: exportStackMonitoringProcessSetHints}, + {TerraformResourceHints: exportStackMonitoringMaintenanceWindowHints}, }, "oci_stack_monitoring_monitored_resource": { { diff --git a/internal/service/stack_monitoring/stack_monitoring_maintenance_window_data_source.go b/internal/service/stack_monitoring/stack_monitoring_maintenance_window_data_source.go new file mode 100644 index 00000000000..c0d46808a2f --- /dev/null +++ b/internal/service/stack_monitoring/stack_monitoring_maintenance_window_data_source.go @@ -0,0 +1,116 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package stack_monitoring + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + oci_stack_monitoring "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + + "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/tfresource" +) + +func StackMonitoringMaintenanceWindowDataSource() *schema.Resource { + fieldMap := make(map[string]*schema.Schema) + fieldMap["maintenance_window_id"] = &schema.Schema{ + Type: schema.TypeString, + Required: true, + } + return tfresource.GetSingularDataSourceItemSchema(StackMonitoringMaintenanceWindowResource(), fieldMap, readSingularStackMonitoringMaintenanceWindow) +} + +func readSingularStackMonitoringMaintenanceWindow(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowDataSourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.ReadResource(sync) +} + +type StackMonitoringMaintenanceWindowDataSourceCrud struct { + D *schema.ResourceData + Client *oci_stack_monitoring.StackMonitoringClient + Res *oci_stack_monitoring.GetMaintenanceWindowResponse +} + +func (s *StackMonitoringMaintenanceWindowDataSourceCrud) VoidState() { + s.D.SetId("") +} + +func (s *StackMonitoringMaintenanceWindowDataSourceCrud) Get() error { + request := oci_stack_monitoring.GetMaintenanceWindowRequest{} + + if maintenanceWindowId, ok := s.D.GetOkExists("maintenance_window_id"); ok { + tmp := maintenanceWindowId.(string) + request.MaintenanceWindowId = &tmp + } + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(false, "stack_monitoring") + + response, err := s.Client.GetMaintenanceWindow(context.Background(), request) + if err != nil { + return err + } + + s.Res = &response + return nil +} + +func (s *StackMonitoringMaintenanceWindowDataSourceCrud) SetData() error { + if s.Res == nil { + return nil + } + + s.D.SetId(*s.Res.Id) + + if s.Res.CompartmentId != nil { + s.D.Set("compartment_id", *s.Res.CompartmentId) + } + + if s.Res.Description != nil { + s.D.Set("description", *s.Res.Description) + } + + s.D.Set("lifecycle_details", s.Res.LifecycleDetails) + + if s.Res.Name != nil { + s.D.Set("name", *s.Res.Name) + } + + resources := []interface{}{} + for _, item := range s.Res.Resources { + resources = append(resources, CreateMaintenanceWindowResourceDetailsToMap(item)) + } + s.D.Set("resources", resources) + + resourcesDetails := []interface{}{} + for _, item := range s.Res.ResourcesDetails { + resourcesDetails = append(resourcesDetails, MonitoredResourceDetailsToMap(item)) + } + s.D.Set("resources_details", resourcesDetails) + + if s.Res.Schedule != nil { + scheduleArray := []interface{}{} + if scheduleMap := MaintenanceWindowScheduleToMap(&s.Res.Schedule); scheduleMap != nil { + scheduleArray = append(scheduleArray, scheduleMap) + } + s.D.Set("schedule", scheduleArray) + } else { + s.D.Set("schedule", nil) + } + + s.D.Set("state", s.Res.LifecycleState) + + if s.Res.TimeCreated != nil { + s.D.Set("time_created", s.Res.TimeCreated.String()) + } + + if s.Res.TimeUpdated != nil { + s.D.Set("time_updated", s.Res.TimeUpdated.String()) + } + + return nil +} diff --git a/internal/service/stack_monitoring/stack_monitoring_maintenance_window_resource.go b/internal/service/stack_monitoring/stack_monitoring_maintenance_window_resource.go new file mode 100644 index 00000000000..fb70a4d48c6 --- /dev/null +++ b/internal/service/stack_monitoring/stack_monitoring_maintenance_window_resource.go @@ -0,0 +1,882 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package stack_monitoring + +import ( + "context" + "fmt" + "log" + "strings" + "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" + + oci_common "github.com/oracle/oci-go-sdk/v65/common" + oci_stack_monitoring "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + + "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/tfresource" +) + +func StackMonitoringMaintenanceWindowResource() *schema.Resource { + return &schema.Resource{ + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Timeouts: tfresource.DefaultTimeout, + Create: createStackMonitoringMaintenanceWindow, + Read: readStackMonitoringMaintenanceWindow, + Update: updateStackMonitoringMaintenanceWindow, + Delete: deleteStackMonitoringMaintenanceWindow, + Schema: map[string]*schema.Schema{ + // Required + "compartment_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "resources": { + Type: schema.TypeList, + Required: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + "resource_id": { + Type: schema.TypeString, + Required: true, + }, + + // Optional + "are_members_included": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + ForceNew: true, + }, + + // Computed + }, + }, + }, + "schedule": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + "schedule_type": { + Type: schema.TypeString, + Required: true, + DiffSuppressFunc: tfresource.EqualIgnoreCaseSuppressDiff, + ValidateFunc: validation.StringInSlice([]string{ + "ONE_TIME", + "RECURRENT", + }, true), + }, + + // Optional + "maintenance_window_duration": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "maintenance_window_recurrences": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "time_maintenance_window_end": { + Type: schema.TypeString, + Optional: true, + Computed: true, + DiffSuppressFunc: tfresource.TimeDiffSuppressFunction, + }, + "time_maintenance_window_start": { + Type: schema.TypeString, + Optional: true, + Computed: true, + DiffSuppressFunc: tfresource.TimeDiffSuppressFunction, + }, + + // Computed + }, + }, + }, + + // Optional + "description": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + + // Computed + "lifecycle_details": { + Type: schema.TypeString, + Computed: true, + }, + "resources_details": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "name": { + Type: schema.TypeString, + Computed: true, + }, + "number_of_members": { + Type: schema.TypeInt, + Computed: true, + }, + "resource_id": { + Type: schema.TypeString, + Computed: true, + }, + "type": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, + "state": { + Type: schema.TypeString, + Computed: true, + }, + "time_created": { + Type: schema.TypeString, + Computed: true, + }, + "time_updated": { + Type: schema.TypeString, + Computed: true, + }, + }, + } +} + +func StackMonitoringMaintenanceWindowSummaryResponse() *schema.Resource { + return &schema.Resource{ + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Timeouts: tfresource.DefaultTimeout, + Create: createStackMonitoringMaintenanceWindow, + Read: readStackMonitoringMaintenanceWindow, + Update: updateStackMonitoringMaintenanceWindow, + Delete: deleteStackMonitoringMaintenanceWindow, + Schema: map[string]*schema.Schema{ + // Required + "id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "name": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "compartment_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "number_of_resources": { + Type: schema.TypeInt, + Required: true, + ForceNew: true, + }, + "lifecycle_state": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "lifecycle_details": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "operation_type": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "operation_status": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "schedule": { + Type: schema.TypeList, + Required: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + "schedule_type": { + Type: schema.TypeString, + Required: true, + DiffSuppressFunc: tfresource.EqualIgnoreCaseSuppressDiff, + ValidateFunc: validation.StringInSlice([]string{ + "ONE_TIME", + "RECURRENT", + }, true), + }, + + // Optional + "maintenance_window_duration": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "maintenance_window_recurrences": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, + "time_maintenance_window_end": { + Type: schema.TypeString, + Optional: true, + Computed: true, + DiffSuppressFunc: tfresource.TimeDiffSuppressFunction, + }, + "time_maintenance_window_start": { + Type: schema.TypeString, + Optional: true, + Computed: true, + DiffSuppressFunc: tfresource.TimeDiffSuppressFunction, + }, + + // Computed + }, + }, + }, + // remove + "state": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "freeform_tags": { + Type: schema.TypeMap, + Elem: &schema.Schema{Type: schema.TypeString}, + Required: true, + ForceNew: true, + }, + "defined_tags": { + Type: schema.TypeMap, + Elem: &schema.Schema{Type: schema.TypeString}, + Required: true, + ForceNew: true, + }, + "system_tags": { + Type: schema.TypeMap, + Elem: &schema.Schema{Type: schema.TypeString}, + Required: true, + ForceNew: true, + }, + + // Optional + + // Computed + }, + } +} + +func createStackMonitoringMaintenanceWindow(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.CreateResource(d, sync) +} + +func readStackMonitoringMaintenanceWindow(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.ReadResource(sync) +} + +func updateStackMonitoringMaintenanceWindow(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.UpdateResource(d, sync) +} + +func deleteStackMonitoringMaintenanceWindow(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + sync.DisableNotFoundRetries = true + + return tfresource.DeleteResource(d, sync) +} + +type StackMonitoringMaintenanceWindowResourceCrud struct { + tfresource.BaseCrud + Client *oci_stack_monitoring.StackMonitoringClient + Res *oci_stack_monitoring.MaintenanceWindow + DisableNotFoundRetries bool +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) ID() string { + return *s.Res.Id +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) CreatedPending() []string { + return []string{ + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateCreating), + } +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) CreatedTarget() []string { + return []string{ + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateActive), + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateNeedsAttention), + } +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) DeletedPending() []string { + return []string{ + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateDeleting), + } +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) DeletedTarget() []string { + return []string{ + string(oci_stack_monitoring.MaintenanceWindowLifecycleStateDeleted), + } +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) Create() error { + request := oci_stack_monitoring.CreateMaintenanceWindowRequest{} + + if compartmentId, ok := s.D.GetOkExists("compartment_id"); ok { + tmp := compartmentId.(string) + request.CompartmentId = &tmp + } + + if description, ok := s.D.GetOkExists("description"); ok { + tmp := description.(string) + request.Description = &tmp + } + + if name, ok := s.D.GetOkExists("name"); ok { + tmp := name.(string) + request.Name = &tmp + } + + if resources, ok := s.D.GetOkExists("resources"); ok { + interfaces := resources.([]interface{}) + tmp := make([]oci_stack_monitoring.CreateMaintenanceWindowResourceDetails, len(interfaces)) + for i := range interfaces { + stateDataIndex := i + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "resources", stateDataIndex) + converted, err := s.mapToCreateMaintenanceWindowResourceDetails(fieldKeyFormat) + if err != nil { + return err + } + tmp[i] = converted + } + if len(tmp) != 0 || s.D.HasChange("resources") { + request.Resources = tmp + } + } + + if schedule, ok := s.D.GetOkExists("schedule"); ok { + if tmpList := schedule.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "schedule", 0) + tmp, err := s.mapToMaintenanceWindowSchedule(fieldKeyFormat) + if err != nil { + return err + } + request.Schedule = tmp + } + } + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring") + + response, err := s.Client.CreateMaintenanceWindow(context.Background(), request) + if err != nil { + return err + } + + workId := response.OpcWorkRequestId + var identifier *string + identifier = response.Id + if identifier != nil { + s.D.SetId(*identifier) + } + return s.getMaintenanceWindowFromWorkRequest(workId, tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring"), oci_stack_monitoring.ActionTypeCreated, s.D.Timeout(schema.TimeoutCreate)) +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) getMaintenanceWindowFromWorkRequest(workId *string, retryPolicy *oci_common.RetryPolicy, + actionTypeEnum oci_stack_monitoring.ActionTypeEnum, timeout time.Duration) error { + + // Wait until it finishes + maintenanceWindowId, err := maintenanceWindowWaitForWorkRequest(workId, "maintenancewindow", + actionTypeEnum, timeout, s.DisableNotFoundRetries, s.Client) + + if err != nil { + return err + } + s.D.SetId(*maintenanceWindowId) + + return s.Get() +} + +func maintenanceWindowWorkRequestShouldRetryFunc(timeout time.Duration) func(response oci_common.OCIOperationResponse) bool { + startTime := time.Now() + stopTime := startTime.Add(timeout) + return func(response oci_common.OCIOperationResponse) bool { + + // Stop after timeout has elapsed + if time.Now().After(stopTime) { + return false + } + + // Make sure we stop on default rules + if tfresource.ShouldRetry(response, false, "stack_monitoring", startTime) { + return true + } + + // Only stop if the time Finished is set + if workRequestResponse, ok := response.Response.(oci_stack_monitoring.GetWorkRequestResponse); ok { + return workRequestResponse.TimeFinished == nil + } + return false + } +} + +func maintenanceWindowWaitForWorkRequest(wId *string, entityType string, action oci_stack_monitoring.ActionTypeEnum, + timeout time.Duration, disableFoundRetries bool, client *oci_stack_monitoring.StackMonitoringClient) (*string, error) { + retryPolicy := tfresource.GetRetryPolicy(disableFoundRetries, "stack_monitoring") + retryPolicy.ShouldRetryOperation = maintenanceWindowWorkRequestShouldRetryFunc(timeout) + + response := oci_stack_monitoring.GetWorkRequestResponse{} + stateConf := &resource.StateChangeConf{ + Pending: []string{ + string(oci_stack_monitoring.OperationStatusInProgress), + string(oci_stack_monitoring.OperationStatusAccepted), + string(oci_stack_monitoring.OperationStatusCanceling), + }, + Target: []string{ + string(oci_stack_monitoring.OperationStatusSucceeded), + string(oci_stack_monitoring.OperationStatusFailed), + string(oci_stack_monitoring.OperationStatusCanceled), + }, + Refresh: func() (interface{}, string, error) { + var err error + response, err = client.GetWorkRequest(context.Background(), + oci_stack_monitoring.GetWorkRequestRequest{ + WorkRequestId: wId, + RequestMetadata: oci_common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + wr := &response.WorkRequest + return wr, string(wr.Status), err + }, + Timeout: timeout, + } + if _, e := stateConf.WaitForState(); e != nil { + return nil, e + } + + var identifier *string + // The work request response contains an array of objects that finished the operation + for _, res := range response.Resources { + if strings.Contains(strings.ToLower(*res.EntityType), entityType) { + if res.ActionType == action { + identifier = res.Identifier + break + } + } + } + + // The workrequest may have failed, check for errors if identifier is not found or work failed or got cancelled + if identifier == nil || response.Status == oci_stack_monitoring.OperationStatusFailed || response.Status == oci_stack_monitoring.OperationStatusCanceled { + return nil, getErrorFromStackMonitoringMaintenanceWindowWorkRequest(client, wId, retryPolicy, entityType, action) + } + + return identifier, nil +} + +func getErrorFromStackMonitoringMaintenanceWindowWorkRequest(client *oci_stack_monitoring.StackMonitoringClient, workId *string, retryPolicy *oci_common.RetryPolicy, entityType string, action oci_stack_monitoring.ActionTypeEnum) error { + response, err := client.ListWorkRequestErrors(context.Background(), + oci_stack_monitoring.ListWorkRequestErrorsRequest{ + WorkRequestId: workId, + RequestMetadata: oci_common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + if err != nil { + return err + } + + allErrs := make([]string, 0) + for _, wrkErr := range response.Items { + allErrs = append(allErrs, *wrkErr.Message) + } + errorMessage := strings.Join(allErrs, "\n") + + workRequestErr := fmt.Errorf("work request did not succeed, workId: %s, entity: %s, action: %s. Message: %s", *workId, entityType, action, errorMessage) + + return workRequestErr +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) Get() error { + request := oci_stack_monitoring.GetMaintenanceWindowRequest{} + + tmp := s.D.Id() + request.MaintenanceWindowId = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring") + + response, err := s.Client.GetMaintenanceWindow(context.Background(), request) + if err != nil { + return err + } + + s.Res = &response.MaintenanceWindow + return nil +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) Update() error { + request := oci_stack_monitoring.UpdateMaintenanceWindowRequest{} + + if description, ok := s.D.GetOkExists("description"); ok { + tmp := description.(string) + request.Description = &tmp + } + + tmp := s.D.Id() + request.MaintenanceWindowId = &tmp + + if resources, ok := s.D.GetOkExists("resources"); ok { + interfaces := resources.([]interface{}) + tmp := make([]oci_stack_monitoring.CreateMaintenanceWindowResourceDetails, len(interfaces)) + for i := range interfaces { + stateDataIndex := i + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "resources", stateDataIndex) + converted, err := s.mapToCreateMaintenanceWindowResourceDetails(fieldKeyFormat) + if err != nil { + return err + } + tmp[i] = converted + } + if len(tmp) != 0 || s.D.HasChange("resources") { + request.Resources = tmp + } + } + + if schedule, ok := s.D.GetOkExists("schedule"); ok { + if tmpList := schedule.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "schedule", 0) + tmp, err := s.mapToMaintenanceWindowSchedule(fieldKeyFormat) + if err != nil { + return err + } + request.Schedule = tmp + } + } + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring") + + response, err := s.Client.UpdateMaintenanceWindow(context.Background(), request) + if err != nil { + return err + } + + workId := response.OpcWorkRequestId + return s.getMaintenanceWindowFromWorkRequest(workId, tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring"), oci_stack_monitoring.ActionTypeUpdated, s.D.Timeout(schema.TimeoutUpdate)) +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) Delete() error { + request := oci_stack_monitoring.DeleteMaintenanceWindowRequest{} + + tmp := s.D.Id() + request.MaintenanceWindowId = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring") + + response, err := s.Client.DeleteMaintenanceWindow(context.Background(), request) + if err != nil { + return err + } + + workId := response.OpcWorkRequestId + // Wait until it finishes + _, delWorkRequestErr := maintenanceWindowWaitForWorkRequest(workId, "maintenancewindow", + oci_stack_monitoring.ActionTypeDeleted, s.D.Timeout(schema.TimeoutDelete), s.DisableNotFoundRetries, s.Client) + return delWorkRequestErr +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) SetData() error { + if s.Res.CompartmentId != nil { + s.D.Set("compartment_id", *s.Res.CompartmentId) + } + + if s.Res.Description != nil { + s.D.Set("description", *s.Res.Description) + } + + s.D.Set("lifecycle_details", s.Res.LifecycleDetails) + + if s.Res.Name != nil { + s.D.Set("name", *s.Res.Name) + } + + resources := []interface{}{} + for _, item := range s.Res.Resources { + resources = append(resources, CreateMaintenanceWindowResourceDetailsToMap(item)) + } + s.D.Set("resources", resources) + + resourcesDetails := []interface{}{} + for _, item := range s.Res.ResourcesDetails { + resourcesDetails = append(resourcesDetails, MonitoredResourceDetailsToMap(item)) + } + s.D.Set("resources_details", resourcesDetails) + + if s.Res.Schedule != nil { + scheduleArray := []interface{}{} + if scheduleMap := MaintenanceWindowScheduleToMap(&s.Res.Schedule); scheduleMap != nil { + scheduleArray = append(scheduleArray, scheduleMap) + } + s.D.Set("schedule", scheduleArray) + } else { + s.D.Set("schedule", nil) + } + + s.D.Set("state", s.Res.LifecycleState) + + if s.Res.TimeCreated != nil { + s.D.Set("time_created", s.Res.TimeCreated.String()) + } + + if s.Res.TimeUpdated != nil { + s.D.Set("time_updated", s.Res.TimeUpdated.String()) + } + + return nil +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) mapToCreateMaintenanceWindowResourceDetails(fieldKeyFormat string) (oci_stack_monitoring.CreateMaintenanceWindowResourceDetails, error) { + result := oci_stack_monitoring.CreateMaintenanceWindowResourceDetails{} + + if areMembersIncluded, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "are_members_included")); ok { + tmp := areMembersIncluded.(bool) + result.AreMembersIncluded = &tmp + } + + if resourceId, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "resource_id")); ok { + tmp := resourceId.(string) + result.ResourceId = &tmp + } + + return result, nil +} + +func CreateMaintenanceWindowResourceDetailsToMap(obj oci_stack_monitoring.CreateMaintenanceWindowResourceDetails) map[string]interface{} { + result := map[string]interface{}{} + + if obj.AreMembersIncluded != nil { + result["are_members_included"] = bool(*obj.AreMembersIncluded) + } + + if obj.ResourceId != nil { + result["resource_id"] = string(*obj.ResourceId) + } + + return result +} + +func (s *StackMonitoringMaintenanceWindowResourceCrud) mapToMaintenanceWindowSchedule(fieldKeyFormat string) (oci_stack_monitoring.MaintenanceWindowSchedule, error) { + var baseObject oci_stack_monitoring.MaintenanceWindowSchedule + //discriminator + scheduleTypeRaw, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "schedule_type")) + var scheduleType string + if ok { + scheduleType = scheduleTypeRaw.(string) + } else { + scheduleType = "" // default value + } + switch strings.ToLower(scheduleType) { + case strings.ToLower("ONE_TIME"): + details := oci_stack_monitoring.OneTimeMaintenanceWindowSchedule{} + if timeMaintenanceWindowEnd, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "time_maintenance_window_end")); ok { + tmp, err := time.Parse(time.RFC3339, timeMaintenanceWindowEnd.(string)) + if err != nil { + return details, err + } + details.TimeMaintenanceWindowEnd = &oci_common.SDKTime{Time: tmp} + } + if timeMaintenanceWindowStart, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "time_maintenance_window_start")); ok { + tmp, err := time.Parse(time.RFC3339, timeMaintenanceWindowStart.(string)) + if err != nil { + return details, err + } + details.TimeMaintenanceWindowStart = &oci_common.SDKTime{Time: tmp} + } + baseObject = details + case strings.ToLower("RECURRENT"): + details := oci_stack_monitoring.RecurrentMaintenanceWindowSchedule{} + if maintenanceWindowDuration, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "maintenance_window_duration")); ok { + tmp := maintenanceWindowDuration.(string) + details.MaintenanceWindowDuration = &tmp + } + if maintenanceWindowRecurrences, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "maintenance_window_recurrences")); ok { + tmp := maintenanceWindowRecurrences.(string) + details.MaintenanceWindowRecurrences = &tmp + } + if timeMaintenanceWindowEnd, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "time_maintenance_window_end")); ok { + tmp, err := time.Parse(time.RFC3339, timeMaintenanceWindowEnd.(string)) + if err != nil { + return details, err + } + details.TimeMaintenanceWindowEnd = &oci_common.SDKTime{Time: tmp} + } + if timeMaintenanceWindowStart, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "time_maintenance_window_start")); ok { + tmp, err := time.Parse(time.RFC3339, timeMaintenanceWindowStart.(string)) + if err != nil { + return details, err + } + details.TimeMaintenanceWindowStart = &oci_common.SDKTime{Time: tmp} + } + baseObject = details + default: + return nil, fmt.Errorf("unknown schedule_type '%v' was specified", scheduleType) + } + return baseObject, nil +} + +func MaintenanceWindowScheduleToMap(obj *oci_stack_monitoring.MaintenanceWindowSchedule) map[string]interface{} { + result := map[string]interface{}{} + switch v := (*obj).(type) { + case oci_stack_monitoring.OneTimeMaintenanceWindowSchedule: + result["schedule_type"] = "ONE_TIME" + + if v.TimeMaintenanceWindowEnd != nil { + result["time_maintenance_window_end"] = v.TimeMaintenanceWindowEnd.Format(time.RFC3339Nano) + } + + if v.TimeMaintenanceWindowStart != nil { + result["time_maintenance_window_start"] = v.TimeMaintenanceWindowStart.Format(time.RFC3339Nano) + } + case oci_stack_monitoring.RecurrentMaintenanceWindowSchedule: + result["schedule_type"] = "RECURRENT" + + if v.MaintenanceWindowDuration != nil { + result["maintenance_window_duration"] = string(*v.MaintenanceWindowDuration) + } + + if v.MaintenanceWindowRecurrences != nil { + result["maintenance_window_recurrences"] = string(*v.MaintenanceWindowRecurrences) + } + + if v.TimeMaintenanceWindowEnd != nil { + result["time_maintenance_window_end"] = v.TimeMaintenanceWindowEnd.Format(time.RFC3339Nano) + } + + if v.TimeMaintenanceWindowStart != nil { + result["time_maintenance_window_start"] = v.TimeMaintenanceWindowStart.Format(time.RFC3339Nano) + } + default: + log.Printf("[WARN] Received 'schedule_type' of unknown type %v", *obj) + return nil + } + + return result +} + +func MaintenanceWindowSummaryToMap(obj oci_stack_monitoring.MaintenanceWindowSummary) map[string]interface{} { + result := map[string]interface{}{} + + if obj.CompartmentId != nil { + result["compartment_id"] = string(*obj.CompartmentId) + } + + if obj.DefinedTags != nil { + result["defined_tags"] = tfresource.DefinedTagsToMap(obj.DefinedTags) + } + + result["freeform_tags"] = obj.FreeformTags + + if obj.Id != nil { + result["id"] = string(*obj.Id) + } + + result["lifecycle_details"] = string(obj.LifecycleDetails) + + if obj.Name != nil { + result["name"] = string(*obj.Name) + } + + if obj.NumberOfResources != nil { + result["number_of_resources"] = int(*obj.NumberOfResources) + } + + result["operation_status"] = string(obj.OperationStatus) + + result["operation_type"] = string(obj.OperationType) + + if obj.Schedule != nil { + scheduleArray := []interface{}{} + if scheduleMap := MaintenanceWindowScheduleToMap(&obj.Schedule); scheduleMap != nil { + scheduleArray = append(scheduleArray, scheduleMap) + } + result["schedule"] = scheduleArray + } + + result["state"] = string(obj.LifecycleState) + + if obj.SystemTags != nil { + result["system_tags"] = tfresource.SystemTagsToMap(obj.SystemTags) + } + + return result +} + +func MonitoredResourceDetailsToMap(obj oci_stack_monitoring.MonitoredResourceDetails) map[string]interface{} { + result := map[string]interface{}{} + + if obj.Name != nil { + result["name"] = string(*obj.Name) + } + + if obj.NumberOfMembers != nil { + result["number_of_members"] = int(*obj.NumberOfMembers) + } + + if obj.ResourceId != nil { + result["resource_id"] = string(*obj.ResourceId) + } + + if obj.Type != nil { + result["type"] = string(*obj.Type) + } + + return result +} diff --git a/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_data_source.go b/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_data_source.go new file mode 100644 index 00000000000..aaf3b75ae1b --- /dev/null +++ b/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_data_source.go @@ -0,0 +1,143 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package stack_monitoring + +import ( + "context" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + oci_stack_monitoring "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + + "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/tfresource" +) + +func StackMonitoringMaintenanceWindowsDataSource() *schema.Resource { + return &schema.Resource{ + Read: readStackMonitoringMaintenanceWindows, + Schema: map[string]*schema.Schema{ + "filter": tfresource.DataSourceFiltersSchema(), + "compartment_id": { + Type: schema.TypeString, + Required: true, + }, + "lifecycle_details": { + Type: schema.TypeString, + Optional: true, + }, + "name": { + Type: schema.TypeString, + Optional: true, + }, + "status": { + Type: schema.TypeString, + Optional: true, + }, + "maintenance_window_collection": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + + "items": { + Type: schema.TypeList, + Computed: true, + Elem: tfresource.GetDataSourceItemSchema(StackMonitoringMaintenanceWindowSummaryResponse()), + }, + }, + }, + }, + }, + } +} + +func readStackMonitoringMaintenanceWindows(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowsDataSourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.ReadResource(sync) +} + +type StackMonitoringMaintenanceWindowsDataSourceCrud struct { + D *schema.ResourceData + Client *oci_stack_monitoring.StackMonitoringClient + Res *oci_stack_monitoring.ListMaintenanceWindowsResponse +} + +func (s *StackMonitoringMaintenanceWindowsDataSourceCrud) VoidState() { + s.D.SetId("") +} + +func (s *StackMonitoringMaintenanceWindowsDataSourceCrud) Get() error { + request := oci_stack_monitoring.ListMaintenanceWindowsRequest{} + + if compartmentId, ok := s.D.GetOkExists("compartment_id"); ok { + tmp := compartmentId.(string) + request.CompartmentId = &tmp + } + + if lifecycleDetails, ok := s.D.GetOkExists("lifecycle_details"); ok { + request.LifecycleDetails = oci_stack_monitoring.ListMaintenanceWindowsLifecycleDetailsEnum(lifecycleDetails.(string)) + } + + if name, ok := s.D.GetOkExists("name"); ok { + tmp := name.(string) + request.Name = &tmp + } + + if status, ok := s.D.GetOkExists("status"); ok { + request.Status = oci_stack_monitoring.ListMaintenanceWindowsStatusEnum(status.(string)) + } + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(false, "stack_monitoring") + + response, err := s.Client.ListMaintenanceWindows(context.Background(), request) + if err != nil { + return err + } + + s.Res = &response + request.Page = s.Res.OpcNextPage + + for request.Page != nil { + listResponse, err := s.Client.ListMaintenanceWindows(context.Background(), request) + if err != nil { + return err + } + + s.Res.Items = append(s.Res.Items, listResponse.Items...) + request.Page = listResponse.OpcNextPage + } + + return nil +} + +func (s *StackMonitoringMaintenanceWindowsDataSourceCrud) SetData() error { + if s.Res == nil { + return nil + } + + s.D.SetId(tfresource.GenerateDataSourceHashID("StackMonitoringMaintenanceWindowsDataSource-", StackMonitoringMaintenanceWindowsDataSource(), s.D)) + resources := []map[string]interface{}{} + maintenanceWindow := map[string]interface{}{} + + items := []interface{}{} + for _, item := range s.Res.Items { + items = append(items, MaintenanceWindowSummaryToMap(item)) + } + maintenanceWindow["items"] = items + + if f, fOk := s.D.GetOkExists("filter"); fOk { + items = tfresource.ApplyFiltersInCollection(f.(*schema.Set), items, StackMonitoringMaintenanceWindowsDataSource().Schema["maintenance_window_collection"].Elem.(*schema.Resource).Schema) + maintenanceWindow["items"] = items + } + + resources = append(resources, maintenanceWindow) + if err := s.D.Set("maintenance_window_collection", resources); err != nil { + return err + } + + return nil +} diff --git a/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_retry_failed_operation_resource.go b/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_retry_failed_operation_resource.go new file mode 100644 index 00000000000..231c4359839 --- /dev/null +++ b/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_retry_failed_operation_resource.go @@ -0,0 +1,226 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package stack_monitoring + +import ( + "context" + "fmt" + "strings" + "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + + oci_common "github.com/oracle/oci-go-sdk/v65/common" + oci_stack_monitoring "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + + "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/tfresource" +) + +func StackMonitoringMaintenanceWindowsRetryFailedOperationResource() *schema.Resource { + return &schema.Resource{ + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Timeouts: tfresource.DefaultTimeout, + Create: createStackMonitoringMaintenanceWindowsRetryFailedOperation, + Read: readStackMonitoringMaintenanceWindowsRetryFailedOperation, + Delete: deleteStackMonitoringMaintenanceWindowsRetryFailedOperation, + Schema: map[string]*schema.Schema{ + // Required + "maintenance_window_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + // Optional + + // Computed + }, + } +} + +func createStackMonitoringMaintenanceWindowsRetryFailedOperation(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowsRetryFailedOperationResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.CreateResource(d, sync) +} + +func readStackMonitoringMaintenanceWindowsRetryFailedOperation(d *schema.ResourceData, m interface{}) error { + return nil +} + +func deleteStackMonitoringMaintenanceWindowsRetryFailedOperation(d *schema.ResourceData, m interface{}) error { + return nil +} + +type StackMonitoringMaintenanceWindowsRetryFailedOperationResourceCrud struct { + tfresource.BaseCrud + Client *oci_stack_monitoring.StackMonitoringClient + Res *oci_stack_monitoring.RetryFailedMaintenanceWindowOperationResponse + DisableNotFoundRetries bool +} + +func (s *StackMonitoringMaintenanceWindowsRetryFailedOperationResourceCrud) ID() string { + return tfresource.GenerateDataSourceHashID("StackMonitoringMaintenanceWindowsRetryFailedOperationResource-", StackMonitoringMaintenanceWindowsRetryFailedOperationResource(), s.D) +} + +func (s *StackMonitoringMaintenanceWindowsRetryFailedOperationResourceCrud) Create() error { + request := oci_stack_monitoring.RetryFailedMaintenanceWindowOperationRequest{} + + if maintenanceWindowId, ok := s.D.GetOkExists("maintenance_window_id"); ok { + tmp := maintenanceWindowId.(string) + request.MaintenanceWindowId = &tmp + } + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring") + + response, err := s.Client.RetryFailedMaintenanceWindowOperation(context.Background(), request) + if err != nil { + return err + } + + workId := response.OpcWorkRequestId + + expectedActionTypes := []oci_stack_monitoring.ActionTypeEnum{ + oci_stack_monitoring.ActionTypeCreated, + oci_stack_monitoring.ActionTypeDeleted, + oci_stack_monitoring.ActionTypeUpdated, + oci_stack_monitoring.ActionTypeFailed, + } + + return s.getMaintenanceWindowsRetryFailedOperationFromWorkRequest(workId, tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring"), expectedActionTypes, s.D.Timeout(schema.TimeoutCreate)) +} + +func (s *StackMonitoringMaintenanceWindowsRetryFailedOperationResourceCrud) getMaintenanceWindowsRetryFailedOperationFromWorkRequest(workId *string, retryPolicy *oci_common.RetryPolicy, + actionTypeEnum []oci_stack_monitoring.ActionTypeEnum, timeout time.Duration) error { + + // Wait until it finishes + maintenanceWindowsRetryFailedOperationId, err := maintenanceWindowsRetryFailedOperationWaitForWorkRequest(workId, "maintenancewindow", + actionTypeEnum, timeout, s.DisableNotFoundRetries, s.Client) + + if err != nil { + return err + } + s.D.SetId(*maintenanceWindowsRetryFailedOperationId) + + return nil +} + +func maintenanceWindowsRetryFailedOperationWorkRequestShouldRetryFunc(timeout time.Duration) func(response oci_common.OCIOperationResponse) bool { + startTime := time.Now() + stopTime := startTime.Add(timeout) + return func(response oci_common.OCIOperationResponse) bool { + + // Stop after timeout has elapsed + if time.Now().After(stopTime) { + return false + } + + // Make sure we stop on default rules + if tfresource.ShouldRetry(response, false, "stack_monitoring", startTime) { + return true + } + + // Only stop if the time Finished is set + if workRequestResponse, ok := response.Response.(oci_stack_monitoring.GetWorkRequestResponse); ok { + return workRequestResponse.TimeFinished == nil + } + return false + } +} + +func maintenanceWindowsRetryFailedOperationWaitForWorkRequest(wId *string, entityType string, actions []oci_stack_monitoring.ActionTypeEnum, + timeout time.Duration, disableFoundRetries bool, client *oci_stack_monitoring.StackMonitoringClient) (*string, error) { + retryPolicy := tfresource.GetRetryPolicy(disableFoundRetries, "stack_monitoring") + retryPolicy.ShouldRetryOperation = maintenanceWindowsRetryFailedOperationWorkRequestShouldRetryFunc(timeout) + + response := oci_stack_monitoring.GetWorkRequestResponse{} + stateConf := &resource.StateChangeConf{ + Pending: []string{ + string(oci_stack_monitoring.OperationStatusInProgress), + string(oci_stack_monitoring.OperationStatusAccepted), + string(oci_stack_monitoring.OperationStatusCanceling), + }, + Target: []string{ + string(oci_stack_monitoring.OperationStatusSucceeded), + string(oci_stack_monitoring.OperationStatusFailed), + string(oci_stack_monitoring.OperationStatusCanceled), + }, + Refresh: func() (interface{}, string, error) { + var err error + response, err = client.GetWorkRequest(context.Background(), + oci_stack_monitoring.GetWorkRequestRequest{ + WorkRequestId: wId, + RequestMetadata: oci_common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + wr := &response.WorkRequest + return wr, string(wr.Status), err + }, + Timeout: timeout, + } + if _, e := stateConf.WaitForState(); e != nil { + return nil, e + } + + var identifier *string + // The work request response contains an array of objects that finished the operation + for _, res := range response.Resources { + if strings.Contains(strings.ToLower(*res.EntityType), entityType) { + for _, action := range actions { + if res.ActionType == action { + identifier = res.Identifier + break + } + } + } + } + + // The workrequest may have failed, check for errors if identifier is not found or got cancelled + if identifier == nil || response.Status == oci_stack_monitoring.OperationStatusCanceled { + return nil, getErrorFromStackMonitoringMaintenanceWindowsRetryFailedOperationWorkRequest(client, wId, retryPolicy, entityType, actions) + } + + return identifier, nil +} + +func getErrorFromStackMonitoringMaintenanceWindowsRetryFailedOperationWorkRequest(client *oci_stack_monitoring.StackMonitoringClient, workId *string, retryPolicy *oci_common.RetryPolicy, entityType string, actions []oci_stack_monitoring.ActionTypeEnum) error { + response, err := client.ListWorkRequestErrors(context.Background(), + oci_stack_monitoring.ListWorkRequestErrorsRequest{ + WorkRequestId: workId, + RequestMetadata: oci_common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + if err != nil { + return err + } + + allErrs := make([]string, 0) + for _, wrkErr := range response.Items { + allErrs = append(allErrs, *wrkErr.Message) + } + errorMessage := strings.Join(allErrs, "\n") + + var actionsStrings []string + + for _, action := range actions { + actionsStrings = append(actionsStrings, string(action)) + } + + actionsString := strings.Join(actionsStrings, "|") + workRequestErr := fmt.Errorf("work request did not succeed, workId: %s, entity: %s, action: %s. Message: %s", *workId, entityType, actionsString, errorMessage) + + return workRequestErr +} + +func (s *StackMonitoringMaintenanceWindowsRetryFailedOperationResourceCrud) SetData() error { + return nil +} diff --git a/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_stop_resource.go b/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_stop_resource.go new file mode 100644 index 00000000000..bbc14dd5ee0 --- /dev/null +++ b/internal/service/stack_monitoring/stack_monitoring_maintenance_windows_stop_resource.go @@ -0,0 +1,209 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +package stack_monitoring + +import ( + "context" + "fmt" + "strings" + "time" + + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" + "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" + + oci_common "github.com/oracle/oci-go-sdk/v65/common" + oci_stack_monitoring "github.com/oracle/oci-go-sdk/v65/stackmonitoring" + + "github.com/oracle/terraform-provider-oci/internal/client" + "github.com/oracle/terraform-provider-oci/internal/tfresource" +) + +func StackMonitoringMaintenanceWindowsStopResource() *schema.Resource { + return &schema.Resource{ + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, + Timeouts: tfresource.DefaultTimeout, + Create: createStackMonitoringMaintenanceWindowsStop, + Read: readStackMonitoringMaintenanceWindowsStop, + Delete: deleteStackMonitoringMaintenanceWindowsStop, + Schema: map[string]*schema.Schema{ + // Required + "maintenance_window_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + // Optional + + // Computed + }, + } +} + +func createStackMonitoringMaintenanceWindowsStop(d *schema.ResourceData, m interface{}) error { + sync := &StackMonitoringMaintenanceWindowsStopResourceCrud{} + sync.D = d + sync.Client = m.(*client.OracleClients).StackMonitoringClient() + + return tfresource.CreateResource(d, sync) +} + +func readStackMonitoringMaintenanceWindowsStop(d *schema.ResourceData, m interface{}) error { + return nil +} + +func deleteStackMonitoringMaintenanceWindowsStop(d *schema.ResourceData, m interface{}) error { + return nil +} + +type StackMonitoringMaintenanceWindowsStopResourceCrud struct { + tfresource.BaseCrud + Client *oci_stack_monitoring.StackMonitoringClient + Res *oci_stack_monitoring.StopMaintenanceWindowResponse + DisableNotFoundRetries bool +} + +func (s *StackMonitoringMaintenanceWindowsStopResourceCrud) ID() string { + return tfresource.GenerateDataSourceHashID("StackMonitoringMaintenanceWindowsRetryStopResource-", StackMonitoringMaintenanceWindowsStopResource(), s.D) +} + +func (s *StackMonitoringMaintenanceWindowsStopResourceCrud) Create() error { + request := oci_stack_monitoring.StopMaintenanceWindowRequest{} + + if maintenanceWindowId, ok := s.D.GetOkExists("maintenance_window_id"); ok { + tmp := maintenanceWindowId.(string) + request.MaintenanceWindowId = &tmp + } + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring") + + response, err := s.Client.StopMaintenanceWindow(context.Background(), request) + if err != nil { + return err + } + + workId := response.OpcWorkRequestId + return s.getMaintenanceWindowsStopFromWorkRequest(workId, tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "stack_monitoring"), oci_stack_monitoring.ActionTypeDeleted, s.D.Timeout(schema.TimeoutCreate)) +} + +func (s *StackMonitoringMaintenanceWindowsStopResourceCrud) getMaintenanceWindowsStopFromWorkRequest(workId *string, retryPolicy *oci_common.RetryPolicy, + actionTypeEnum oci_stack_monitoring.ActionTypeEnum, timeout time.Duration) error { + + // Wait until it finishes + maintenanceWindowsStopId, err := maintenanceWindowsStopWaitForWorkRequest(workId, "maintenancewindow", + actionTypeEnum, timeout, s.DisableNotFoundRetries, s.Client) + + if err != nil { + return err + } + s.D.SetId(*maintenanceWindowsStopId) + + return nil +} + +func maintenanceWindowsStopWorkRequestShouldRetryFunc(timeout time.Duration) func(response oci_common.OCIOperationResponse) bool { + startTime := time.Now() + stopTime := startTime.Add(timeout) + return func(response oci_common.OCIOperationResponse) bool { + + // Stop after timeout has elapsed + if time.Now().After(stopTime) { + return false + } + + // Make sure we stop on default rules + if tfresource.ShouldRetry(response, false, "stack_monitoring", startTime) { + return true + } + + // Only stop if the time Finished is set + if workRequestResponse, ok := response.Response.(oci_stack_monitoring.GetWorkRequestResponse); ok { + return workRequestResponse.TimeFinished == nil + } + return false + } +} + +func maintenanceWindowsStopWaitForWorkRequest(wId *string, entityType string, action oci_stack_monitoring.ActionTypeEnum, + timeout time.Duration, disableFoundRetries bool, client *oci_stack_monitoring.StackMonitoringClient) (*string, error) { + retryPolicy := tfresource.GetRetryPolicy(disableFoundRetries, "stack_monitoring") + retryPolicy.ShouldRetryOperation = maintenanceWindowsStopWorkRequestShouldRetryFunc(timeout) + + response := oci_stack_monitoring.GetWorkRequestResponse{} + stateConf := &resource.StateChangeConf{ + Pending: []string{ + string(oci_stack_monitoring.OperationStatusInProgress), + string(oci_stack_monitoring.OperationStatusAccepted), + string(oci_stack_monitoring.OperationStatusCanceling), + }, + Target: []string{ + string(oci_stack_monitoring.OperationStatusSucceeded), + string(oci_stack_monitoring.OperationStatusFailed), + string(oci_stack_monitoring.OperationStatusCanceled), + }, + Refresh: func() (interface{}, string, error) { + var err error + response, err = client.GetWorkRequest(context.Background(), + oci_stack_monitoring.GetWorkRequestRequest{ + WorkRequestId: wId, + RequestMetadata: oci_common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + wr := &response.WorkRequest + return wr, string(wr.Status), err + }, + Timeout: timeout, + } + if _, e := stateConf.WaitForState(); e != nil { + return nil, e + } + + var identifier *string + // The work request response contains an array of objects that finished the operation + for _, res := range response.Resources { + if strings.Contains(strings.ToLower(*res.EntityType), entityType) { + if res.ActionType == action { + identifier = res.Identifier + break + } + } + } + + // The workrequest may have failed, check for errors if identifier is not found or work failed or got cancelled + if identifier == nil || response.Status == oci_stack_monitoring.OperationStatusFailed || response.Status == oci_stack_monitoring.OperationStatusCanceled { + return nil, getErrorFromStackMonitoringMaintenanceWindowsStopWorkRequest(client, wId, retryPolicy, entityType, action) + } + + return identifier, nil +} + +func getErrorFromStackMonitoringMaintenanceWindowsStopWorkRequest(client *oci_stack_monitoring.StackMonitoringClient, workId *string, retryPolicy *oci_common.RetryPolicy, entityType string, action oci_stack_monitoring.ActionTypeEnum) error { + response, err := client.ListWorkRequestErrors(context.Background(), + oci_stack_monitoring.ListWorkRequestErrorsRequest{ + WorkRequestId: workId, + RequestMetadata: oci_common.RequestMetadata{ + RetryPolicy: retryPolicy, + }, + }) + if err != nil { + return err + } + + allErrs := make([]string, 0) + for _, wrkErr := range response.Items { + allErrs = append(allErrs, *wrkErr.Message) + } + errorMessage := strings.Join(allErrs, "\n") + + workRequestErr := fmt.Errorf("work request did not succeed, workId: %s, entity: %s, action: %s. Message: %s", *workId, entityType, action, errorMessage) + + return workRequestErr +} + +func (s *StackMonitoringMaintenanceWindowsStopResourceCrud) SetData() error { + return nil +} diff --git a/internal/tfresource/crud_helpers.go b/internal/tfresource/crud_helpers.go index 6a16edcbc77..bf5eab87d2b 100644 --- a/internal/tfresource/crud_helpers.go +++ b/internal/tfresource/crud_helpers.go @@ -1194,6 +1194,60 @@ func ObjectMapToStringMap(rm map[string]interface{}) map[string]string { return result } +// unflatten +func MapToSecurityAttributes(rawMap map[string]interface{}) map[string]map[string]interface{} { + result := make(map[string]map[string]interface{}) + for fullKey, value := range rawMap { + keys := strings.Split(fullKey, ".") + if len(keys) < 2 { + continue + } + outerKey := keys[0] + innerKey := strings.Join(keys[1:], ".") + if result[outerKey] == nil { + result[outerKey] = make(map[string]interface{}) + } + unflattenHelper(result[outerKey], innerKey, value) + } + + return result +} + +func unflattenHelper(currentMap map[string]interface{}, key string, value interface{}) { + keys := strings.Split(key, ".") + for i, k := range keys { + if i == len(keys)-1 { + currentMap[k] = value + } else { + if _, ok := currentMap[k]; !ok { + currentMap[k] = make(map[string]interface{}) + } + currentMap = currentMap[k].(map[string]interface{}) + } + } +} + +// flatten +func SecurityAttributesToMap(rm map[string]map[string]interface{}) map[string]interface{} { + result := make(map[string]interface{}) + for outerKey, innerMap := range rm { + flattenHelper(result, outerKey, innerMap) + } + + return result +} + +func flattenHelper(flat map[string]interface{}, prefix string, nested map[string]interface{}) { + for key, value := range nested { + fullKey := prefix + "." + key + if reflect.TypeOf(value).Kind() == reflect.Map { + flattenHelper(flat, fullKey, value.(map[string]interface{})) + } else { + flat[fullKey] = value + } + } +} + func StringMapToObjectMap(sm map[string]string) map[string]interface{} { var result = make(map[string]interface{}) if len(sm) > 0 { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/common/version.go b/vendor/github.com/oracle/oci-go-sdk/v65/common/version.go index 7c69bfa3a84..7e36c4cd322 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/common/version.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/common/version.go @@ -13,7 +13,7 @@ import ( const ( major = "65" minor = "75" - patch = "1" + patch = "2" tag = "" ) diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/add_on_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/add_on_options.go index f21717d8071..d7944957edc 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/add_on_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/add_on_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon.go index a181fe9b2c3..c6247ce6ade 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_configuration.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_configuration.go index 18e45e98ca2..4d79d670b8e 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_configuration.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_configuration.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_error.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_error.go index 76a0c6249de..2f10b7f9335 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_error.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_error.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_lifecycle_state.go index 37347a6fb38..e7339e90ce6 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_lifecycle_state.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_option_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_option_summary.go index a8d46800c9d..46210220f72 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_option_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_option_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_summary.go index b4bf81ebb29..aaf7c03f3f5 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_version_configuration.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_version_configuration.go index fec500f1f09..8c8d9c3eeff 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_version_configuration.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_version_configuration.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_versions.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_versions.go index 01a61fab55e..2296534d316 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_versions.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/addon_versions.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/admission_controller_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/admission_controller_options.go index 36a22ba20cc..d80d33ca8c0 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/admission_controller_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/admission_controller_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster.go index 0df24041d15..da6f644fca8 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -62,7 +62,7 @@ type Cluster struct { // Metadata about the cluster. Metadata *ClusterMetadata `mandatory:"false" json:"metadata"` - // The state of the cluster masters. + // The state of the cluster masters. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState ClusterLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` // Details about the state of the cluster masters. diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_create_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_create_options.go index ca766bbffc2..eafbcf7c206 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_create_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_create_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoint_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoint_config.go index c4dbd716af0..4d2db14a0a9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoint_config.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoint_config.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoints.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoints.go index 03596b64c15..d0b7e5bc56c 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoints.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_endpoints.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_lifecycle_state.go index bcd6912603d..67cb8985835 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_lifecycle_state.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_metadata.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_metadata.go index d95f01c117d..25a4ddce7f5 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_metadata.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_metadata.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_details.go index 666ba6fab8a..829b4308aa9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_status.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_status.go index 950acfb5e66..e57770322b2 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_status.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_migrate_to_native_vcn_status.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_options.go index cd4839078ff..f1790141ba1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_pod_network_option_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_pod_network_option_details.go index 5d5caf2ae87..dc854ded848 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_pod_network_option_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_pod_network_option_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_summary.go index 9f75d7e7d45..d84864fb280 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -59,7 +59,7 @@ type ClusterSummary struct { // Metadata about the cluster. Metadata *ClusterMetadata `mandatory:"false" json:"metadata"` - // The state of the cluster masters. + // The state of the cluster masters. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState ClusterLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` // Details about the state of the cluster masters. diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_type.go index bd036e1c4df..52e78765803 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_type.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/cluster_type.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/containerengine_client.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/containerengine_client.go index bb64cd79f2b..ff2e20351b3 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/containerengine_client.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/containerengine_client.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -142,7 +142,7 @@ func (client ContainerEngineClient) clusterMigrateToNativeVcn(ctx context.Contex defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/ClusterMigrateToNativeVcn" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ClusterMigrateToNativeVcn", apiReferenceLink) return response, err } @@ -205,7 +205,7 @@ func (client ContainerEngineClient) completeCredentialRotation(ctx context.Conte defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/CompleteCredentialRotation" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "CompleteCredentialRotation", apiReferenceLink) return response, err } @@ -268,7 +268,7 @@ func (client ContainerEngineClient) createCluster(ctx context.Context, request c defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/CreateCluster" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "CreateCluster", apiReferenceLink) return response, err } @@ -325,7 +325,7 @@ func (client ContainerEngineClient) createKubeconfig(ctx context.Context, reques httpResponse, err = client.Call(ctx, &httpRequest) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/CreateKubeconfig" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "CreateKubeconfig", apiReferenceLink) return response, err } @@ -388,7 +388,7 @@ func (client ContainerEngineClient) createNodePool(ctx context.Context, request defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePool/CreateNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "CreateNodePool", apiReferenceLink) return response, err } @@ -451,7 +451,7 @@ func (client ContainerEngineClient) createVirtualNodePool(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePool/CreateVirtualNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "CreateVirtualNodePool", apiReferenceLink) return response, err } @@ -514,7 +514,7 @@ func (client ContainerEngineClient) createWorkloadMapping(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkloadMapping/CreateWorkloadMapping" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "CreateWorkloadMapping", apiReferenceLink) return response, err } @@ -572,7 +572,7 @@ func (client ContainerEngineClient) deleteCluster(ctx context.Context, request c defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/DeleteCluster" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DeleteCluster", apiReferenceLink) return response, err } @@ -630,7 +630,7 @@ func (client ContainerEngineClient) deleteNode(ctx context.Context, request comm defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePool/DeleteNode" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DeleteNode", apiReferenceLink) return response, err } @@ -688,7 +688,7 @@ func (client ContainerEngineClient) deleteNodePool(ctx context.Context, request defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePool/DeleteNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DeleteNodePool", apiReferenceLink) return response, err } @@ -746,7 +746,7 @@ func (client ContainerEngineClient) deleteVirtualNodePool(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePool/DeleteVirtualNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DeleteVirtualNodePool", apiReferenceLink) return response, err } @@ -804,7 +804,7 @@ func (client ContainerEngineClient) deleteWorkRequest(ctx context.Context, reque defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkRequest/DeleteWorkRequest" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DeleteWorkRequest", apiReferenceLink) return response, err } @@ -862,7 +862,7 @@ func (client ContainerEngineClient) deleteWorkloadMapping(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkloadMapping/DeleteWorkloadMapping" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DeleteWorkloadMapping", apiReferenceLink) return response, err } @@ -920,7 +920,7 @@ func (client ContainerEngineClient) disableAddon(ctx context.Context, request co defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/DisableAddon" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "DisableAddon", apiReferenceLink) return response, err } @@ -978,7 +978,7 @@ func (client ContainerEngineClient) getAddon(ctx context.Context, request common defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/GetAddon" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetAddon", apiReferenceLink) return response, err } @@ -1036,7 +1036,7 @@ func (client ContainerEngineClient) getCluster(ctx context.Context, request comm defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/GetCluster" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetCluster", apiReferenceLink) return response, err } @@ -1094,7 +1094,7 @@ func (client ContainerEngineClient) getClusterMigrateToNativeVcnStatus(ctx conte defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/ClusterMigrateToNativeVcnStatus/GetClusterMigrateToNativeVcnStatus" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetClusterMigrateToNativeVcnStatus", apiReferenceLink) return response, err } @@ -1152,7 +1152,7 @@ func (client ContainerEngineClient) getClusterOptions(ctx context.Context, reque defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/ClusterOptions/GetClusterOptions" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetClusterOptions", apiReferenceLink) return response, err } @@ -1210,7 +1210,7 @@ func (client ContainerEngineClient) getCredentialRotationStatus(ctx context.Cont defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/CredentialRotationStatus/GetCredentialRotationStatus" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetCredentialRotationStatus", apiReferenceLink) return response, err } @@ -1268,7 +1268,7 @@ func (client ContainerEngineClient) getNodePool(ctx context.Context, request com defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePool/GetNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetNodePool", apiReferenceLink) return response, err } @@ -1326,7 +1326,7 @@ func (client ContainerEngineClient) getNodePoolOptions(ctx context.Context, requ defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePoolOptions/GetNodePoolOptions" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetNodePoolOptions", apiReferenceLink) return response, err } @@ -1384,7 +1384,7 @@ func (client ContainerEngineClient) getVirtualNode(ctx context.Context, request defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePool/GetVirtualNode" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetVirtualNode", apiReferenceLink) return response, err } @@ -1442,7 +1442,7 @@ func (client ContainerEngineClient) getVirtualNodePool(ctx context.Context, requ defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePool/GetVirtualNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetVirtualNodePool", apiReferenceLink) return response, err } @@ -1500,7 +1500,7 @@ func (client ContainerEngineClient) getWorkRequest(ctx context.Context, request defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkRequest/GetWorkRequest" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetWorkRequest", apiReferenceLink) return response, err } @@ -1558,7 +1558,7 @@ func (client ContainerEngineClient) getWorkloadMapping(ctx context.Context, requ defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkloadMapping/GetWorkloadMapping" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "GetWorkloadMapping", apiReferenceLink) return response, err } @@ -1621,7 +1621,7 @@ func (client ContainerEngineClient) installAddon(ctx context.Context, request co defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/InstallAddon" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "InstallAddon", apiReferenceLink) return response, err } @@ -1679,7 +1679,7 @@ func (client ContainerEngineClient) listAddonOptions(ctx context.Context, reques defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/AddonOptionSummary/ListAddonOptions" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListAddonOptions", apiReferenceLink) return response, err } @@ -1737,7 +1737,7 @@ func (client ContainerEngineClient) listAddons(ctx context.Context, request comm defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/ListAddons" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListAddons", apiReferenceLink) return response, err } @@ -1795,7 +1795,7 @@ func (client ContainerEngineClient) listClusters(ctx context.Context, request co defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/ClusterSummary/ListClusters" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListClusters", apiReferenceLink) return response, err } @@ -1853,7 +1853,7 @@ func (client ContainerEngineClient) listNodePools(ctx context.Context, request c defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePoolSummary/ListNodePools" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListNodePools", apiReferenceLink) return response, err } @@ -1911,7 +1911,7 @@ func (client ContainerEngineClient) listPodShapes(ctx context.Context, request c defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/PodShapeSummary/ListPodShapes" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListPodShapes", apiReferenceLink) return response, err } @@ -1969,7 +1969,7 @@ func (client ContainerEngineClient) listVirtualNodePools(ctx context.Context, re defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePoolSummary/ListVirtualNodePools" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListVirtualNodePools", apiReferenceLink) return response, err } @@ -2027,7 +2027,7 @@ func (client ContainerEngineClient) listVirtualNodes(ctx context.Context, reques defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePool/ListVirtualNodes" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListVirtualNodes", apiReferenceLink) return response, err } @@ -2085,7 +2085,7 @@ func (client ContainerEngineClient) listWorkRequestErrors(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkRequestError/ListWorkRequestErrors" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListWorkRequestErrors", apiReferenceLink) return response, err } @@ -2143,7 +2143,7 @@ func (client ContainerEngineClient) listWorkRequestLogs(ctx context.Context, req defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkRequestLogEntry/ListWorkRequestLogs" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListWorkRequestLogs", apiReferenceLink) return response, err } @@ -2201,7 +2201,7 @@ func (client ContainerEngineClient) listWorkRequests(ctx context.Context, reques defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkRequestSummary/ListWorkRequests" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListWorkRequests", apiReferenceLink) return response, err } @@ -2259,7 +2259,7 @@ func (client ContainerEngineClient) listWorkloadMappings(ctx context.Context, re defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkloadMappingSummary/ListWorkloadMappings" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "ListWorkloadMappings", apiReferenceLink) return response, err } @@ -2322,7 +2322,7 @@ func (client ContainerEngineClient) startCredentialRotation(ctx context.Context, defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/StartCredentialRotation" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "StartCredentialRotation", apiReferenceLink) return response, err } @@ -2380,7 +2380,7 @@ func (client ContainerEngineClient) updateAddon(ctx context.Context, request com defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/UpdateAddon" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "UpdateAddon", apiReferenceLink) return response, err } @@ -2438,7 +2438,7 @@ func (client ContainerEngineClient) updateCluster(ctx context.Context, request c defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/UpdateCluster" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "UpdateCluster", apiReferenceLink) return response, err } @@ -2496,7 +2496,7 @@ func (client ContainerEngineClient) updateClusterEndpointConfig(ctx context.Cont defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/Cluster/UpdateClusterEndpointConfig" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "UpdateClusterEndpointConfig", apiReferenceLink) return response, err } @@ -2554,7 +2554,7 @@ func (client ContainerEngineClient) updateNodePool(ctx context.Context, request defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/NodePool/UpdateNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "UpdateNodePool", apiReferenceLink) return response, err } @@ -2612,7 +2612,7 @@ func (client ContainerEngineClient) updateVirtualNodePool(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/VirtualNodePool/UpdateVirtualNodePool" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "UpdateVirtualNodePool", apiReferenceLink) return response, err } @@ -2670,7 +2670,7 @@ func (client ContainerEngineClient) updateWorkloadMapping(ctx context.Context, r defer common.CloseBodyIfValid(httpResponse) response.RawResponse = httpResponse if err != nil { - apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/containerengine/20180222/WorkloadMapping/UpdateWorkloadMapping" + apiReferenceLink := "" err = common.PostProcessServiceError(err, "ContainerEngine", "UpdateWorkloadMapping", apiReferenceLink) return response, err } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_details.go index b7fe3ddc513..60c01becbc9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_endpoint_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_endpoint_config_details.go index 9a00e3ad11d..f847686e7cf 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_endpoint_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_endpoint_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_kubeconfig_content_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_kubeconfig_content_details.go index 0524c448bf7..e108dded1cd 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_kubeconfig_content_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_cluster_kubeconfig_content_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_image_policy_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_image_policy_config_details.go index dbbfedadad9..b7abd792821 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_image_policy_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_image_policy_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_details.go index 2f13ea482f3..3dfdfdf2e32 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_node_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_node_config_details.go index caf3056bc6e..1b229cd5426 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_node_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_pool_node_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_shape_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_shape_config_details.go index b4a4e022e63..0e1efee1f86 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_shape_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_node_shape_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_virtual_node_pool_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_virtual_node_pool_details.go index ba8d283e69d..212c6566817 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_virtual_node_pool_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_virtual_node_pool_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_workload_mapping_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_workload_mapping_details.go index c154a705019..080a552bd31 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_workload_mapping_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/create_workload_mapping_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/credential_rotation_status.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/credential_rotation_status.go index 50903c9cf74..f3a3bce1e48 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/credential_rotation_status.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/credential_rotation_status.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/delete_virtual_node_pool_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/delete_virtual_node_pool_request_response.go index 5cc62ebc83d..394309a191c 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/delete_virtual_node_pool_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/delete_virtual_node_pool_request_response.go @@ -30,11 +30,11 @@ type DeleteVirtualNodePoolRequest struct { // Oracle about a particular request, please provide the request ID. OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` - // Duration after which Sk8s will give up eviction of the pods on the node. + // Duration after which SKE will give up eviction of the pods on the node. // PT0M will indicate you want to delete the virtual node without cordon and drain. Default PT60M, Min PT0M, Max: PT60M. Format ISO 8601 e.g PT30M OverrideEvictionGraceDurationVnp *string `mandatory:"false" contributesTo:"query" name:"overrideEvictionGraceDurationVnp"` - // If the underlying compute instance should be deleted if you cannot evict all the pods in grace period + // If the underlying virtual node should be force deleted if all the pods are not evicted in the evictionGraceDuration. IsForceDeletionAfterOverrideGraceDurationVnp *bool `mandatory:"false" contributesTo:"query" name:"isForceDeletionAfterOverrideGraceDurationVnp"` // Metadata about the request. This information will not be transmitted to the service, but diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_cluster_pod_network_option_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_cluster_pod_network_option_details.go index 67caae6aad7..73031e91849 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_cluster_pod_network_option_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_cluster_pod_network_option_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_node_pool_pod_network_option_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_node_pool_pod_network_option_details.go index ab642e48b27..54e054c010b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_node_pool_pod_network_option_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/flannel_overlay_node_pool_pod_network_option_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/image_policy_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/image_policy_config.go index 00d7e80e004..30a0bbc59fe 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/image_policy_config.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/image_policy_config.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/initial_virtual_node_label.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/initial_virtual_node_label.go index 5e8c051822a..e4165e880ad 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/initial_virtual_node_label.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/initial_virtual_node_label.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/install_addon_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/install_addon_details.go index d4d09745f49..cd9a7669086 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/install_addon_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/install_addon_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_details.go index 18be063db54..9d9e670cdba 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_value.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_value.go index e787c82afc3..8857b464671 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_value.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/key_value.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_network_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_network_config.go index 1e48b57f0a3..b19c03a3a2b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_network_config.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_network_config.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_versions_filters.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_versions_filters.go index 87bc039e376..3c394203375 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_versions_filters.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/kubernetes_versions_filters.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_clusters_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_clusters_request_response.go index 4ea045c9c2e..114fd486db9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_clusters_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_clusters_request_response.go @@ -21,7 +21,7 @@ type ListClustersRequest struct { // The OCID of the compartment. CompartmentId *string `mandatory:"true" contributesTo:"query" name:"compartmentId"` - // A cluster lifecycle state to filter on. Can have multiple parameters of this name. + // A cluster lifecycle state to filter on. Can have multiple parameters of this name. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState []ClusterLifecycleStateEnum `contributesTo:"query" name:"lifecycleState" omitEmpty:"true" collectionFormat:"multi"` // The name to filter on. diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_node_pools_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_node_pools_request_response.go index 1b761b07d8b..9052e163d15 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_node_pools_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/list_node_pools_request_response.go @@ -46,7 +46,7 @@ type ListNodePoolsRequest struct { // Oracle about a particular request, please provide the request ID. OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` - // A list of nodepool lifecycle states on which to filter on, matching any of the list items (OR logic). eg. [ACTIVE, DELETING] + // A list of nodepool lifecycle states on which to filter on, matching any of the list items (OR logic). eg. ACTIVE, DELETING. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState []NodePoolLifecycleStateEnum `contributesTo:"query" name:"lifecycleState" omitEmpty:"true" collectionFormat:"multi"` // Metadata about the request. This information will not be transmitted to the service, but diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node.go index cf8a5b44e3c..643d95669fa 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -64,7 +64,7 @@ type Node struct { // Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` - // The state of the node. + // The state of the node. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState NodeLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` // Details about the state of the node. diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_error.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_error.go index 837fd903ba8..f25519f5c07 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_error.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_error.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_eviction_node_pool_settings.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_eviction_node_pool_settings.go index f9272eaba82..cee7b517928 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_eviction_node_pool_settings.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_eviction_node_pool_settings.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool.go index c5a0f8167eb..562cb9eabf1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -24,7 +24,7 @@ type NodePool struct { // The OCID of the node pool. Id *string `mandatory:"false" json:"id"` - // The state of the nodepool. + // The state of the nodepool. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState NodePoolLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` // Details about the state of the nodepool. diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_cycling_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_cycling_details.go index 0f35181c6bf..63e7923b693 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_cycling_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_cycling_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_lifecycle_state.go index 8d1d8c39e90..1f74dbd290d 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_lifecycle_state.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_node_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_node_config_details.go index 2de50c7a2ee..ae8faf928b1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_node_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_node_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_options.go index d4fd90df601..b9332dd2005 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_placement_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_placement_config_details.go index 0afa620ef41..1baeb94de9f 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_placement_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_placement_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_pod_network_option_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_pod_network_option_details.go index 64924b89260..96b1b7d6ad1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_pod_network_option_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_pod_network_option_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_summary.go index ce46b04f97f..3d8f8e22c17 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_pool_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -24,7 +24,7 @@ type NodePoolSummary struct { // The OCID of the node pool. Id *string `mandatory:"false" json:"id"` - // The state of the nodepool. + // The state of the nodepool. For more information, see Monitoring Clusters (https://docs.cloud.oracle.com/Content/ContEng/Tasks/contengmonitoringclusters.htm) LifecycleState NodePoolLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` // Details about the state of the nodepool. diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_shape_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_shape_config.go index ede30810c17..b5a24ef74d1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_shape_config.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_shape_config.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_details.go index 4a9ec7c67e2..8fdbe27c191 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_option.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_option.go index c13fa545e1f..a56ad2fafc4 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_option.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_option.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_type.go index 7696620c277..6aa63cec483 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_type.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_type.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_details.go index 86e7bc7034c..d8f9bb20606 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_option.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_option.go index 2eca0010fd3..3dea684936f 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_option.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/node_source_via_image_option.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_cluster_pod_network_option_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_cluster_pod_network_option_details.go index 24ba042adff..2cc1f3d7ad4 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_cluster_pod_network_option_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_cluster_pod_network_option_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_node_pool_pod_network_option_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_node_pool_pod_network_option_details.go index 778a7839def..a3e715a5608 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_node_pool_pod_network_option_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/oci_vcn_ip_native_node_pool_pod_network_option_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/persistent_volume_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/persistent_volume_config_details.go index 0e4876dd3fd..7a98797c967 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/persistent_volume_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/persistent_volume_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/placement_configuration.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/placement_configuration.go index 40f9b10ec02..edd17776ad4 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/placement_configuration.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/placement_configuration.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_configuration.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_configuration.go index faf3f60c017..9d847384e23 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_configuration.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_configuration.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape.go index 36fcb8906a7..4db17edcd6b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape_summary.go index 7740c796f1d..e20bcd45242 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/pod_shape_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemptible_node_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemptible_node_config_details.go index 96783639c68..18310c90393 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemptible_node_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemptible_node_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemption_action.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemption_action.go index 577a85dfd4f..55530ca8ef6 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemption_action.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/preemption_action.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/service_lb_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/service_lb_config_details.go index 214f6335986..49521e94e4f 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/service_lb_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/service_lb_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_memory_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_memory_options.go index ac979bad542..f56fb9e325e 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_memory_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_memory_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_network_bandwidth_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_network_bandwidth_options.go index 46a64366925..9ea7342d047 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_network_bandwidth_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_network_bandwidth_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_ocpu_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_ocpu_options.go index abc825c21ac..8ea6491e510 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_ocpu_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/shape_ocpu_options.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/sort_order.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/sort_order.go index 214857a6602..ebe40a0fa7f 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/sort_order.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/sort_order.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/start_credential_rotation_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/start_credential_rotation_details.go index 92e8b5d4fae..cf45729c633 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/start_credential_rotation_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/start_credential_rotation_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -20,7 +20,7 @@ import ( // StartCredentialRotationDetails Properties that define a request to start credential rotation on a kubernetes cluster. type StartCredentialRotationDetails struct { - // The duration in days(in ISO 8601 notation eg. P5D) after which the old credentials should be retired. Maximum delay duration is 14 days. + // The duration in days(in ISO 8601 notation eg. P5D) after which the old credentials should be retired. Maximum delay duration is 90 days. AutoCompletionDelayDuration *string `mandatory:"true" json:"autoCompletionDelayDuration"` } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/taint.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/taint.go index eaafe914a06..15bcec0b74b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/taint.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/taint.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/terminate_preemption_action.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/terminate_preemption_action.go index 478abdf3b84..6113f332c3c 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/terminate_preemption_action.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/terminate_preemption_action.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_addon_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_addon_details.go index 7d164a5ad1d..27d01bcc1b4 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_addon_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_addon_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_details.go index 1b16d396713..e10c3039ef3 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_endpoint_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_endpoint_config_details.go index 649d9f68cfd..e86d8047f7c 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_endpoint_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_endpoint_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_options_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_options_details.go index 370c88e40a7..8351a2c734e 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_options_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_cluster_options_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_image_policy_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_image_policy_config_details.go index b9737776bca..bf1266a56f1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_image_policy_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_image_policy_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_details.go index a5b4be323a5..1643a11dc4a 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_node_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_node_config_details.go index b02f0106986..cbeef7c02e6 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_node_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_pool_node_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_shape_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_shape_config_details.go index f2a6263da43..1dbd9a1be71 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_shape_config_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_node_shape_config_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_virtual_node_pool_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_virtual_node_pool_details.go index 8064c5c295a..da7cff35176 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_virtual_node_pool_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_virtual_node_pool_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_workload_mapping_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_workload_mapping_details.go index bdae873eaf3..a7ff13899c9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_workload_mapping_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/update_workload_mapping_details.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node.go index a6a6db6014b..29a6231cd16 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_lifecycle_state.go index 4950deecae5..a29b0ff389a 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_lifecycle_state.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool.go index 3c15f6f6967..188355de894 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_lifecycle_state.go index 3b66b86dbf1..f129e44da63 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_lifecycle_state.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_summary.go index caa4a3a3252..6ec4675ed6e 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_pool_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_summary.go index f5922be3304..e387e536527 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_tags.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_tags.go index 173cda2280b..a9db750c1e8 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_tags.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/virtual_node_tags.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request.go index b8fe6605c37..4ea63058bcd 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_error.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_error.go index f9044250b71..ef6f6f5a211 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_error.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_error.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_log_entry.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_log_entry.go index 235ebdfd40b..8a8d7f9975f 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_log_entry.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_log_entry.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_operation_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_operation_type.go index 15c7e7ac9e9..cf959fdb549 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_operation_type.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_operation_type.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -23,6 +23,7 @@ const ( WorkRequestOperationTypeClusterCreate WorkRequestOperationTypeEnum = "CLUSTER_CREATE" WorkRequestOperationTypeClusterUpdate WorkRequestOperationTypeEnum = "CLUSTER_UPDATE" WorkRequestOperationTypeClusterDelete WorkRequestOperationTypeEnum = "CLUSTER_DELETE" + WorkRequestOperationTypeCreateNamespace WorkRequestOperationTypeEnum = "CREATE_NAMESPACE" WorkRequestOperationTypeNodepoolCreate WorkRequestOperationTypeEnum = "NODEPOOL_CREATE" WorkRequestOperationTypeNodepoolUpdate WorkRequestOperationTypeEnum = "NODEPOOL_UPDATE" WorkRequestOperationTypeNodepoolDelete WorkRequestOperationTypeEnum = "NODEPOOL_DELETE" @@ -43,6 +44,7 @@ var mappingWorkRequestOperationTypeEnum = map[string]WorkRequestOperationTypeEnu "CLUSTER_CREATE": WorkRequestOperationTypeClusterCreate, "CLUSTER_UPDATE": WorkRequestOperationTypeClusterUpdate, "CLUSTER_DELETE": WorkRequestOperationTypeClusterDelete, + "CREATE_NAMESPACE": WorkRequestOperationTypeCreateNamespace, "NODEPOOL_CREATE": WorkRequestOperationTypeNodepoolCreate, "NODEPOOL_UPDATE": WorkRequestOperationTypeNodepoolUpdate, "NODEPOOL_DELETE": WorkRequestOperationTypeNodepoolDelete, @@ -63,6 +65,7 @@ var mappingWorkRequestOperationTypeEnumLowerCase = map[string]WorkRequestOperati "cluster_create": WorkRequestOperationTypeClusterCreate, "cluster_update": WorkRequestOperationTypeClusterUpdate, "cluster_delete": WorkRequestOperationTypeClusterDelete, + "create_namespace": WorkRequestOperationTypeCreateNamespace, "nodepool_create": WorkRequestOperationTypeNodepoolCreate, "nodepool_update": WorkRequestOperationTypeNodepoolUpdate, "nodepool_delete": WorkRequestOperationTypeNodepoolDelete, @@ -94,6 +97,7 @@ func GetWorkRequestOperationTypeEnumStringValues() []string { "CLUSTER_CREATE", "CLUSTER_UPDATE", "CLUSTER_DELETE", + "CREATE_NAMESPACE", "NODEPOOL_CREATE", "NODEPOOL_UPDATE", "NODEPOOL_DELETE", diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_resource.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_resource.go index 3c006ec493c..c79a7234d60 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_resource.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_resource.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_status.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_status.go index fe43bdbc0cb..4c71155a617 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_status.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_status.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_summary.go index 13d0f6cadd2..9f22598124d 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/work_request_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -78,6 +78,7 @@ const ( WorkRequestSummaryOperationTypeClusterCreate WorkRequestOperationTypeEnum = "CLUSTER_CREATE" WorkRequestSummaryOperationTypeClusterUpdate WorkRequestOperationTypeEnum = "CLUSTER_UPDATE" WorkRequestSummaryOperationTypeClusterDelete WorkRequestOperationTypeEnum = "CLUSTER_DELETE" + WorkRequestSummaryOperationTypeCreateNamespace WorkRequestOperationTypeEnum = "CREATE_NAMESPACE" WorkRequestSummaryOperationTypeNodepoolCreate WorkRequestOperationTypeEnum = "NODEPOOL_CREATE" WorkRequestSummaryOperationTypeNodepoolUpdate WorkRequestOperationTypeEnum = "NODEPOOL_UPDATE" WorkRequestSummaryOperationTypeNodepoolDelete WorkRequestOperationTypeEnum = "NODEPOOL_DELETE" diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping.go index cff8d663dcb..2c05a5e9410 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -50,6 +50,10 @@ type WorkloadMapping struct { // For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). // Example: `{"Operations": {"CostCenter": "42"}}` DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` + + // Usage of system tag keys. These predefined keys are scoped to namespaces. + // Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` + SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` } func (m WorkloadMapping) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_lifecycle_state.go index 0c1add92801..e86f9bf04e0 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_lifecycle_state.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_summary.go index ce8246b645e..a284b3600e1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/containerengine/workload_mapping_summary.go @@ -2,11 +2,11 @@ // This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. // Code generated. DO NOT EDIT. -// Container Engine for Kubernetes API +// Kubernetes Engine API // -// API for the Container Engine for Kubernetes service. Use this API to build, deploy, +// API for the Kubernetes Engine service (also known as the Container Engine for Kubernetes service). Use this API to build, deploy, // and manage cloud-native applications. For more information, see -// Overview of Container Engine for Kubernetes (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). +// Overview of Kubernetes Engine (https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm). // package containerengine @@ -50,6 +50,10 @@ type WorkloadMappingSummary struct { // For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). // Example: `{"Operations": {"CostCenter": "42"}}` DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` + + // Usage of system tag keys. These predefined keys are scoped to namespaces. + // Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` + SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` } func (m WorkloadMappingSummary) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_paravirtualized_volume_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_paravirtualized_volume_details.go new file mode 100644 index 00000000000..43cf17d6fe9 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_paravirtualized_volume_details.go @@ -0,0 +1,153 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Core Services API +// +// Use the Core Services API to manage resources such as virtual cloud networks (VCNs), +// compute instances, and block storage volumes. For more information, see the console +// documentation for the Networking (https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/overview.htm), +// Compute (https://docs.cloud.oracle.com/iaas/Content/Compute/Concepts/computeoverview.htm), and +// Block Volume (https://docs.cloud.oracle.com/iaas/Content/Block/Concepts/overview.htm) services. +// The required permissions are documented in the +// Details for the Core Services (https://docs.cloud.oracle.com/iaas/Content/Identity/Reference/corepolicyreference.htm) article. +// + +package core + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// LaunchAttachParavirtualizedVolumeDetails Details specific to PV type volume attachments. +type LaunchAttachParavirtualizedVolumeDetails struct { + + // The device name. To retrieve a list of devices for a given instance, see ListInstanceDevices. + Device *string `mandatory:"false" json:"device"` + + // A user-friendly name. Does not have to be unique, and it's changeable. + // Avoid entering confidential information. + DisplayName *string `mandatory:"false" json:"displayName"` + + // Whether the attachment was created in read-only mode. + IsReadOnly *bool `mandatory:"false" json:"isReadOnly"` + + // Whether the attachment should be created in shareable mode. If an attachment + // is created in shareable mode, then other instances can attach the same volume, provided + // that they also create their attachments in shareable mode. Only certain volume types can + // be attached in shareable mode. Defaults to false if not specified. + IsShareable *bool `mandatory:"false" json:"isShareable"` + + // The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request. + VolumeId *string `mandatory:"false" json:"volumeId"` + + LaunchCreateVolumeDetails LaunchCreateVolumeDetails `mandatory:"false" json:"launchCreateVolumeDetails"` + + // Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. + IsPvEncryptionInTransitEnabled *bool `mandatory:"false" json:"isPvEncryptionInTransitEnabled"` +} + +// GetDevice returns Device +func (m LaunchAttachParavirtualizedVolumeDetails) GetDevice() *string { + return m.Device +} + +// GetDisplayName returns DisplayName +func (m LaunchAttachParavirtualizedVolumeDetails) GetDisplayName() *string { + return m.DisplayName +} + +// GetIsReadOnly returns IsReadOnly +func (m LaunchAttachParavirtualizedVolumeDetails) GetIsReadOnly() *bool { + return m.IsReadOnly +} + +// GetIsShareable returns IsShareable +func (m LaunchAttachParavirtualizedVolumeDetails) GetIsShareable() *bool { + return m.IsShareable +} + +// GetVolumeId returns VolumeId +func (m LaunchAttachParavirtualizedVolumeDetails) GetVolumeId() *string { + return m.VolumeId +} + +// GetLaunchCreateVolumeDetails returns LaunchCreateVolumeDetails +func (m LaunchAttachParavirtualizedVolumeDetails) GetLaunchCreateVolumeDetails() LaunchCreateVolumeDetails { + return m.LaunchCreateVolumeDetails +} + +func (m LaunchAttachParavirtualizedVolumeDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m LaunchAttachParavirtualizedVolumeDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MarshalJSON marshals to json representation +func (m LaunchAttachParavirtualizedVolumeDetails) MarshalJSON() (buff []byte, e error) { + type MarshalTypeLaunchAttachParavirtualizedVolumeDetails LaunchAttachParavirtualizedVolumeDetails + s := struct { + DiscriminatorParam string `json:"type"` + MarshalTypeLaunchAttachParavirtualizedVolumeDetails + }{ + "paravirtualized", + (MarshalTypeLaunchAttachParavirtualizedVolumeDetails)(m), + } + + return json.Marshal(&s) +} + +// UnmarshalJSON unmarshals from json +func (m *LaunchAttachParavirtualizedVolumeDetails) UnmarshalJSON(data []byte) (e error) { + model := struct { + Device *string `json:"device"` + DisplayName *string `json:"displayName"` + IsReadOnly *bool `json:"isReadOnly"` + IsShareable *bool `json:"isShareable"` + VolumeId *string `json:"volumeId"` + LaunchCreateVolumeDetails launchcreatevolumedetails `json:"launchCreateVolumeDetails"` + IsPvEncryptionInTransitEnabled *bool `json:"isPvEncryptionInTransitEnabled"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.Device = model.Device + + m.DisplayName = model.DisplayName + + m.IsReadOnly = model.IsReadOnly + + m.IsShareable = model.IsShareable + + m.VolumeId = model.VolumeId + + nn, e = model.LaunchCreateVolumeDetails.UnmarshalPolymorphicJSON(model.LaunchCreateVolumeDetails.JsonData) + if e != nil { + return + } + if nn != nil { + m.LaunchCreateVolumeDetails = nn.(LaunchCreateVolumeDetails) + } else { + m.LaunchCreateVolumeDetails = nil + } + + m.IsPvEncryptionInTransitEnabled = model.IsPvEncryptionInTransitEnabled + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_volume_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_volume_details.go index f9647ddf51f..30f3b493c97 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_volume_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/core/launch_attach_volume_details.go @@ -89,6 +89,10 @@ func (m *launchattachvolumedetails) UnmarshalPolymorphicJSON(data []byte) (inter var err error switch m.Type { + case "paravirtualized": + mm := LaunchAttachParavirtualizedVolumeDetails{} + err = json.Unmarshal(data, &mm) + return mm, err case "iscsi": mm := LaunchAttachIScsiVolumeDetails{} err = json.Unmarshal(data, &mm) diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster.go index 367603073eb..340cb8aa36e 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster.go @@ -190,6 +190,8 @@ type CloudVmCluster struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` + IormConfigCache *ExadataIormConfig `mandatory:"false" json:"iormConfigCache"` } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster_summary.go index 094dfd36573..ecfb889d038 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/cloud_vm_cluster_summary.go @@ -189,6 +189,8 @@ type CloudVmClusterSummary struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m CloudVmClusterSummary) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/create_cloud_vm_cluster_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/create_cloud_vm_cluster_details.go index 18e2f0b5fda..a396360be86 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/create_cloud_vm_cluster_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/create_cloud_vm_cluster_details.go @@ -137,6 +137,8 @@ type CreateCloudVmClusterDetails struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m CreateCloudVmClusterDetails) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/create_vm_cluster_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/create_vm_cluster_details.go index 68e138b8c37..2f924401686 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/create_vm_cluster_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/create_vm_cluster_details.go @@ -86,6 +86,8 @@ type CreateVmClusterDetails struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m CreateVmClusterDetails) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/update_cloud_vm_cluster_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/update_cloud_vm_cluster_details.go index 1e5d24353b6..6e67c414b7b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/update_cloud_vm_cluster_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/update_cloud_vm_cluster_details.go @@ -76,6 +76,8 @@ type UpdateCloudVmClusterDetails struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m UpdateCloudVmClusterDetails) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/update_vm_cluster_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/update_vm_cluster_details.go index f235089bc83..4c9b0ce4f98 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/update_vm_cluster_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/update_vm_cluster_details.go @@ -60,6 +60,8 @@ type UpdateVmClusterDetails struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m UpdateVmClusterDetails) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster.go index 6b3e12b1422..c89ce0c7402 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster.go @@ -109,6 +109,8 @@ type VmCluster struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m VmCluster) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster_summary.go index 969f0e3f830..d84e17a3857 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/database/vm_cluster_summary.go @@ -109,6 +109,8 @@ type VmClusterSummary struct { // Details of the file system configuration of the VM cluster. FileSystemConfigurationDetails []FileSystemConfigurationDetail `mandatory:"false" json:"fileSystemConfigurationDetails"` + + CloudAutomationUpdateDetails *CloudAutomationUpdateDetails `mandatory:"false" json:"cloudAutomationUpdateDetails"` } func (m VmClusterSummary) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_desktop_session_lifecycle_actions.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_desktop_session_lifecycle_actions.go new file mode 100644 index 00000000000..c9cb3fb9d4b --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_desktop_session_lifecycle_actions.go @@ -0,0 +1,39 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CreateDesktopPoolDesktopSessionLifecycleActions The details of action to be triggered in case of inactivity or disconnect +type CreateDesktopPoolDesktopSessionLifecycleActions struct { + Inactivity *InactivityConfig `mandatory:"false" json:"inactivity"` + + Disconnect *DisconnectConfig `mandatory:"false" json:"disconnect"` +} + +func (m CreateDesktopPoolDesktopSessionLifecycleActions) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CreateDesktopPoolDesktopSessionLifecycleActions) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_details.go index 833154d3c50..c0b8e0e2432 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_details.go @@ -64,6 +64,13 @@ type CreateDesktopPoolDetails struct { // Avoid entering confidential information. Description *string `mandatory:"false" json:"description"` + ShapeConfig *CreateDesktopPoolShapeConfigDetails `mandatory:"false" json:"shapeConfig"` + + // Indicates whether the desktop pool uses dedicated virtual machine hosts. + UseDedicatedVmHost CreateDesktopPoolDetailsUseDedicatedVmHostEnum `mandatory:"false" json:"useDedicatedVmHost,omitempty"` + + SessionLifecycleActions *CreateDesktopPoolDesktopSessionLifecycleActions `mandatory:"false" json:"sessionLifecycleActions"` + // The start time of the desktop pool. TimeStartScheduled *common.SDKTime `mandatory:"false" json:"timeStartScheduled"` @@ -79,8 +86,10 @@ type CreateDesktopPoolDetails struct { // Example: `{"Operations": {"CostCenter": "42"}}` DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` - // A list of network security groups for the desktop pool. + // A list of network security groups for the private access. NsgIds []string `mandatory:"false" json:"nsgIds"` + + PrivateAccessDetails *CreateDesktopPoolPrivateAccessDetails `mandatory:"false" json:"privateAccessDetails"` } func (m CreateDesktopPoolDetails) String() string { @@ -93,8 +102,57 @@ func (m CreateDesktopPoolDetails) String() string { func (m CreateDesktopPoolDetails) ValidateEnumValue() (bool, error) { errMessage := []string{} + if _, ok := GetMappingCreateDesktopPoolDetailsUseDedicatedVmHostEnum(string(m.UseDedicatedVmHost)); !ok && m.UseDedicatedVmHost != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for UseDedicatedVmHost: %s. Supported values are: %s.", m.UseDedicatedVmHost, strings.Join(GetCreateDesktopPoolDetailsUseDedicatedVmHostEnumStringValues(), ","))) + } if len(errMessage) > 0 { return true, fmt.Errorf(strings.Join(errMessage, "\n")) } return false, nil } + +// CreateDesktopPoolDetailsUseDedicatedVmHostEnum Enum with underlying type: string +type CreateDesktopPoolDetailsUseDedicatedVmHostEnum string + +// Set of constants representing the allowable values for CreateDesktopPoolDetailsUseDedicatedVmHostEnum +const ( + CreateDesktopPoolDetailsUseDedicatedVmHostTrue CreateDesktopPoolDetailsUseDedicatedVmHostEnum = "TRUE" + CreateDesktopPoolDetailsUseDedicatedVmHostFalse CreateDesktopPoolDetailsUseDedicatedVmHostEnum = "FALSE" + CreateDesktopPoolDetailsUseDedicatedVmHostAuto CreateDesktopPoolDetailsUseDedicatedVmHostEnum = "AUTO" +) + +var mappingCreateDesktopPoolDetailsUseDedicatedVmHostEnum = map[string]CreateDesktopPoolDetailsUseDedicatedVmHostEnum{ + "TRUE": CreateDesktopPoolDetailsUseDedicatedVmHostTrue, + "FALSE": CreateDesktopPoolDetailsUseDedicatedVmHostFalse, + "AUTO": CreateDesktopPoolDetailsUseDedicatedVmHostAuto, +} + +var mappingCreateDesktopPoolDetailsUseDedicatedVmHostEnumLowerCase = map[string]CreateDesktopPoolDetailsUseDedicatedVmHostEnum{ + "true": CreateDesktopPoolDetailsUseDedicatedVmHostTrue, + "false": CreateDesktopPoolDetailsUseDedicatedVmHostFalse, + "auto": CreateDesktopPoolDetailsUseDedicatedVmHostAuto, +} + +// GetCreateDesktopPoolDetailsUseDedicatedVmHostEnumValues Enumerates the set of values for CreateDesktopPoolDetailsUseDedicatedVmHostEnum +func GetCreateDesktopPoolDetailsUseDedicatedVmHostEnumValues() []CreateDesktopPoolDetailsUseDedicatedVmHostEnum { + values := make([]CreateDesktopPoolDetailsUseDedicatedVmHostEnum, 0) + for _, v := range mappingCreateDesktopPoolDetailsUseDedicatedVmHostEnum { + values = append(values, v) + } + return values +} + +// GetCreateDesktopPoolDetailsUseDedicatedVmHostEnumStringValues Enumerates the set of values in String for CreateDesktopPoolDetailsUseDedicatedVmHostEnum +func GetCreateDesktopPoolDetailsUseDedicatedVmHostEnumStringValues() []string { + return []string{ + "TRUE", + "FALSE", + "AUTO", + } +} + +// GetMappingCreateDesktopPoolDetailsUseDedicatedVmHostEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingCreateDesktopPoolDetailsUseDedicatedVmHostEnum(val string) (CreateDesktopPoolDetailsUseDedicatedVmHostEnum, bool) { + enum, ok := mappingCreateDesktopPoolDetailsUseDedicatedVmHostEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_private_access_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_private_access_details.go new file mode 100644 index 00000000000..8bf2766dd4d --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_private_access_details.go @@ -0,0 +1,47 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CreateDesktopPoolPrivateAccessDetails The details of the desktop's private access network connectivity to be set up for the desktop pool. +type CreateDesktopPoolPrivateAccessDetails struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the + // connectivity will be established. + SubnetId *string `mandatory:"true" json:"subnetId"` + + // A list of network security groups for the private access. + NsgIds []string `mandatory:"false" json:"nsgIds"` + + // The IPv4 address from the provided OCI subnet which needs to be assigned to the VNIC. If not provided, it will + // be auto-assigned with an available IPv4 address from the subnet. + PrivateIp *string `mandatory:"false" json:"privateIp"` +} + +func (m CreateDesktopPoolPrivateAccessDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CreateDesktopPoolPrivateAccessDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_shape_config_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_shape_config_details.go new file mode 100644 index 00000000000..2e925a0764f --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/create_desktop_pool_shape_config_details.go @@ -0,0 +1,102 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CreateDesktopPoolShapeConfigDetails The compute instance shape configuration requested for each desktop in the desktop pool. +type CreateDesktopPoolShapeConfigDetails struct { + + // The total number of OCPUs available for each desktop compute instance in the desktop pool. + Ocpus *int64 `mandatory:"false" json:"ocpus"` + + // The total amount of memory available in gigabytes for each desktop compute instance in the desktop pool. + MemoryInGBs *int64 `mandatory:"false" json:"memoryInGBs"` + + // The baseline OCPU utilization for a subcore burstable VM instance used for each desktop compute instance in + // the desktop pool. + // Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with + // `BASELINE_1_1`. + // + // The following values are supported: + // - `BASELINE_1_8` - baseline usage is 1/8 of an OCPU. + // - `BASELINE_1_2` - baseline usage is 1/2 of an OCPU. + // - `BASELINE_1_1` - baseline usage is the entire OCPU. This represents a non-burstable instance. + BaselineOcpuUtilization CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum `mandatory:"false" json:"baselineOcpuUtilization,omitempty"` +} + +func (m CreateDesktopPoolShapeConfigDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CreateDesktopPoolShapeConfigDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if _, ok := GetMappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum(string(m.BaselineOcpuUtilization)); !ok && m.BaselineOcpuUtilization != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for BaselineOcpuUtilization: %s. Supported values are: %s.", m.BaselineOcpuUtilization, strings.Join(GetCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumStringValues(), ","))) + } + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum Enum with underlying type: string +type CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum string + +// Set of constants representing the allowable values for CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum +const ( + CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization8 CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum = "BASELINE_1_8" + CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization2 CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum = "BASELINE_1_2" + CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization1 CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum = "BASELINE_1_1" +) + +var mappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum = map[string]CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum{ + "BASELINE_1_8": CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization8, + "BASELINE_1_2": CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization2, + "BASELINE_1_1": CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization1, +} + +var mappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumLowerCase = map[string]CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum{ + "baseline_1_8": CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization8, + "baseline_1_2": CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization2, + "baseline_1_1": CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilization1, +} + +// GetCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumValues Enumerates the set of values for CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum +func GetCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumValues() []CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum { + values := make([]CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum, 0) + for _, v := range mappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum { + values = append(values, v) + } + return values +} + +// GetCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumStringValues Enumerates the set of values in String for CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum +func GetCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumStringValues() []string { + return []string{ + "BASELINE_1_8", + "BASELINE_1_2", + "BASELINE_1_1", + } +} + +// GetMappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum(val string) (CreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnum, bool) { + enum, ok := mappingCreateDesktopPoolShapeConfigDetailsBaselineOcpuUtilizationEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_image.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_image.go index 74e2590f8cb..6217915a284 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_image.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_image.go @@ -23,6 +23,9 @@ type DesktopImage struct { // The name of the desktop image. ImageName *string `mandatory:"true" json:"imageName"` + + // The operating system of the desktop image, e.g. "Oracle Linux", "Windows". + OperatingSystem *string `mandatory:"false" json:"operatingSystem"` } func (m DesktopImage) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_network_configuration.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_network_configuration.go index 063df43dd29..09d4e024bc9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_network_configuration.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_network_configuration.go @@ -18,10 +18,11 @@ import ( // DesktopNetworkConfiguration Provides information about the network configuration of the desktop pool. type DesktopNetworkConfiguration struct { - // The OCID of the VCN used by the desktop pool. + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the customer VCN. VcnId *string `mandatory:"true" json:"vcnId"` - // The OCID of the subnet to use for the desktop pool. + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the + // connectivity will be established. SubnetId *string `mandatory:"true" json:"subnetId"` } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool.go index 8993aec43a4..e1158423147 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool.go @@ -73,6 +73,13 @@ type DesktopPool struct { // Avoid entering confidential information. Description *string `mandatory:"false" json:"description"` + ShapeConfig *DesktopPoolShapeConfig `mandatory:"false" json:"shapeConfig"` + + // Indicates whether the desktop pool uses dedicated virtual machine hosts. + UseDedicatedVmHost DesktopPoolUseDedicatedVmHostEnum `mandatory:"false" json:"useDedicatedVmHost,omitempty"` + + SessionLifecycleActions *DesktopSessionLifecycleActions `mandatory:"false" json:"sessionLifecycleActions"` + // The start time of the desktop pool. TimeStartScheduled *common.SDKTime `mandatory:"false" json:"timeStartScheduled"` @@ -88,8 +95,10 @@ type DesktopPool struct { // Example: `{"Operations": {"CostCenter": "42"}}` DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` - // A list of network security groups for the desktop pool. + // A list of network security groups for the network. NsgIds []string `mandatory:"false" json:"nsgIds"` + + PrivateAccessDetails *DesktopPoolPrivateAccessDetails `mandatory:"false" json:"privateAccessDetails"` } func (m DesktopPool) String() string { @@ -105,8 +114,57 @@ func (m DesktopPool) ValidateEnumValue() (bool, error) { errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetLifecycleStateEnumStringValues(), ","))) } + if _, ok := GetMappingDesktopPoolUseDedicatedVmHostEnum(string(m.UseDedicatedVmHost)); !ok && m.UseDedicatedVmHost != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for UseDedicatedVmHost: %s. Supported values are: %s.", m.UseDedicatedVmHost, strings.Join(GetDesktopPoolUseDedicatedVmHostEnumStringValues(), ","))) + } if len(errMessage) > 0 { return true, fmt.Errorf(strings.Join(errMessage, "\n")) } return false, nil } + +// DesktopPoolUseDedicatedVmHostEnum Enum with underlying type: string +type DesktopPoolUseDedicatedVmHostEnum string + +// Set of constants representing the allowable values for DesktopPoolUseDedicatedVmHostEnum +const ( + DesktopPoolUseDedicatedVmHostTrue DesktopPoolUseDedicatedVmHostEnum = "TRUE" + DesktopPoolUseDedicatedVmHostFalse DesktopPoolUseDedicatedVmHostEnum = "FALSE" + DesktopPoolUseDedicatedVmHostAuto DesktopPoolUseDedicatedVmHostEnum = "AUTO" +) + +var mappingDesktopPoolUseDedicatedVmHostEnum = map[string]DesktopPoolUseDedicatedVmHostEnum{ + "TRUE": DesktopPoolUseDedicatedVmHostTrue, + "FALSE": DesktopPoolUseDedicatedVmHostFalse, + "AUTO": DesktopPoolUseDedicatedVmHostAuto, +} + +var mappingDesktopPoolUseDedicatedVmHostEnumLowerCase = map[string]DesktopPoolUseDedicatedVmHostEnum{ + "true": DesktopPoolUseDedicatedVmHostTrue, + "false": DesktopPoolUseDedicatedVmHostFalse, + "auto": DesktopPoolUseDedicatedVmHostAuto, +} + +// GetDesktopPoolUseDedicatedVmHostEnumValues Enumerates the set of values for DesktopPoolUseDedicatedVmHostEnum +func GetDesktopPoolUseDedicatedVmHostEnumValues() []DesktopPoolUseDedicatedVmHostEnum { + values := make([]DesktopPoolUseDedicatedVmHostEnum, 0) + for _, v := range mappingDesktopPoolUseDedicatedVmHostEnum { + values = append(values, v) + } + return values +} + +// GetDesktopPoolUseDedicatedVmHostEnumStringValues Enumerates the set of values in String for DesktopPoolUseDedicatedVmHostEnum +func GetDesktopPoolUseDedicatedVmHostEnumStringValues() []string { + return []string{ + "TRUE", + "FALSE", + "AUTO", + } +} + +// GetMappingDesktopPoolUseDedicatedVmHostEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingDesktopPoolUseDedicatedVmHostEnum(val string) (DesktopPoolUseDedicatedVmHostEnum, bool) { + enum, ok := mappingDesktopPoolUseDedicatedVmHostEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool_private_access_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool_private_access_details.go new file mode 100644 index 00000000000..33cb7833704 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool_private_access_details.go @@ -0,0 +1,55 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DesktopPoolPrivateAccessDetails The details of the desktop's private access network connectivity that were used to create the pool. +type DesktopPoolPrivateAccessDetails struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the + // connectivity will be established. + SubnetId *string `mandatory:"true" json:"subnetId"` + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the customer VCN. + VcnId *string `mandatory:"true" json:"vcnId"` + + // A list of network security groups for the private access. + NsgIds []string `mandatory:"false" json:"nsgIds"` + + // The IPv4 address from the provided OCI subnet which needs to be assigned to the VNIC. If not provided, it will + // be auto-assigned with an available IPv4 address from the subnet. + PrivateIp *string `mandatory:"false" json:"privateIp"` + + // The three-label FQDN to use for the private endpoint. The customer VCN's DNS records are + // updated with this FQDN. This enables the customer to use the FQDN instead of the private endpoint's + // private IP address to access the service (for example, xyz.oraclecloud.com). + EndpointFqdn *string `mandatory:"false" json:"endpointFqdn"` +} + +func (m DesktopPoolPrivateAccessDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m DesktopPoolPrivateAccessDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool_shape_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool_shape_config.go new file mode 100644 index 00000000000..aa0d7387958 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_pool_shape_config.go @@ -0,0 +1,102 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DesktopPoolShapeConfig The shape configuration used for each desktop compute instance in the desktop pool. +type DesktopPoolShapeConfig struct { + + // The total number of OCPUs available for each desktop compute instance in the desktop pool. + Ocpus *int64 `mandatory:"false" json:"ocpus"` + + // The total amount of memory available in gigabytes for each desktop compute instance in the desktop pool. + MemoryInGBs *int64 `mandatory:"false" json:"memoryInGBs"` + + // The baseline OCPU utilization for a subcore burstable VM instance used for each desktop compute instance in + // the desktop pool. + // Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with + // `BASELINE_1_1`. + // + // The following values are supported: + // - `BASELINE_1_8` - baseline usage is 1/8 of an OCPU. + // - `BASELINE_1_2` - baseline usage is 1/2 of an OCPU. + // - `BASELINE_1_1` - baseline usage is the entire OCPU. This represents a non-burstable instance. + BaselineOcpuUtilization DesktopPoolShapeConfigBaselineOcpuUtilizationEnum `mandatory:"false" json:"baselineOcpuUtilization,omitempty"` +} + +func (m DesktopPoolShapeConfig) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m DesktopPoolShapeConfig) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if _, ok := GetMappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnum(string(m.BaselineOcpuUtilization)); !ok && m.BaselineOcpuUtilization != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for BaselineOcpuUtilization: %s. Supported values are: %s.", m.BaselineOcpuUtilization, strings.Join(GetDesktopPoolShapeConfigBaselineOcpuUtilizationEnumStringValues(), ","))) + } + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// DesktopPoolShapeConfigBaselineOcpuUtilizationEnum Enum with underlying type: string +type DesktopPoolShapeConfigBaselineOcpuUtilizationEnum string + +// Set of constants representing the allowable values for DesktopPoolShapeConfigBaselineOcpuUtilizationEnum +const ( + DesktopPoolShapeConfigBaselineOcpuUtilization8 DesktopPoolShapeConfigBaselineOcpuUtilizationEnum = "BASELINE_1_8" + DesktopPoolShapeConfigBaselineOcpuUtilization2 DesktopPoolShapeConfigBaselineOcpuUtilizationEnum = "BASELINE_1_2" + DesktopPoolShapeConfigBaselineOcpuUtilization1 DesktopPoolShapeConfigBaselineOcpuUtilizationEnum = "BASELINE_1_1" +) + +var mappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnum = map[string]DesktopPoolShapeConfigBaselineOcpuUtilizationEnum{ + "BASELINE_1_8": DesktopPoolShapeConfigBaselineOcpuUtilization8, + "BASELINE_1_2": DesktopPoolShapeConfigBaselineOcpuUtilization2, + "BASELINE_1_1": DesktopPoolShapeConfigBaselineOcpuUtilization1, +} + +var mappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnumLowerCase = map[string]DesktopPoolShapeConfigBaselineOcpuUtilizationEnum{ + "baseline_1_8": DesktopPoolShapeConfigBaselineOcpuUtilization8, + "baseline_1_2": DesktopPoolShapeConfigBaselineOcpuUtilization2, + "baseline_1_1": DesktopPoolShapeConfigBaselineOcpuUtilization1, +} + +// GetDesktopPoolShapeConfigBaselineOcpuUtilizationEnumValues Enumerates the set of values for DesktopPoolShapeConfigBaselineOcpuUtilizationEnum +func GetDesktopPoolShapeConfigBaselineOcpuUtilizationEnumValues() []DesktopPoolShapeConfigBaselineOcpuUtilizationEnum { + values := make([]DesktopPoolShapeConfigBaselineOcpuUtilizationEnum, 0) + for _, v := range mappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnum { + values = append(values, v) + } + return values +} + +// GetDesktopPoolShapeConfigBaselineOcpuUtilizationEnumStringValues Enumerates the set of values in String for DesktopPoolShapeConfigBaselineOcpuUtilizationEnum +func GetDesktopPoolShapeConfigBaselineOcpuUtilizationEnumStringValues() []string { + return []string{ + "BASELINE_1_8", + "BASELINE_1_2", + "BASELINE_1_1", + } +} + +// GetMappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnum(val string) (DesktopPoolShapeConfigBaselineOcpuUtilizationEnum, bool) { + enum, ok := mappingDesktopPoolShapeConfigBaselineOcpuUtilizationEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_session_lifecycle_actions.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_session_lifecycle_actions.go new file mode 100644 index 00000000000..769b9314013 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/desktop_session_lifecycle_actions.go @@ -0,0 +1,39 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DesktopSessionLifecycleActions Action to be triggered on inactivity or disconnect +type DesktopSessionLifecycleActions struct { + Inactivity *InactivityConfig `mandatory:"false" json:"inactivity"` + + Disconnect *DisconnectConfig `mandatory:"false" json:"disconnect"` +} + +func (m DesktopSessionLifecycleActions) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m DesktopSessionLifecycleActions) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/disconnect_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/disconnect_config.go new file mode 100644 index 00000000000..1dd53ec2aee --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/disconnect_config.go @@ -0,0 +1,88 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DisconnectConfig Action and grace period for disconnect +type DisconnectConfig struct { + + // a disconnect action to be triggered + Action DisconnectConfigActionEnum `mandatory:"true" json:"action"` + + // The period of time (in minutes) after disconnect before any action occurs. + // If the value is not provided, a default value is used. + GracePeriodInMinutes *int `mandatory:"false" json:"gracePeriodInMinutes"` +} + +func (m DisconnectConfig) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m DisconnectConfig) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if _, ok := GetMappingDisconnectConfigActionEnum(string(m.Action)); !ok && m.Action != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Action: %s. Supported values are: %s.", m.Action, strings.Join(GetDisconnectConfigActionEnumStringValues(), ","))) + } + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// DisconnectConfigActionEnum Enum with underlying type: string +type DisconnectConfigActionEnum string + +// Set of constants representing the allowable values for DisconnectConfigActionEnum +const ( + DisconnectConfigActionNone DisconnectConfigActionEnum = "NONE" + DisconnectConfigActionStop DisconnectConfigActionEnum = "STOP" +) + +var mappingDisconnectConfigActionEnum = map[string]DisconnectConfigActionEnum{ + "NONE": DisconnectConfigActionNone, + "STOP": DisconnectConfigActionStop, +} + +var mappingDisconnectConfigActionEnumLowerCase = map[string]DisconnectConfigActionEnum{ + "none": DisconnectConfigActionNone, + "stop": DisconnectConfigActionStop, +} + +// GetDisconnectConfigActionEnumValues Enumerates the set of values for DisconnectConfigActionEnum +func GetDisconnectConfigActionEnumValues() []DisconnectConfigActionEnum { + values := make([]DisconnectConfigActionEnum, 0) + for _, v := range mappingDisconnectConfigActionEnum { + values = append(values, v) + } + return values +} + +// GetDisconnectConfigActionEnumStringValues Enumerates the set of values in String for DisconnectConfigActionEnum +func GetDisconnectConfigActionEnumStringValues() []string { + return []string{ + "NONE", + "STOP", + } +} + +// GetMappingDisconnectConfigActionEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingDisconnectConfigActionEnum(val string) (DisconnectConfigActionEnum, bool) { + enum, ok := mappingDisconnectConfigActionEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/inactivity_config.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/inactivity_config.go new file mode 100644 index 00000000000..d61b2b7d670 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/inactivity_config.go @@ -0,0 +1,88 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// InactivityConfig Action and grace period for inactivity +type InactivityConfig struct { + + // an inactivity action to be triggered + Action InactivityConfigActionEnum `mandatory:"true" json:"action"` + + // The period of time (in minutes) during which the session must remain inactive before any action occurs. + // If the value is not provided, a default value is used. + GracePeriodInMinutes *int `mandatory:"false" json:"gracePeriodInMinutes"` +} + +func (m InactivityConfig) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m InactivityConfig) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if _, ok := GetMappingInactivityConfigActionEnum(string(m.Action)); !ok && m.Action != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Action: %s. Supported values are: %s.", m.Action, strings.Join(GetInactivityConfigActionEnumStringValues(), ","))) + } + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// InactivityConfigActionEnum Enum with underlying type: string +type InactivityConfigActionEnum string + +// Set of constants representing the allowable values for InactivityConfigActionEnum +const ( + InactivityConfigActionNone InactivityConfigActionEnum = "NONE" + InactivityConfigActionDisconnect InactivityConfigActionEnum = "DISCONNECT" +) + +var mappingInactivityConfigActionEnum = map[string]InactivityConfigActionEnum{ + "NONE": InactivityConfigActionNone, + "DISCONNECT": InactivityConfigActionDisconnect, +} + +var mappingInactivityConfigActionEnumLowerCase = map[string]InactivityConfigActionEnum{ + "none": InactivityConfigActionNone, + "disconnect": InactivityConfigActionDisconnect, +} + +// GetInactivityConfigActionEnumValues Enumerates the set of values for InactivityConfigActionEnum +func GetInactivityConfigActionEnumValues() []InactivityConfigActionEnum { + values := make([]InactivityConfigActionEnum, 0) + for _, v := range mappingInactivityConfigActionEnum { + values = append(values, v) + } + return values +} + +// GetInactivityConfigActionEnumStringValues Enumerates the set of values in String for InactivityConfigActionEnum +func GetInactivityConfigActionEnumStringValues() []string { + return []string{ + "NONE", + "DISCONNECT", + } +} + +// GetMappingInactivityConfigActionEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingInactivityConfigActionEnum(val string) (InactivityConfigActionEnum, bool) { + enum, ok := mappingInactivityConfigActionEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/stop_desktop_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/stop_desktop_request_response.go index 9cfbf1886e0..0542917eff2 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/stop_desktop_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/stop_desktop_request_response.go @@ -30,6 +30,9 @@ type StopDesktopRequest struct { // A token that uniquely identifies a request. OpcRetryToken *string `mandatory:"false" contributesTo:"header" name:"opc-retry-token"` + // Force a STOP(power off) of the desktop if set to false + IsSoftStop *bool `mandatory:"false" contributesTo:"query" name:"isSoftStop"` + // Metadata about the request. This information will not be transmitted to the service, but // represents information that the SDK will consume to drive retry behavior. RequestMetadata common.RequestMetadata diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_desktop_session_lifecycle_actions.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_desktop_session_lifecycle_actions.go new file mode 100644 index 00000000000..596915a2f20 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_desktop_session_lifecycle_actions.go @@ -0,0 +1,39 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Secure Desktops API +// +// Create and manage cloud-hosted desktops which can be accessed from a web browser or installed client. +// + +package desktops + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// UpdateDesktopPoolDesktopSessionLifecycleActions The update details of action to be triggered in case of inactivity or disconnect +type UpdateDesktopPoolDesktopSessionLifecycleActions struct { + Inactivity *InactivityConfig `mandatory:"false" json:"inactivity"` + + Disconnect *DisconnectConfig `mandatory:"false" json:"disconnect"` +} + +func (m UpdateDesktopPoolDesktopSessionLifecycleActions) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m UpdateDesktopPoolDesktopSessionLifecycleActions) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_details.go index 59a5b40a3a4..2ede6de2fb3 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/desktops/update_desktop_pool_details.go @@ -53,6 +53,8 @@ type UpdateDesktopPoolDetails struct { // For more information, see Resource Tags (https://docs.cloud.oracle.com/Content/General/Concepts/resourcetags.htm). // Example: `{"Operations": {"CostCenter": "42"}}` DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` + + SessionLifecycleActions *UpdateDesktopPoolDesktopSessionLifecycleActions `mandatory:"false" json:"sessionLifecycleActions"` } func (m UpdateDesktopPoolDetails) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/create_fusion_environment_admin_user_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/create_fusion_environment_admin_user_details.go index d85706d8bb8..0dd37fff21b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/create_fusion_environment_admin_user_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/create_fusion_environment_admin_user_details.go @@ -21,9 +21,6 @@ type CreateFusionEnvironmentAdminUserDetails struct { // The username for the administrator. Username *string `mandatory:"true" json:"username"` - // The password for the administrator. - Password *string `mandatory:"true" json:"password"` - // The email address for the administrator. EmailAddress *string `mandatory:"true" json:"emailAddress"` @@ -32,6 +29,9 @@ type CreateFusionEnvironmentAdminUserDetails struct { // The administrator's last name. LastName *string `mandatory:"true" json:"lastName"` + + // The password for the administrator. + Password *string `mandatory:"false" json:"password"` } func (m CreateFusionEnvironmentAdminUserDetails) String() string { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/fusionapps_fusionapplications_client.go b/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/fusionapps_fusionapplications_client.go index bae3dcf9b77..30a650c5d49 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/fusionapps_fusionapplications_client.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/fusionapps/fusionapps_fusionapplications_client.go @@ -2221,7 +2221,7 @@ func (client FusionApplicationsClient) listWorkRequests(ctx context.Context, req return response, err } -// ResetFusionEnvironmentPassword Resets the password of the Fusion Environment Administrator. +// ResetFusionEnvironmentPassword Reset FusionEnvironment admin password. This API will be deprecated on Mon, 15 Jan 2024 01:00:00 GMT. Users can reset password themselves, FAaaS will no longer provide an API for this. // // # See also // diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/loadbalancer/connection_configuration.go b/vendor/github.com/oracle/oci-go-sdk/v65/loadbalancer/connection_configuration.go index 3f1b1bef5e3..fdebbb7b622 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/loadbalancer/connection_configuration.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/loadbalancer/connection_configuration.go @@ -29,6 +29,10 @@ type ConnectionConfiguration struct { // The backend TCP Proxy Protocol version. // Example: `1` BackendTcpProxyProtocolVersion *int `mandatory:"false" json:"backendTcpProxyProtocolVersion"` + + // An array that represents the PPV2 Options that can be enabled on TCP Listeners. + // Example: ["PP2_TYPE_AUTHORITY"] + BackendTcpProxyProtocolOptions []ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum `mandatory:"false" json:"backendTcpProxyProtocolOptions,omitempty"` } func (m ConnectionConfiguration) String() string { @@ -41,8 +45,52 @@ func (m ConnectionConfiguration) String() string { func (m ConnectionConfiguration) ValidateEnumValue() (bool, error) { errMessage := []string{} + for _, val := range m.BackendTcpProxyProtocolOptions { + if _, ok := GetMappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnum(string(val)); !ok && val != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for BackendTcpProxyProtocolOptions: %s. Supported values are: %s.", val, strings.Join(GetConnectionConfigurationBackendTcpProxyProtocolOptionsEnumStringValues(), ","))) + } + } + if len(errMessage) > 0 { return true, fmt.Errorf(strings.Join(errMessage, "\n")) } return false, nil } + +// ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum Enum with underlying type: string +type ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum string + +// Set of constants representing the allowable values for ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum +const ( + ConnectionConfigurationBackendTcpProxyProtocolOptionsPp2TypeAuthority ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum = "PP2_TYPE_AUTHORITY" +) + +var mappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnum = map[string]ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum{ + "PP2_TYPE_AUTHORITY": ConnectionConfigurationBackendTcpProxyProtocolOptionsPp2TypeAuthority, +} + +var mappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnumLowerCase = map[string]ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum{ + "pp2_type_authority": ConnectionConfigurationBackendTcpProxyProtocolOptionsPp2TypeAuthority, +} + +// GetConnectionConfigurationBackendTcpProxyProtocolOptionsEnumValues Enumerates the set of values for ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum +func GetConnectionConfigurationBackendTcpProxyProtocolOptionsEnumValues() []ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum { + values := make([]ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum, 0) + for _, v := range mappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnum { + values = append(values, v) + } + return values +} + +// GetConnectionConfigurationBackendTcpProxyProtocolOptionsEnumStringValues Enumerates the set of values in String for ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum +func GetConnectionConfigurationBackendTcpProxyProtocolOptionsEnumStringValues() []string { + return []string{ + "PP2_TYPE_AUTHORITY", + } +} + +// GetMappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnum(val string) (ConnectionConfigurationBackendTcpProxyProtocolOptionsEnum, bool) { + enum, ok := mappingConnectionConfigurationBackendTcpProxyProtocolOptionsEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_autonomous_database_insight_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_autonomous_database_insight_details.go new file mode 100644 index 00000000000..c4e603baf8a --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_autonomous_database_insight_details.go @@ -0,0 +1,150 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Ops Insights API +// +// Use the Ops Insights API to perform data extraction operations to obtain database +// resource utilization, performance statistics, and reference information. For more information, +// see About Oracle Cloud Infrastructure Ops Insights (https://docs.cloud.oracle.com/en-us/iaas/operations-insights/doc/operations-insights.html). +// + +package opsi + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CreateAutonomousDatabaseInsightDetails The information about database to be analyzed. When isAdvancedFeaturesEnabled is set to false, parameters connectionDetails, credentialDetails and opsiPrivateEndpoint are optional. Otherwise, connectionDetails and crendetialDetails are required to enable full OPSI service features. If the Autonomouse Database is configured with private, restricted or dedicated access, opsiPrivateEndpoint parameter is required. +type CreateAutonomousDatabaseInsightDetails struct { + + // Compartment Identifier of database + CompartmentId *string `mandatory:"true" json:"compartmentId"` + + // The OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the database. + DatabaseId *string `mandatory:"true" json:"databaseId"` + + // OCI database resource type + DatabaseResourceType *string `mandatory:"true" json:"databaseResourceType"` + + // Flag is to identify if advanced features for autonomous database is enabled or not + IsAdvancedFeaturesEnabled *bool `mandatory:"true" json:"isAdvancedFeaturesEnabled"` + + // Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. + // Example: `{"bar-key": "value"}` + FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` + + // Defined tags for this resource. Each key is predefined and scoped to a namespace. + // Example: `{"foo-namespace": {"bar-key": "value"}}` + DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` + + ConnectionDetails *ConnectionDetails `mandatory:"false" json:"connectionDetails"` + + CredentialDetails CredentialDetails `mandatory:"false" json:"credentialDetails"` + + // The OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OPSI private endpoint + OpsiPrivateEndpointId *string `mandatory:"false" json:"opsiPrivateEndpointId"` + + // System tags for this resource. Each key is predefined and scoped to a namespace. + // Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` + SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` +} + +// GetCompartmentId returns CompartmentId +func (m CreateAutonomousDatabaseInsightDetails) GetCompartmentId() *string { + return m.CompartmentId +} + +// GetFreeformTags returns FreeformTags +func (m CreateAutonomousDatabaseInsightDetails) GetFreeformTags() map[string]string { + return m.FreeformTags +} + +// GetDefinedTags returns DefinedTags +func (m CreateAutonomousDatabaseInsightDetails) GetDefinedTags() map[string]map[string]interface{} { + return m.DefinedTags +} + +func (m CreateAutonomousDatabaseInsightDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CreateAutonomousDatabaseInsightDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MarshalJSON marshals to json representation +func (m CreateAutonomousDatabaseInsightDetails) MarshalJSON() (buff []byte, e error) { + type MarshalTypeCreateAutonomousDatabaseInsightDetails CreateAutonomousDatabaseInsightDetails + s := struct { + DiscriminatorParam string `json:"entitySource"` + MarshalTypeCreateAutonomousDatabaseInsightDetails + }{ + "AUTONOMOUS_DATABASE", + (MarshalTypeCreateAutonomousDatabaseInsightDetails)(m), + } + + return json.Marshal(&s) +} + +// UnmarshalJSON unmarshals from json +func (m *CreateAutonomousDatabaseInsightDetails) UnmarshalJSON(data []byte) (e error) { + model := struct { + FreeformTags map[string]string `json:"freeformTags"` + DefinedTags map[string]map[string]interface{} `json:"definedTags"` + ConnectionDetails *ConnectionDetails `json:"connectionDetails"` + CredentialDetails credentialdetails `json:"credentialDetails"` + OpsiPrivateEndpointId *string `json:"opsiPrivateEndpointId"` + SystemTags map[string]map[string]interface{} `json:"systemTags"` + CompartmentId *string `json:"compartmentId"` + DatabaseId *string `json:"databaseId"` + DatabaseResourceType *string `json:"databaseResourceType"` + IsAdvancedFeaturesEnabled *bool `json:"isAdvancedFeaturesEnabled"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.FreeformTags = model.FreeformTags + + m.DefinedTags = model.DefinedTags + + m.ConnectionDetails = model.ConnectionDetails + + nn, e = model.CredentialDetails.UnmarshalPolymorphicJSON(model.CredentialDetails.JsonData) + if e != nil { + return + } + if nn != nil { + m.CredentialDetails = nn.(CredentialDetails) + } else { + m.CredentialDetails = nil + } + + m.OpsiPrivateEndpointId = model.OpsiPrivateEndpointId + + m.SystemTags = model.SystemTags + + m.CompartmentId = model.CompartmentId + + m.DatabaseId = model.DatabaseId + + m.DatabaseResourceType = model.DatabaseResourceType + + m.IsAdvancedFeaturesEnabled = model.IsAdvancedFeaturesEnabled + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_database_insight_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_database_insight_details.go index e0d5ed53c75..2732b7db849 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_database_insight_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/create_database_insight_details.go @@ -73,6 +73,10 @@ func (m *createdatabaseinsightdetails) UnmarshalPolymorphicJSON(data []byte) (in mm := CreateMacsManagedCloudDatabaseInsightDetails{} err = json.Unmarshal(data, &mm) return mm, err + case "AUTONOMOUS_DATABASE": + mm := CreateAutonomousDatabaseInsightDetails{} + err = json.Unmarshal(data, &mm) + return mm, err case "MDS_MYSQL_DATABASE_SYSTEM": mm := CreateMdsMySqlDatabaseInsightDetails{} err = json.Unmarshal(data, &mm) diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_by_iam.go b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_by_iam.go new file mode 100644 index 00000000000..01e215d6245 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_by_iam.go @@ -0,0 +1,61 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Ops Insights API +// +// Use the Ops Insights API to perform data extraction operations to obtain database +// resource utilization, performance statistics, and reference information. For more information, +// see About Oracle Cloud Infrastructure Ops Insights (https://docs.cloud.oracle.com/en-us/iaas/operations-insights/doc/operations-insights.html). +// + +package opsi + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CredentialByIam IAM Credential Details to connect to the database. +type CredentialByIam struct { + + // Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. + CredentialSourceName *string `mandatory:"true" json:"credentialSourceName"` +} + +// GetCredentialSourceName returns CredentialSourceName +func (m CredentialByIam) GetCredentialSourceName() *string { + return m.CredentialSourceName +} + +func (m CredentialByIam) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CredentialByIam) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MarshalJSON marshals to json representation +func (m CredentialByIam) MarshalJSON() (buff []byte, e error) { + type MarshalTypeCredentialByIam CredentialByIam + s := struct { + DiscriminatorParam string `json:"credentialType"` + MarshalTypeCredentialByIam + }{ + "CREDENTIALS_BY_IAM", + (MarshalTypeCredentialByIam)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_details.go index 8a35631af14..ab661fac5f0 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/credential_details.go @@ -65,6 +65,10 @@ func (m *credentialdetails) UnmarshalPolymorphicJSON(data []byte) (interface{}, mm := CredentialByVault{} err = json.Unmarshal(data, &mm) return mm, err + case "CREDENTIALS_BY_IAM": + mm := CredentialByIam{} + err = json.Unmarshal(data, &mm) + return mm, err default: common.Logf("Recieved unsupported enum value for CredentialDetails: %s.", m.CredentialType) return *m, nil @@ -99,16 +103,19 @@ type CredentialDetailsCredentialTypeEnum string const ( CredentialDetailsCredentialTypeSource CredentialDetailsCredentialTypeEnum = "CREDENTIALS_BY_SOURCE" CredentialDetailsCredentialTypeVault CredentialDetailsCredentialTypeEnum = "CREDENTIALS_BY_VAULT" + CredentialDetailsCredentialTypeIam CredentialDetailsCredentialTypeEnum = "CREDENTIALS_BY_IAM" ) var mappingCredentialDetailsCredentialTypeEnum = map[string]CredentialDetailsCredentialTypeEnum{ "CREDENTIALS_BY_SOURCE": CredentialDetailsCredentialTypeSource, "CREDENTIALS_BY_VAULT": CredentialDetailsCredentialTypeVault, + "CREDENTIALS_BY_IAM": CredentialDetailsCredentialTypeIam, } var mappingCredentialDetailsCredentialTypeEnumLowerCase = map[string]CredentialDetailsCredentialTypeEnum{ "credentials_by_source": CredentialDetailsCredentialTypeSource, "credentials_by_vault": CredentialDetailsCredentialTypeVault, + "credentials_by_iam": CredentialDetailsCredentialTypeIam, } // GetCredentialDetailsCredentialTypeEnumValues Enumerates the set of values for CredentialDetailsCredentialTypeEnum @@ -125,6 +132,7 @@ func GetCredentialDetailsCredentialTypeEnumStringValues() []string { return []string{ "CREDENTIALS_BY_SOURCE", "CREDENTIALS_BY_VAULT", + "CREDENTIALS_BY_IAM", } } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_autonomous_database_insight_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_autonomous_database_insight_details.go new file mode 100644 index 00000000000..b9959488c07 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_autonomous_database_insight_details.go @@ -0,0 +1,123 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Ops Insights API +// +// Use the Ops Insights API to perform data extraction operations to obtain database +// resource utilization, performance statistics, and reference information. For more information, +// see About Oracle Cloud Infrastructure Ops Insights (https://docs.cloud.oracle.com/en-us/iaas/operations-insights/doc/operations-insights.html). +// + +package opsi + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// EnableAutonomousDatabaseInsightDetails The information about database to be analyzed. When isAdvancedFeaturesEnabled is set to false, parameters connectionDetails, credentialDetails and opsiPrivateEndpoint are optional. Otherwise, connectionDetails and crendetialDetails are required to enable full OPSI service features. If the Autonomouse Database is configured with private, restricted or dedicated access, opsiPrivateEndpoint parameter is required. +type EnableAutonomousDatabaseInsightDetails struct { + + // Flag is to identify if advanced features for autonomous database is enabled or not + IsAdvancedFeaturesEnabled *bool `mandatory:"true" json:"isAdvancedFeaturesEnabled"` + + // OCI database resource type + DatabaseResourceType *string `mandatory:"false" json:"databaseResourceType"` + + ConnectionDetails *ConnectionDetails `mandatory:"false" json:"connectionDetails"` + + CredentialDetails CredentialDetails `mandatory:"false" json:"credentialDetails"` + + // The OCID (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OPSI private endpoint + OpsiPrivateEndpointId *string `mandatory:"false" json:"opsiPrivateEndpointId"` + + // Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. + // Example: `{"bar-key": "value"}` + FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` + + // Defined tags for this resource. Each key is predefined and scoped to a namespace. + // Example: `{"foo-namespace": {"bar-key": "value"}}` + DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` + + // System tags for this resource. Each key is predefined and scoped to a namespace. + // Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` + SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` +} + +func (m EnableAutonomousDatabaseInsightDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m EnableAutonomousDatabaseInsightDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MarshalJSON marshals to json representation +func (m EnableAutonomousDatabaseInsightDetails) MarshalJSON() (buff []byte, e error) { + type MarshalTypeEnableAutonomousDatabaseInsightDetails EnableAutonomousDatabaseInsightDetails + s := struct { + DiscriminatorParam string `json:"entitySource"` + MarshalTypeEnableAutonomousDatabaseInsightDetails + }{ + "AUTONOMOUS_DATABASE", + (MarshalTypeEnableAutonomousDatabaseInsightDetails)(m), + } + + return json.Marshal(&s) +} + +// UnmarshalJSON unmarshals from json +func (m *EnableAutonomousDatabaseInsightDetails) UnmarshalJSON(data []byte) (e error) { + model := struct { + DatabaseResourceType *string `json:"databaseResourceType"` + ConnectionDetails *ConnectionDetails `json:"connectionDetails"` + CredentialDetails credentialdetails `json:"credentialDetails"` + OpsiPrivateEndpointId *string `json:"opsiPrivateEndpointId"` + FreeformTags map[string]string `json:"freeformTags"` + DefinedTags map[string]map[string]interface{} `json:"definedTags"` + SystemTags map[string]map[string]interface{} `json:"systemTags"` + IsAdvancedFeaturesEnabled *bool `json:"isAdvancedFeaturesEnabled"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.DatabaseResourceType = model.DatabaseResourceType + + m.ConnectionDetails = model.ConnectionDetails + + nn, e = model.CredentialDetails.UnmarshalPolymorphicJSON(model.CredentialDetails.JsonData) + if e != nil { + return + } + if nn != nil { + m.CredentialDetails = nn.(CredentialDetails) + } else { + m.CredentialDetails = nil + } + + m.OpsiPrivateEndpointId = model.OpsiPrivateEndpointId + + m.FreeformTags = model.FreeformTags + + m.DefinedTags = model.DefinedTags + + m.SystemTags = model.SystemTags + + m.IsAdvancedFeaturesEnabled = model.IsAdvancedFeaturesEnabled + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_database_insight_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_database_insight_details.go index 28efee0cd0a..f04f816a0d1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_database_insight_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/opsi/enable_database_insight_details.go @@ -60,6 +60,10 @@ func (m *enabledatabaseinsightdetails) UnmarshalPolymorphicJSON(data []byte) (in mm := EnableMdsMySqlDatabaseInsightDetails{} err = json.Unmarshal(data, &mm) return mm, err + case "AUTONOMOUS_DATABASE": + mm := EnableAutonomousDatabaseInsightDetails{} + err = json.Unmarshal(data, &mm) + return mm, err case "MACS_MANAGED_CLOUD_DATABASE": mm := EnableMacsManagedCloudDatabaseInsightDetails{} err = json.Unmarshal(data, &mm) diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_details.go new file mode 100644 index 00000000000..c11acd78f8f --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_details.go @@ -0,0 +1,87 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CreateMaintenanceWindowDetails Infomation to create a new Maintenance Window. +type CreateMaintenanceWindowDetails struct { + + // Maintenance Window name. + Name *string `mandatory:"true" json:"name"` + + // Compartment Identifier OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). + CompartmentId *string `mandatory:"true" json:"compartmentId"` + + // List of resource Ids which are part of the Maintenance Window + Resources []CreateMaintenanceWindowResourceDetails `mandatory:"true" json:"resources"` + + Schedule MaintenanceWindowSchedule `mandatory:"true" json:"schedule"` + + // Maintenance Window description. + Description *string `mandatory:"false" json:"description"` +} + +func (m CreateMaintenanceWindowDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CreateMaintenanceWindowDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// UnmarshalJSON unmarshals from json +func (m *CreateMaintenanceWindowDetails) UnmarshalJSON(data []byte) (e error) { + model := struct { + Description *string `json:"description"` + Name *string `json:"name"` + CompartmentId *string `json:"compartmentId"` + Resources []CreateMaintenanceWindowResourceDetails `json:"resources"` + Schedule maintenancewindowschedule `json:"schedule"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.Description = model.Description + + m.Name = model.Name + + m.CompartmentId = model.CompartmentId + + m.Resources = make([]CreateMaintenanceWindowResourceDetails, len(model.Resources)) + copy(m.Resources, model.Resources) + nn, e = model.Schedule.UnmarshalPolymorphicJSON(model.Schedule.JsonData) + if e != nil { + return + } + if nn != nil { + m.Schedule = nn.(MaintenanceWindowSchedule) + } else { + m.Schedule = nil + } + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_request_response.go new file mode 100644 index 00000000000..0bfe24ef0dd --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_request_response.go @@ -0,0 +1,104 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// CreateMaintenanceWindowRequest wrapper for the CreateMaintenanceWindow operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/CreateMaintenanceWindow.go.html to see an example of how to use CreateMaintenanceWindowRequest. +type CreateMaintenanceWindowRequest struct { + + // Details to create the Maintenance Window + CreateMaintenanceWindowDetails `contributesTo:"body"` + + // A token that uniquely identifies a request so it can be retried in case of a timeout or + // server error without risk of executing that same action again. Retry tokens expire after 24 + // hours, but can be invalidated before then due to conflicting operations. For example, if a resource + // has been deleted and purged from the system, then a retry of the original creation request + // might be rejected. + OpcRetryToken *string `mandatory:"false" contributesTo:"header" name:"opc-retry-token"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request CreateMaintenanceWindowRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request CreateMaintenanceWindowRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request CreateMaintenanceWindowRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request CreateMaintenanceWindowRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request CreateMaintenanceWindowRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// CreateMaintenanceWindowResponse wrapper for the CreateMaintenanceWindow operation +type CreateMaintenanceWindowResponse struct { + + // The underlying http response + RawResponse *http.Response + + // The MaintenanceWindow instance + MaintenanceWindow `presentIn:"body"` + + // Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` + + // For optimistic concurrency control. See `if-match`. + Etag *string `presentIn:"header" name:"etag"` +} + +func (response CreateMaintenanceWindowResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response CreateMaintenanceWindowResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_resource_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_resource_details.go new file mode 100644 index 00000000000..0365ea00694 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/create_maintenance_window_resource_details.go @@ -0,0 +1,44 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CreateMaintenanceWindowResourceDetails List of resource IDs that are part of the Maintenance Window. +type CreateMaintenanceWindowResourceDetails struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of monitored resource + // part of the Maintenance window. + ResourceId *string `mandatory:"true" json:"resourceId"` + + // Flag to indicate if the members of the resource has to be include in the + // Maintenance Window. + AreMembersIncluded *bool `mandatory:"false" json:"areMembersIncluded"` +} + +func (m CreateMaintenanceWindowResourceDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m CreateMaintenanceWindowResourceDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/delete_maintenance_window_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/delete_maintenance_window_request_response.go new file mode 100644 index 00000000000..7e825824da5 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/delete_maintenance_window_request_response.go @@ -0,0 +1,98 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// DeleteMaintenanceWindowRequest wrapper for the DeleteMaintenanceWindow operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/DeleteMaintenanceWindow.go.html to see an example of how to use DeleteMaintenanceWindowRequest. +type DeleteMaintenanceWindowRequest struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + MaintenanceWindowId *string `mandatory:"true" contributesTo:"path" name:"maintenanceWindowId"` + + // For optimistic concurrency control. In the PUT or DELETE call + // for a resource, set the `if-match` parameter to the value of the + // etag from a previous GET or POST response for that resource. + // The resource will be updated or deleted only if the etag you + // provide matches the resource's current etag value. + IfMatch *string `mandatory:"false" contributesTo:"header" name:"if-match"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request DeleteMaintenanceWindowRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request DeleteMaintenanceWindowRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request DeleteMaintenanceWindowRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request DeleteMaintenanceWindowRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request DeleteMaintenanceWindowRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// DeleteMaintenanceWindowResponse wrapper for the DeleteMaintenanceWindow operation +type DeleteMaintenanceWindowResponse struct { + + // The underlying http response + RawResponse *http.Response + + // Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response DeleteMaintenanceWindowResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response DeleteMaintenanceWindowResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/get_maintenance_window_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/get_maintenance_window_request_response.go new file mode 100644 index 00000000000..a64d2183d0c --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/get_maintenance_window_request_response.go @@ -0,0 +1,94 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// GetMaintenanceWindowRequest wrapper for the GetMaintenanceWindow operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/GetMaintenanceWindow.go.html to see an example of how to use GetMaintenanceWindowRequest. +type GetMaintenanceWindowRequest struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + MaintenanceWindowId *string `mandatory:"true" contributesTo:"path" name:"maintenanceWindowId"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request GetMaintenanceWindowRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request GetMaintenanceWindowRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request GetMaintenanceWindowRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request GetMaintenanceWindowRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request GetMaintenanceWindowRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// GetMaintenanceWindowResponse wrapper for the GetMaintenanceWindow operation +type GetMaintenanceWindowResponse struct { + + // The underlying http response + RawResponse *http.Response + + // The MaintenanceWindow instance + MaintenanceWindow `presentIn:"body"` + + // For optimistic concurrency control. See `if-match`. + Etag *string `presentIn:"header" name:"etag"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response GetMaintenanceWindowResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response GetMaintenanceWindowResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/list_maintenance_windows_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/list_maintenance_windows_request_response.go new file mode 100644 index 00000000000..e772687be21 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/list_maintenance_windows_request_response.go @@ -0,0 +1,345 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// ListMaintenanceWindowsRequest wrapper for the ListMaintenanceWindows operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/ListMaintenanceWindows.go.html to see an example of how to use ListMaintenanceWindowsRequest. +type ListMaintenanceWindowsRequest struct { + + // The ID of the compartment in which data is listed. + CompartmentId *string `mandatory:"true" contributesTo:"query" name:"compartmentId"` + + // A filter to return maintenance windows that match exact resource name. + Name *string `mandatory:"false" contributesTo:"query" name:"name"` + + // A filter to return maintenance windows with matching lifecycleDetails. + LifecycleDetails ListMaintenanceWindowsLifecycleDetailsEnum `mandatory:"false" contributesTo:"query" name:"lifecycleDetails" omitEmpty:"true"` + + // A filter to return only maintenance windows with matching lifecycleState. + Status ListMaintenanceWindowsStatusEnum `mandatory:"false" contributesTo:"query" name:"status" omitEmpty:"true"` + + // The field to sort by. Only one sort order may be provided. + // Default order for timeCreated is descending. Default order for mainteance window name is ascending. + SortBy ListMaintenanceWindowsSortByEnum `mandatory:"false" contributesTo:"query" name:"sortBy" omitEmpty:"true"` + + // The sort order to use, either ascending (`ASC`) or descending (`DESC`). + SortOrder ListMaintenanceWindowsSortOrderEnum `mandatory:"false" contributesTo:"query" name:"sortOrder" omitEmpty:"true"` + + // For list pagination. The maximum number of results per page, or items to return in a + // paginated "List" call. For important details about how pagination works, see + // List Pagination (https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + Limit *int `mandatory:"false" contributesTo:"query" name:"limit"` + + // For list pagination. The value of the `opc-next-page` response header from the + // previous "List" call. For important details about how pagination works, see + // List Pagination (https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine). + Page *string `mandatory:"false" contributesTo:"query" name:"page"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request ListMaintenanceWindowsRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request ListMaintenanceWindowsRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request ListMaintenanceWindowsRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request ListMaintenanceWindowsRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request ListMaintenanceWindowsRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if _, ok := GetMappingListMaintenanceWindowsLifecycleDetailsEnum(string(request.LifecycleDetails)); !ok && request.LifecycleDetails != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleDetails: %s. Supported values are: %s.", request.LifecycleDetails, strings.Join(GetListMaintenanceWindowsLifecycleDetailsEnumStringValues(), ","))) + } + if _, ok := GetMappingListMaintenanceWindowsStatusEnum(string(request.Status)); !ok && request.Status != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Status: %s. Supported values are: %s.", request.Status, strings.Join(GetListMaintenanceWindowsStatusEnumStringValues(), ","))) + } + if _, ok := GetMappingListMaintenanceWindowsSortByEnum(string(request.SortBy)); !ok && request.SortBy != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for SortBy: %s. Supported values are: %s.", request.SortBy, strings.Join(GetListMaintenanceWindowsSortByEnumStringValues(), ","))) + } + if _, ok := GetMappingListMaintenanceWindowsSortOrderEnum(string(request.SortOrder)); !ok && request.SortOrder != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for SortOrder: %s. Supported values are: %s.", request.SortOrder, strings.Join(GetListMaintenanceWindowsSortOrderEnumStringValues(), ","))) + } + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// ListMaintenanceWindowsResponse wrapper for the ListMaintenanceWindows operation +type ListMaintenanceWindowsResponse struct { + + // The underlying http response + RawResponse *http.Response + + // A list of MaintenanceWindowCollection instances + MaintenanceWindowCollection `presentIn:"body"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` + + // For pagination of a list of items. When paging through a list, if this header appears in the response, + // then a partial list might have been returned. Include this value as the `page` parameter for the + // subsequent GET request to get the next batch of items. + OpcNextPage *string `presentIn:"header" name:"opc-next-page"` + + // For pagination of a list of items. The total number of items in the result. + OpcTotalItems *int `presentIn:"header" name:"opc-total-items"` +} + +func (response ListMaintenanceWindowsResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response ListMaintenanceWindowsResponse) HTTPResponse() *http.Response { + return response.RawResponse +} + +// ListMaintenanceWindowsLifecycleDetailsEnum Enum with underlying type: string +type ListMaintenanceWindowsLifecycleDetailsEnum string + +// Set of constants representing the allowable values for ListMaintenanceWindowsLifecycleDetailsEnum +const ( + ListMaintenanceWindowsLifecycleDetailsInProgress ListMaintenanceWindowsLifecycleDetailsEnum = "IN_PROGRESS" + ListMaintenanceWindowsLifecycleDetailsScheduled ListMaintenanceWindowsLifecycleDetailsEnum = "SCHEDULED" + ListMaintenanceWindowsLifecycleDetailsCompleted ListMaintenanceWindowsLifecycleDetailsEnum = "COMPLETED" +) + +var mappingListMaintenanceWindowsLifecycleDetailsEnum = map[string]ListMaintenanceWindowsLifecycleDetailsEnum{ + "IN_PROGRESS": ListMaintenanceWindowsLifecycleDetailsInProgress, + "SCHEDULED": ListMaintenanceWindowsLifecycleDetailsScheduled, + "COMPLETED": ListMaintenanceWindowsLifecycleDetailsCompleted, +} + +var mappingListMaintenanceWindowsLifecycleDetailsEnumLowerCase = map[string]ListMaintenanceWindowsLifecycleDetailsEnum{ + "in_progress": ListMaintenanceWindowsLifecycleDetailsInProgress, + "scheduled": ListMaintenanceWindowsLifecycleDetailsScheduled, + "completed": ListMaintenanceWindowsLifecycleDetailsCompleted, +} + +// GetListMaintenanceWindowsLifecycleDetailsEnumValues Enumerates the set of values for ListMaintenanceWindowsLifecycleDetailsEnum +func GetListMaintenanceWindowsLifecycleDetailsEnumValues() []ListMaintenanceWindowsLifecycleDetailsEnum { + values := make([]ListMaintenanceWindowsLifecycleDetailsEnum, 0) + for _, v := range mappingListMaintenanceWindowsLifecycleDetailsEnum { + values = append(values, v) + } + return values +} + +// GetListMaintenanceWindowsLifecycleDetailsEnumStringValues Enumerates the set of values in String for ListMaintenanceWindowsLifecycleDetailsEnum +func GetListMaintenanceWindowsLifecycleDetailsEnumStringValues() []string { + return []string{ + "IN_PROGRESS", + "SCHEDULED", + "COMPLETED", + } +} + +// GetMappingListMaintenanceWindowsLifecycleDetailsEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListMaintenanceWindowsLifecycleDetailsEnum(val string) (ListMaintenanceWindowsLifecycleDetailsEnum, bool) { + enum, ok := mappingListMaintenanceWindowsLifecycleDetailsEnumLowerCase[strings.ToLower(val)] + return enum, ok +} + +// ListMaintenanceWindowsStatusEnum Enum with underlying type: string +type ListMaintenanceWindowsStatusEnum string + +// Set of constants representing the allowable values for ListMaintenanceWindowsStatusEnum +const ( + ListMaintenanceWindowsStatusCreating ListMaintenanceWindowsStatusEnum = "CREATING" + ListMaintenanceWindowsStatusUpdating ListMaintenanceWindowsStatusEnum = "UPDATING" + ListMaintenanceWindowsStatusInactive ListMaintenanceWindowsStatusEnum = "INACTIVE" + ListMaintenanceWindowsStatusActive ListMaintenanceWindowsStatusEnum = "ACTIVE" + ListMaintenanceWindowsStatusDeleting ListMaintenanceWindowsStatusEnum = "DELETING" + ListMaintenanceWindowsStatusDeleted ListMaintenanceWindowsStatusEnum = "DELETED" + ListMaintenanceWindowsStatusFailed ListMaintenanceWindowsStatusEnum = "FAILED" + ListMaintenanceWindowsStatusNeedsAttention ListMaintenanceWindowsStatusEnum = "NEEDS_ATTENTION" +) + +var mappingListMaintenanceWindowsStatusEnum = map[string]ListMaintenanceWindowsStatusEnum{ + "CREATING": ListMaintenanceWindowsStatusCreating, + "UPDATING": ListMaintenanceWindowsStatusUpdating, + "INACTIVE": ListMaintenanceWindowsStatusInactive, + "ACTIVE": ListMaintenanceWindowsStatusActive, + "DELETING": ListMaintenanceWindowsStatusDeleting, + "DELETED": ListMaintenanceWindowsStatusDeleted, + "FAILED": ListMaintenanceWindowsStatusFailed, + "NEEDS_ATTENTION": ListMaintenanceWindowsStatusNeedsAttention, +} + +var mappingListMaintenanceWindowsStatusEnumLowerCase = map[string]ListMaintenanceWindowsStatusEnum{ + "creating": ListMaintenanceWindowsStatusCreating, + "updating": ListMaintenanceWindowsStatusUpdating, + "inactive": ListMaintenanceWindowsStatusInactive, + "active": ListMaintenanceWindowsStatusActive, + "deleting": ListMaintenanceWindowsStatusDeleting, + "deleted": ListMaintenanceWindowsStatusDeleted, + "failed": ListMaintenanceWindowsStatusFailed, + "needs_attention": ListMaintenanceWindowsStatusNeedsAttention, +} + +// GetListMaintenanceWindowsStatusEnumValues Enumerates the set of values for ListMaintenanceWindowsStatusEnum +func GetListMaintenanceWindowsStatusEnumValues() []ListMaintenanceWindowsStatusEnum { + values := make([]ListMaintenanceWindowsStatusEnum, 0) + for _, v := range mappingListMaintenanceWindowsStatusEnum { + values = append(values, v) + } + return values +} + +// GetListMaintenanceWindowsStatusEnumStringValues Enumerates the set of values in String for ListMaintenanceWindowsStatusEnum +func GetListMaintenanceWindowsStatusEnumStringValues() []string { + return []string{ + "CREATING", + "UPDATING", + "INACTIVE", + "ACTIVE", + "DELETING", + "DELETED", + "FAILED", + "NEEDS_ATTENTION", + } +} + +// GetMappingListMaintenanceWindowsStatusEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListMaintenanceWindowsStatusEnum(val string) (ListMaintenanceWindowsStatusEnum, bool) { + enum, ok := mappingListMaintenanceWindowsStatusEnumLowerCase[strings.ToLower(val)] + return enum, ok +} + +// ListMaintenanceWindowsSortByEnum Enum with underlying type: string +type ListMaintenanceWindowsSortByEnum string + +// Set of constants representing the allowable values for ListMaintenanceWindowsSortByEnum +const ( + ListMaintenanceWindowsSortByName ListMaintenanceWindowsSortByEnum = "NAME" + ListMaintenanceWindowsSortByStartTime ListMaintenanceWindowsSortByEnum = "START_TIME" + ListMaintenanceWindowsSortByEndTime ListMaintenanceWindowsSortByEnum = "END_TIME" + ListMaintenanceWindowsSortByTimeCreated ListMaintenanceWindowsSortByEnum = "TIME_CREATED" + ListMaintenanceWindowsSortByTimeUpdated ListMaintenanceWindowsSortByEnum = "TIME_UPDATED" +) + +var mappingListMaintenanceWindowsSortByEnum = map[string]ListMaintenanceWindowsSortByEnum{ + "NAME": ListMaintenanceWindowsSortByName, + "START_TIME": ListMaintenanceWindowsSortByStartTime, + "END_TIME": ListMaintenanceWindowsSortByEndTime, + "TIME_CREATED": ListMaintenanceWindowsSortByTimeCreated, + "TIME_UPDATED": ListMaintenanceWindowsSortByTimeUpdated, +} + +var mappingListMaintenanceWindowsSortByEnumLowerCase = map[string]ListMaintenanceWindowsSortByEnum{ + "name": ListMaintenanceWindowsSortByName, + "start_time": ListMaintenanceWindowsSortByStartTime, + "end_time": ListMaintenanceWindowsSortByEndTime, + "time_created": ListMaintenanceWindowsSortByTimeCreated, + "time_updated": ListMaintenanceWindowsSortByTimeUpdated, +} + +// GetListMaintenanceWindowsSortByEnumValues Enumerates the set of values for ListMaintenanceWindowsSortByEnum +func GetListMaintenanceWindowsSortByEnumValues() []ListMaintenanceWindowsSortByEnum { + values := make([]ListMaintenanceWindowsSortByEnum, 0) + for _, v := range mappingListMaintenanceWindowsSortByEnum { + values = append(values, v) + } + return values +} + +// GetListMaintenanceWindowsSortByEnumStringValues Enumerates the set of values in String for ListMaintenanceWindowsSortByEnum +func GetListMaintenanceWindowsSortByEnumStringValues() []string { + return []string{ + "NAME", + "START_TIME", + "END_TIME", + "TIME_CREATED", + "TIME_UPDATED", + } +} + +// GetMappingListMaintenanceWindowsSortByEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListMaintenanceWindowsSortByEnum(val string) (ListMaintenanceWindowsSortByEnum, bool) { + enum, ok := mappingListMaintenanceWindowsSortByEnumLowerCase[strings.ToLower(val)] + return enum, ok +} + +// ListMaintenanceWindowsSortOrderEnum Enum with underlying type: string +type ListMaintenanceWindowsSortOrderEnum string + +// Set of constants representing the allowable values for ListMaintenanceWindowsSortOrderEnum +const ( + ListMaintenanceWindowsSortOrderAsc ListMaintenanceWindowsSortOrderEnum = "ASC" + ListMaintenanceWindowsSortOrderDesc ListMaintenanceWindowsSortOrderEnum = "DESC" +) + +var mappingListMaintenanceWindowsSortOrderEnum = map[string]ListMaintenanceWindowsSortOrderEnum{ + "ASC": ListMaintenanceWindowsSortOrderAsc, + "DESC": ListMaintenanceWindowsSortOrderDesc, +} + +var mappingListMaintenanceWindowsSortOrderEnumLowerCase = map[string]ListMaintenanceWindowsSortOrderEnum{ + "asc": ListMaintenanceWindowsSortOrderAsc, + "desc": ListMaintenanceWindowsSortOrderDesc, +} + +// GetListMaintenanceWindowsSortOrderEnumValues Enumerates the set of values for ListMaintenanceWindowsSortOrderEnum +func GetListMaintenanceWindowsSortOrderEnumValues() []ListMaintenanceWindowsSortOrderEnum { + values := make([]ListMaintenanceWindowsSortOrderEnum, 0) + for _, v := range mappingListMaintenanceWindowsSortOrderEnum { + values = append(values, v) + } + return values +} + +// GetListMaintenanceWindowsSortOrderEnumStringValues Enumerates the set of values in String for ListMaintenanceWindowsSortOrderEnum +func GetListMaintenanceWindowsSortOrderEnumStringValues() []string { + return []string{ + "ASC", + "DESC", + } +} + +// GetMappingListMaintenanceWindowsSortOrderEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListMaintenanceWindowsSortOrderEnum(val string) (ListMaintenanceWindowsSortOrderEnum, bool) { + enum, ok := mappingListMaintenanceWindowsSortOrderEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window.go new file mode 100644 index 00000000000..0c223eb3a7e --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window.go @@ -0,0 +1,130 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MaintenanceWindow Maintenance Window object. It contains all the information of the Maintenance window. +// Used in the Create and Get operations. +type MaintenanceWindow struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + Id *string `mandatory:"true" json:"id"` + + // Maintenance Window name. + Name *string `mandatory:"true" json:"name"` + + // Compartment Identifier OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). + CompartmentId *string `mandatory:"true" json:"compartmentId"` + + // Maintenance Window description. + Description *string `mandatory:"false" json:"description"` + + // List of resource Ids which are part of the Maintenance Window + Resources []CreateMaintenanceWindowResourceDetails `mandatory:"false" json:"resources"` + + // List of resource details that are part of the Maintenance Window. + ResourcesDetails []MonitoredResourceDetails `mandatory:"false" json:"resourcesDetails"` + + // Lifecycle state of the monitored resource. + LifecycleState MaintenanceWindowLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` + + // Lifecycle Details of the Maintenance Window. + LifecycleDetails MaintenanceWindowLifecycleDetailsEnum `mandatory:"false" json:"lifecycleDetails,omitempty"` + + Schedule MaintenanceWindowSchedule `mandatory:"false" json:"schedule"` + + // The time the the maintenance window was created. An RFC3339 formatted datetime string + TimeCreated *common.SDKTime `mandatory:"false" json:"timeCreated"` + + // The time the the mainteance window was updated. An RFC3339 formatted datetime string + TimeUpdated *common.SDKTime `mandatory:"false" json:"timeUpdated"` +} + +func (m MaintenanceWindow) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m MaintenanceWindow) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if _, ok := GetMappingMaintenanceWindowLifecycleStateEnum(string(m.LifecycleState)); !ok && m.LifecycleState != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetMaintenanceWindowLifecycleStateEnumStringValues(), ","))) + } + if _, ok := GetMappingMaintenanceWindowLifecycleDetailsEnum(string(m.LifecycleDetails)); !ok && m.LifecycleDetails != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleDetails: %s. Supported values are: %s.", m.LifecycleDetails, strings.Join(GetMaintenanceWindowLifecycleDetailsEnumStringValues(), ","))) + } + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// UnmarshalJSON unmarshals from json +func (m *MaintenanceWindow) UnmarshalJSON(data []byte) (e error) { + model := struct { + Description *string `json:"description"` + Resources []CreateMaintenanceWindowResourceDetails `json:"resources"` + ResourcesDetails []MonitoredResourceDetails `json:"resourcesDetails"` + LifecycleState MaintenanceWindowLifecycleStateEnum `json:"lifecycleState"` + LifecycleDetails MaintenanceWindowLifecycleDetailsEnum `json:"lifecycleDetails"` + Schedule maintenancewindowschedule `json:"schedule"` + TimeCreated *common.SDKTime `json:"timeCreated"` + TimeUpdated *common.SDKTime `json:"timeUpdated"` + Id *string `json:"id"` + Name *string `json:"name"` + CompartmentId *string `json:"compartmentId"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.Description = model.Description + + m.Resources = make([]CreateMaintenanceWindowResourceDetails, len(model.Resources)) + copy(m.Resources, model.Resources) + m.ResourcesDetails = make([]MonitoredResourceDetails, len(model.ResourcesDetails)) + copy(m.ResourcesDetails, model.ResourcesDetails) + m.LifecycleState = model.LifecycleState + + m.LifecycleDetails = model.LifecycleDetails + + nn, e = model.Schedule.UnmarshalPolymorphicJSON(model.Schedule.JsonData) + if e != nil { + return + } + if nn != nil { + m.Schedule = nn.(MaintenanceWindowSchedule) + } else { + m.Schedule = nil + } + + m.TimeCreated = model.TimeCreated + + m.TimeUpdated = model.TimeUpdated + + m.Id = model.Id + + m.Name = model.Name + + m.CompartmentId = model.CompartmentId + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_collection.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_collection.go new file mode 100644 index 00000000000..fd58cbbf8e9 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_collection.go @@ -0,0 +1,39 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MaintenanceWindowCollection Result of List of maintenance window. Contains MaintenanceWindowSummary items and other data. +type MaintenanceWindowCollection struct { + + // List of maintenance window. + Items []MaintenanceWindowSummary `mandatory:"true" json:"items"` +} + +func (m MaintenanceWindowCollection) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m MaintenanceWindowCollection) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_lifecycle_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_lifecycle_details.go new file mode 100644 index 00000000000..bd4a4a3a0b5 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_lifecycle_details.go @@ -0,0 +1,60 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "strings" +) + +// MaintenanceWindowLifecycleDetailsEnum Enum with underlying type: string +type MaintenanceWindowLifecycleDetailsEnum string + +// Set of constants representing the allowable values for MaintenanceWindowLifecycleDetailsEnum +const ( + MaintenanceWindowLifecycleDetailsInProgress MaintenanceWindowLifecycleDetailsEnum = "IN_PROGRESS" + MaintenanceWindowLifecycleDetailsScheduled MaintenanceWindowLifecycleDetailsEnum = "SCHEDULED" + MaintenanceWindowLifecycleDetailsCompleted MaintenanceWindowLifecycleDetailsEnum = "COMPLETED" +) + +var mappingMaintenanceWindowLifecycleDetailsEnum = map[string]MaintenanceWindowLifecycleDetailsEnum{ + "IN_PROGRESS": MaintenanceWindowLifecycleDetailsInProgress, + "SCHEDULED": MaintenanceWindowLifecycleDetailsScheduled, + "COMPLETED": MaintenanceWindowLifecycleDetailsCompleted, +} + +var mappingMaintenanceWindowLifecycleDetailsEnumLowerCase = map[string]MaintenanceWindowLifecycleDetailsEnum{ + "in_progress": MaintenanceWindowLifecycleDetailsInProgress, + "scheduled": MaintenanceWindowLifecycleDetailsScheduled, + "completed": MaintenanceWindowLifecycleDetailsCompleted, +} + +// GetMaintenanceWindowLifecycleDetailsEnumValues Enumerates the set of values for MaintenanceWindowLifecycleDetailsEnum +func GetMaintenanceWindowLifecycleDetailsEnumValues() []MaintenanceWindowLifecycleDetailsEnum { + values := make([]MaintenanceWindowLifecycleDetailsEnum, 0) + for _, v := range mappingMaintenanceWindowLifecycleDetailsEnum { + values = append(values, v) + } + return values +} + +// GetMaintenanceWindowLifecycleDetailsEnumStringValues Enumerates the set of values in String for MaintenanceWindowLifecycleDetailsEnum +func GetMaintenanceWindowLifecycleDetailsEnumStringValues() []string { + return []string{ + "IN_PROGRESS", + "SCHEDULED", + "COMPLETED", + } +} + +// GetMappingMaintenanceWindowLifecycleDetailsEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingMaintenanceWindowLifecycleDetailsEnum(val string) (MaintenanceWindowLifecycleDetailsEnum, bool) { + enum, ok := mappingMaintenanceWindowLifecycleDetailsEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_lifecycle_state.go new file mode 100644 index 00000000000..da50d40ce54 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_lifecycle_state.go @@ -0,0 +1,80 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "strings" +) + +// MaintenanceWindowLifecycleStateEnum Enum with underlying type: string +type MaintenanceWindowLifecycleStateEnum string + +// Set of constants representing the allowable values for MaintenanceWindowLifecycleStateEnum +const ( + MaintenanceWindowLifecycleStateCreating MaintenanceWindowLifecycleStateEnum = "CREATING" + MaintenanceWindowLifecycleStateUpdating MaintenanceWindowLifecycleStateEnum = "UPDATING" + MaintenanceWindowLifecycleStateInactive MaintenanceWindowLifecycleStateEnum = "INACTIVE" + MaintenanceWindowLifecycleStateActive MaintenanceWindowLifecycleStateEnum = "ACTIVE" + MaintenanceWindowLifecycleStateDeleting MaintenanceWindowLifecycleStateEnum = "DELETING" + MaintenanceWindowLifecycleStateDeleted MaintenanceWindowLifecycleStateEnum = "DELETED" + MaintenanceWindowLifecycleStateFailed MaintenanceWindowLifecycleStateEnum = "FAILED" + MaintenanceWindowLifecycleStateNeedsAttention MaintenanceWindowLifecycleStateEnum = "NEEDS_ATTENTION" +) + +var mappingMaintenanceWindowLifecycleStateEnum = map[string]MaintenanceWindowLifecycleStateEnum{ + "CREATING": MaintenanceWindowLifecycleStateCreating, + "UPDATING": MaintenanceWindowLifecycleStateUpdating, + "INACTIVE": MaintenanceWindowLifecycleStateInactive, + "ACTIVE": MaintenanceWindowLifecycleStateActive, + "DELETING": MaintenanceWindowLifecycleStateDeleting, + "DELETED": MaintenanceWindowLifecycleStateDeleted, + "FAILED": MaintenanceWindowLifecycleStateFailed, + "NEEDS_ATTENTION": MaintenanceWindowLifecycleStateNeedsAttention, +} + +var mappingMaintenanceWindowLifecycleStateEnumLowerCase = map[string]MaintenanceWindowLifecycleStateEnum{ + "creating": MaintenanceWindowLifecycleStateCreating, + "updating": MaintenanceWindowLifecycleStateUpdating, + "inactive": MaintenanceWindowLifecycleStateInactive, + "active": MaintenanceWindowLifecycleStateActive, + "deleting": MaintenanceWindowLifecycleStateDeleting, + "deleted": MaintenanceWindowLifecycleStateDeleted, + "failed": MaintenanceWindowLifecycleStateFailed, + "needs_attention": MaintenanceWindowLifecycleStateNeedsAttention, +} + +// GetMaintenanceWindowLifecycleStateEnumValues Enumerates the set of values for MaintenanceWindowLifecycleStateEnum +func GetMaintenanceWindowLifecycleStateEnumValues() []MaintenanceWindowLifecycleStateEnum { + values := make([]MaintenanceWindowLifecycleStateEnum, 0) + for _, v := range mappingMaintenanceWindowLifecycleStateEnum { + values = append(values, v) + } + return values +} + +// GetMaintenanceWindowLifecycleStateEnumStringValues Enumerates the set of values in String for MaintenanceWindowLifecycleStateEnum +func GetMaintenanceWindowLifecycleStateEnumStringValues() []string { + return []string{ + "CREATING", + "UPDATING", + "INACTIVE", + "ACTIVE", + "DELETING", + "DELETED", + "FAILED", + "NEEDS_ATTENTION", + } +} + +// GetMappingMaintenanceWindowLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingMaintenanceWindowLifecycleStateEnum(val string) (MaintenanceWindowLifecycleStateEnum, bool) { + enum, ok := mappingMaintenanceWindowLifecycleStateEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_operation_status.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_operation_status.go new file mode 100644 index 00000000000..f162147a86c --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_operation_status.go @@ -0,0 +1,60 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "strings" +) + +// MaintenanceWindowOperationStatusEnum Enum with underlying type: string +type MaintenanceWindowOperationStatusEnum string + +// Set of constants representing the allowable values for MaintenanceWindowOperationStatusEnum +const ( + MaintenanceWindowOperationStatusInProgress MaintenanceWindowOperationStatusEnum = "IN_PROGRESS" + MaintenanceWindowOperationStatusFailed MaintenanceWindowOperationStatusEnum = "FAILED" + MaintenanceWindowOperationStatusSucceeded MaintenanceWindowOperationStatusEnum = "SUCCEEDED" +) + +var mappingMaintenanceWindowOperationStatusEnum = map[string]MaintenanceWindowOperationStatusEnum{ + "IN_PROGRESS": MaintenanceWindowOperationStatusInProgress, + "FAILED": MaintenanceWindowOperationStatusFailed, + "SUCCEEDED": MaintenanceWindowOperationStatusSucceeded, +} + +var mappingMaintenanceWindowOperationStatusEnumLowerCase = map[string]MaintenanceWindowOperationStatusEnum{ + "in_progress": MaintenanceWindowOperationStatusInProgress, + "failed": MaintenanceWindowOperationStatusFailed, + "succeeded": MaintenanceWindowOperationStatusSucceeded, +} + +// GetMaintenanceWindowOperationStatusEnumValues Enumerates the set of values for MaintenanceWindowOperationStatusEnum +func GetMaintenanceWindowOperationStatusEnumValues() []MaintenanceWindowOperationStatusEnum { + values := make([]MaintenanceWindowOperationStatusEnum, 0) + for _, v := range mappingMaintenanceWindowOperationStatusEnum { + values = append(values, v) + } + return values +} + +// GetMaintenanceWindowOperationStatusEnumStringValues Enumerates the set of values in String for MaintenanceWindowOperationStatusEnum +func GetMaintenanceWindowOperationStatusEnumStringValues() []string { + return []string{ + "IN_PROGRESS", + "FAILED", + "SUCCEEDED", + } +} + +// GetMappingMaintenanceWindowOperationStatusEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingMaintenanceWindowOperationStatusEnum(val string) (MaintenanceWindowOperationStatusEnum, bool) { + enum, ok := mappingMaintenanceWindowOperationStatusEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_operation_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_operation_type.go new file mode 100644 index 00000000000..6a306b2f0d7 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_operation_type.go @@ -0,0 +1,64 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "strings" +) + +// MaintenanceWindowOperationTypeEnum Enum with underlying type: string +type MaintenanceWindowOperationTypeEnum string + +// Set of constants representing the allowable values for MaintenanceWindowOperationTypeEnum +const ( + MaintenanceWindowOperationTypeUpdate MaintenanceWindowOperationTypeEnum = "UPDATE" + MaintenanceWindowOperationTypeCreate MaintenanceWindowOperationTypeEnum = "CREATE" + MaintenanceWindowOperationTypeDelete MaintenanceWindowOperationTypeEnum = "DELETE" + MaintenanceWindowOperationTypeStop MaintenanceWindowOperationTypeEnum = "STOP" +) + +var mappingMaintenanceWindowOperationTypeEnum = map[string]MaintenanceWindowOperationTypeEnum{ + "UPDATE": MaintenanceWindowOperationTypeUpdate, + "CREATE": MaintenanceWindowOperationTypeCreate, + "DELETE": MaintenanceWindowOperationTypeDelete, + "STOP": MaintenanceWindowOperationTypeStop, +} + +var mappingMaintenanceWindowOperationTypeEnumLowerCase = map[string]MaintenanceWindowOperationTypeEnum{ + "update": MaintenanceWindowOperationTypeUpdate, + "create": MaintenanceWindowOperationTypeCreate, + "delete": MaintenanceWindowOperationTypeDelete, + "stop": MaintenanceWindowOperationTypeStop, +} + +// GetMaintenanceWindowOperationTypeEnumValues Enumerates the set of values for MaintenanceWindowOperationTypeEnum +func GetMaintenanceWindowOperationTypeEnumValues() []MaintenanceWindowOperationTypeEnum { + values := make([]MaintenanceWindowOperationTypeEnum, 0) + for _, v := range mappingMaintenanceWindowOperationTypeEnum { + values = append(values, v) + } + return values +} + +// GetMaintenanceWindowOperationTypeEnumStringValues Enumerates the set of values in String for MaintenanceWindowOperationTypeEnum +func GetMaintenanceWindowOperationTypeEnumStringValues() []string { + return []string{ + "UPDATE", + "CREATE", + "DELETE", + "STOP", + } +} + +// GetMappingMaintenanceWindowOperationTypeEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingMaintenanceWindowOperationTypeEnum(val string) (MaintenanceWindowOperationTypeEnum, bool) { + enum, ok := mappingMaintenanceWindowOperationTypeEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_schedule.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_schedule.go new file mode 100644 index 00000000000..978d46054cb --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_schedule.go @@ -0,0 +1,123 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MaintenanceWindowSchedule Schedule information of the Maintenance Window +type MaintenanceWindowSchedule interface { +} + +type maintenancewindowschedule struct { + JsonData []byte + ScheduleType string `json:"scheduleType"` +} + +// UnmarshalJSON unmarshals json +func (m *maintenancewindowschedule) UnmarshalJSON(data []byte) error { + m.JsonData = data + type Unmarshalermaintenancewindowschedule maintenancewindowschedule + s := struct { + Model Unmarshalermaintenancewindowschedule + }{} + err := json.Unmarshal(data, &s.Model) + if err != nil { + return err + } + m.ScheduleType = s.Model.ScheduleType + + return err +} + +// UnmarshalPolymorphicJSON unmarshals polymorphic json +func (m *maintenancewindowschedule) UnmarshalPolymorphicJSON(data []byte) (interface{}, error) { + + if data == nil || string(data) == "null" { + return nil, nil + } + + var err error + switch m.ScheduleType { + case "RECURRENT": + mm := RecurrentMaintenanceWindowSchedule{} + err = json.Unmarshal(data, &mm) + return mm, err + case "ONE_TIME": + mm := OneTimeMaintenanceWindowSchedule{} + err = json.Unmarshal(data, &mm) + return mm, err + default: + common.Logf("Recieved unsupported enum value for MaintenanceWindowSchedule: %s.", m.ScheduleType) + return *m, nil + } +} + +func (m maintenancewindowschedule) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m maintenancewindowschedule) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MaintenanceWindowScheduleScheduleTypeEnum Enum with underlying type: string +type MaintenanceWindowScheduleScheduleTypeEnum string + +// Set of constants representing the allowable values for MaintenanceWindowScheduleScheduleTypeEnum +const ( + MaintenanceWindowScheduleScheduleTypeOneTime MaintenanceWindowScheduleScheduleTypeEnum = "ONE_TIME" + MaintenanceWindowScheduleScheduleTypeRecurrent MaintenanceWindowScheduleScheduleTypeEnum = "RECURRENT" +) + +var mappingMaintenanceWindowScheduleScheduleTypeEnum = map[string]MaintenanceWindowScheduleScheduleTypeEnum{ + "ONE_TIME": MaintenanceWindowScheduleScheduleTypeOneTime, + "RECURRENT": MaintenanceWindowScheduleScheduleTypeRecurrent, +} + +var mappingMaintenanceWindowScheduleScheduleTypeEnumLowerCase = map[string]MaintenanceWindowScheduleScheduleTypeEnum{ + "one_time": MaintenanceWindowScheduleScheduleTypeOneTime, + "recurrent": MaintenanceWindowScheduleScheduleTypeRecurrent, +} + +// GetMaintenanceWindowScheduleScheduleTypeEnumValues Enumerates the set of values for MaintenanceWindowScheduleScheduleTypeEnum +func GetMaintenanceWindowScheduleScheduleTypeEnumValues() []MaintenanceWindowScheduleScheduleTypeEnum { + values := make([]MaintenanceWindowScheduleScheduleTypeEnum, 0) + for _, v := range mappingMaintenanceWindowScheduleScheduleTypeEnum { + values = append(values, v) + } + return values +} + +// GetMaintenanceWindowScheduleScheduleTypeEnumStringValues Enumerates the set of values in String for MaintenanceWindowScheduleScheduleTypeEnum +func GetMaintenanceWindowScheduleScheduleTypeEnumStringValues() []string { + return []string{ + "ONE_TIME", + "RECURRENT", + } +} + +// GetMappingMaintenanceWindowScheduleScheduleTypeEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingMaintenanceWindowScheduleScheduleTypeEnum(val string) (MaintenanceWindowScheduleScheduleTypeEnum, bool) { + enum, ok := mappingMaintenanceWindowScheduleScheduleTypeEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_sort_by.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_sort_by.go new file mode 100644 index 00000000000..68581c9ef3c --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_sort_by.go @@ -0,0 +1,68 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "strings" +) + +// MaintenanceWindowSortByEnum Enum with underlying type: string +type MaintenanceWindowSortByEnum string + +// Set of constants representing the allowable values for MaintenanceWindowSortByEnum +const ( + MaintenanceWindowSortByName MaintenanceWindowSortByEnum = "NAME" + MaintenanceWindowSortByStartTime MaintenanceWindowSortByEnum = "START_TIME" + MaintenanceWindowSortByEndTime MaintenanceWindowSortByEnum = "END_TIME" + MaintenanceWindowSortByTimeCreated MaintenanceWindowSortByEnum = "TIME_CREATED" + MaintenanceWindowSortByTimeUpdated MaintenanceWindowSortByEnum = "TIME_UPDATED" +) + +var mappingMaintenanceWindowSortByEnum = map[string]MaintenanceWindowSortByEnum{ + "NAME": MaintenanceWindowSortByName, + "START_TIME": MaintenanceWindowSortByStartTime, + "END_TIME": MaintenanceWindowSortByEndTime, + "TIME_CREATED": MaintenanceWindowSortByTimeCreated, + "TIME_UPDATED": MaintenanceWindowSortByTimeUpdated, +} + +var mappingMaintenanceWindowSortByEnumLowerCase = map[string]MaintenanceWindowSortByEnum{ + "name": MaintenanceWindowSortByName, + "start_time": MaintenanceWindowSortByStartTime, + "end_time": MaintenanceWindowSortByEndTime, + "time_created": MaintenanceWindowSortByTimeCreated, + "time_updated": MaintenanceWindowSortByTimeUpdated, +} + +// GetMaintenanceWindowSortByEnumValues Enumerates the set of values for MaintenanceWindowSortByEnum +func GetMaintenanceWindowSortByEnumValues() []MaintenanceWindowSortByEnum { + values := make([]MaintenanceWindowSortByEnum, 0) + for _, v := range mappingMaintenanceWindowSortByEnum { + values = append(values, v) + } + return values +} + +// GetMaintenanceWindowSortByEnumStringValues Enumerates the set of values in String for MaintenanceWindowSortByEnum +func GetMaintenanceWindowSortByEnumStringValues() []string { + return []string{ + "NAME", + "START_TIME", + "END_TIME", + "TIME_CREATED", + "TIME_UPDATED", + } +} + +// GetMappingMaintenanceWindowSortByEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingMaintenanceWindowSortByEnum(val string) (MaintenanceWindowSortByEnum, bool) { + enum, ok := mappingMaintenanceWindowSortByEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_summary.go new file mode 100644 index 00000000000..31d646a7ccf --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/maintenance_window_summary.go @@ -0,0 +1,144 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MaintenanceWindowSummary General information of a Maintenance Window +type MaintenanceWindowSummary struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + Id *string `mandatory:"true" json:"id"` + + // Maintenance Window name. + Name *string `mandatory:"true" json:"name"` + + // Compartment Identifier OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). + CompartmentId *string `mandatory:"false" json:"compartmentId"` + + // Number of resources of the Maintenance window. + NumberOfResources *int `mandatory:"false" json:"numberOfResources"` + + // Lifecycle state of the monitored resource. + LifecycleState MaintenanceWindowLifecycleStateEnum `mandatory:"false" json:"lifecycleState,omitempty"` + + // Lifecycle Details of the Maintenance Window. + LifecycleDetails MaintenanceWindowLifecycleDetailsEnum `mandatory:"false" json:"lifecycleDetails,omitempty"` + + // The name of the most recent operation of the Maintenance window. + OperationType MaintenanceWindowOperationTypeEnum `mandatory:"false" json:"operationType,omitempty"` + + // Status of the most recent operation of the Maintenance Window. + OperationStatus MaintenanceWindowOperationStatusEnum `mandatory:"false" json:"operationStatus,omitempty"` + + Schedule MaintenanceWindowSchedule `mandatory:"false" json:"schedule"` + + // Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. + // Example: `{"bar-key": "value"}` + FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` + + // Defined tags for this resource. Each key is predefined and scoped to a namespace. + // Example: `{"foo-namespace": {"bar-key": "value"}}` + DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` + + // Usage of system tag keys. These predefined keys are scoped to namespaces. + // Example: `{"orcl-cloud": {"free-tier-retained": "true"}}` + SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` +} + +func (m MaintenanceWindowSummary) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m MaintenanceWindowSummary) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if _, ok := GetMappingMaintenanceWindowLifecycleStateEnum(string(m.LifecycleState)); !ok && m.LifecycleState != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", m.LifecycleState, strings.Join(GetMaintenanceWindowLifecycleStateEnumStringValues(), ","))) + } + if _, ok := GetMappingMaintenanceWindowLifecycleDetailsEnum(string(m.LifecycleDetails)); !ok && m.LifecycleDetails != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleDetails: %s. Supported values are: %s.", m.LifecycleDetails, strings.Join(GetMaintenanceWindowLifecycleDetailsEnumStringValues(), ","))) + } + if _, ok := GetMappingMaintenanceWindowOperationTypeEnum(string(m.OperationType)); !ok && m.OperationType != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for OperationType: %s. Supported values are: %s.", m.OperationType, strings.Join(GetMaintenanceWindowOperationTypeEnumStringValues(), ","))) + } + if _, ok := GetMappingMaintenanceWindowOperationStatusEnum(string(m.OperationStatus)); !ok && m.OperationStatus != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for OperationStatus: %s. Supported values are: %s.", m.OperationStatus, strings.Join(GetMaintenanceWindowOperationStatusEnumStringValues(), ","))) + } + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// UnmarshalJSON unmarshals from json +func (m *MaintenanceWindowSummary) UnmarshalJSON(data []byte) (e error) { + model := struct { + CompartmentId *string `json:"compartmentId"` + NumberOfResources *int `json:"numberOfResources"` + LifecycleState MaintenanceWindowLifecycleStateEnum `json:"lifecycleState"` + LifecycleDetails MaintenanceWindowLifecycleDetailsEnum `json:"lifecycleDetails"` + OperationType MaintenanceWindowOperationTypeEnum `json:"operationType"` + OperationStatus MaintenanceWindowOperationStatusEnum `json:"operationStatus"` + Schedule maintenancewindowschedule `json:"schedule"` + FreeformTags map[string]string `json:"freeformTags"` + DefinedTags map[string]map[string]interface{} `json:"definedTags"` + SystemTags map[string]map[string]interface{} `json:"systemTags"` + Id *string `json:"id"` + Name *string `json:"name"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.CompartmentId = model.CompartmentId + + m.NumberOfResources = model.NumberOfResources + + m.LifecycleState = model.LifecycleState + + m.LifecycleDetails = model.LifecycleDetails + + m.OperationType = model.OperationType + + m.OperationStatus = model.OperationStatus + + nn, e = model.Schedule.UnmarshalPolymorphicJSON(model.Schedule.JsonData) + if e != nil { + return + } + if nn != nil { + m.Schedule = nn.(MaintenanceWindowSchedule) + } else { + m.Schedule = nil + } + + m.FreeformTags = model.FreeformTags + + m.DefinedTags = model.DefinedTags + + m.SystemTags = model.SystemTags + + m.Id = model.Id + + m.Name = model.Name + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/monitored_resource_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/monitored_resource_details.go new file mode 100644 index 00000000000..a4c5ea75f38 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/monitored_resource_details.go @@ -0,0 +1,49 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MonitoredResourceDetails Details of the Resource that are part of the Maintenance Window. +type MonitoredResourceDetails struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of monitored resource + // part of the Maintenance window. + ResourceId *string `mandatory:"true" json:"resourceId"` + + // Name of the monitored resource + Name *string `mandatory:"true" json:"name"` + + // Type of the monitored resource + Type *string `mandatory:"true" json:"type"` + + // Number of members of the resource + NumberOfMembers *int `mandatory:"false" json:"numberOfMembers"` +} + +func (m MonitoredResourceDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m MonitoredResourceDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/one_time_maintenance_window_schedule.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/one_time_maintenance_window_schedule.go new file mode 100644 index 00000000000..7191e87de2b --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/one_time_maintenance_window_schedule.go @@ -0,0 +1,57 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// OneTimeMaintenanceWindowSchedule Schedule information for the Maintenance Window that is executed only once. +type OneTimeMaintenanceWindowSchedule struct { + + // Start time of Maintenance window. A RFC3339 formatted datetime string + TimeMaintenanceWindowStart *common.SDKTime `mandatory:"false" json:"timeMaintenanceWindowStart"` + + // Start time of Maintenance window. A RFC3339 formatted datetime string + TimeMaintenanceWindowEnd *common.SDKTime `mandatory:"false" json:"timeMaintenanceWindowEnd"` +} + +func (m OneTimeMaintenanceWindowSchedule) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m OneTimeMaintenanceWindowSchedule) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MarshalJSON marshals to json representation +func (m OneTimeMaintenanceWindowSchedule) MarshalJSON() (buff []byte, e error) { + type MarshalTypeOneTimeMaintenanceWindowSchedule OneTimeMaintenanceWindowSchedule + s := struct { + DiscriminatorParam string `json:"scheduleType"` + MarshalTypeOneTimeMaintenanceWindowSchedule + }{ + "ONE_TIME", + (MarshalTypeOneTimeMaintenanceWindowSchedule)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/operation_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/operation_type.go index 7bfb7596cd5..49712f1cb0c 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/operation_type.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/operation_type.go @@ -32,6 +32,10 @@ const ( OperationTypeBulkDeleteResources OperationTypeEnum = "BULK_DELETE_RESOURCES" OperationTypeUpdateAndPropagateTags OperationTypeEnum = "UPDATE_AND_PROPAGATE_TAGS" OperationTypeImportResources OperationTypeEnum = "IMPORT_RESOURCES" + OperationTypeCreateMaintenanceWindow OperationTypeEnum = "CREATE_MAINTENANCE_WINDOW" + OperationTypeUpdateMaintenanceWindow OperationTypeEnum = "UPDATE_MAINTENANCE_WINDOW" + OperationTypeDeleteMaintenanceWindow OperationTypeEnum = "DELETE_MAINTENANCE_WINDOW" + OperationTypeStopMaintenanceWindow OperationTypeEnum = "STOP_MAINTENANCE_WINDOW" ) var mappingOperationTypeEnum = map[string]OperationTypeEnum{ @@ -49,6 +53,10 @@ var mappingOperationTypeEnum = map[string]OperationTypeEnum{ "BULK_DELETE_RESOURCES": OperationTypeBulkDeleteResources, "UPDATE_AND_PROPAGATE_TAGS": OperationTypeUpdateAndPropagateTags, "IMPORT_RESOURCES": OperationTypeImportResources, + "CREATE_MAINTENANCE_WINDOW": OperationTypeCreateMaintenanceWindow, + "UPDATE_MAINTENANCE_WINDOW": OperationTypeUpdateMaintenanceWindow, + "DELETE_MAINTENANCE_WINDOW": OperationTypeDeleteMaintenanceWindow, + "STOP_MAINTENANCE_WINDOW": OperationTypeStopMaintenanceWindow, } var mappingOperationTypeEnumLowerCase = map[string]OperationTypeEnum{ @@ -66,6 +74,10 @@ var mappingOperationTypeEnumLowerCase = map[string]OperationTypeEnum{ "bulk_delete_resources": OperationTypeBulkDeleteResources, "update_and_propagate_tags": OperationTypeUpdateAndPropagateTags, "import_resources": OperationTypeImportResources, + "create_maintenance_window": OperationTypeCreateMaintenanceWindow, + "update_maintenance_window": OperationTypeUpdateMaintenanceWindow, + "delete_maintenance_window": OperationTypeDeleteMaintenanceWindow, + "stop_maintenance_window": OperationTypeStopMaintenanceWindow, } // GetOperationTypeEnumValues Enumerates the set of values for OperationTypeEnum @@ -94,6 +106,10 @@ func GetOperationTypeEnumStringValues() []string { "BULK_DELETE_RESOURCES", "UPDATE_AND_PROPAGATE_TAGS", "IMPORT_RESOURCES", + "CREATE_MAINTENANCE_WINDOW", + "UPDATE_MAINTENANCE_WINDOW", + "DELETE_MAINTENANCE_WINDOW", + "STOP_MAINTENANCE_WINDOW", } } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/recurrent_maintenance_window_schedule.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/recurrent_maintenance_window_schedule.go new file mode 100644 index 00000000000..b372421cd17 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/recurrent_maintenance_window_schedule.go @@ -0,0 +1,71 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// RecurrentMaintenanceWindowSchedule Schedule information for the Maintenance Window that is executed multiple times. +type RecurrentMaintenanceWindowSchedule struct { + + // A RFC5545 formatted recurrence string which represents the Maintenance Window Recurrence. + // Please refer this for details:https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 + // FREQ: Frequency of the Maintenance Window. The supported values are: DAILY and WEEKLY. + // BYDAY: Comma separated days for Weekly Maintenance Window. + // BYHOUR: Specifies the start hour of each recurrence after `timeMaintenanceWindowStart` value. + // BYMINUTE: Specifies the start minute of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 + // BYSECOND: Specifies the start second of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 + // Other Rules are not supported. + MaintenanceWindowRecurrences *string `mandatory:"true" json:"maintenanceWindowRecurrences"` + + // Start time of Maintenance window. A RFC3339 formatted datetime string + TimeMaintenanceWindowStart *common.SDKTime `mandatory:"false" json:"timeMaintenanceWindowStart"` + + // Start time of Maintenance window. A RFC3339 formatted datetime string + TimeMaintenanceWindowEnd *common.SDKTime `mandatory:"false" json:"timeMaintenanceWindowEnd"` + + // Duration time of each recurrence of each Maintenance Window. + // It must be specified as a string in ISO 8601 extended format. + MaintenanceWindowDuration *string `mandatory:"false" json:"maintenanceWindowDuration"` +} + +func (m RecurrentMaintenanceWindowSchedule) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m RecurrentMaintenanceWindowSchedule) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// MarshalJSON marshals to json representation +func (m RecurrentMaintenanceWindowSchedule) MarshalJSON() (buff []byte, e error) { + type MarshalTypeRecurrentMaintenanceWindowSchedule RecurrentMaintenanceWindowSchedule + s := struct { + DiscriminatorParam string `json:"scheduleType"` + MarshalTypeRecurrentMaintenanceWindowSchedule + }{ + "RECURRENT", + (MarshalTypeRecurrentMaintenanceWindowSchedule)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/retry_failed_maintenance_window_operation_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/retry_failed_maintenance_window_operation_request_response.go new file mode 100644 index 00000000000..0c4e5b461d1 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/retry_failed_maintenance_window_operation_request_response.go @@ -0,0 +1,98 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// RetryFailedMaintenanceWindowOperationRequest wrapper for the RetryFailedMaintenanceWindowOperation operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/RetryFailedMaintenanceWindowOperation.go.html to see an example of how to use RetryFailedMaintenanceWindowOperationRequest. +type RetryFailedMaintenanceWindowOperationRequest struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + MaintenanceWindowId *string `mandatory:"true" contributesTo:"path" name:"maintenanceWindowId"` + + // For optimistic concurrency control. In the PUT or DELETE call + // for a resource, set the `if-match` parameter to the value of the + // etag from a previous GET or POST response for that resource. + // The resource will be updated or deleted only if the etag you + // provide matches the resource's current etag value. + IfMatch *string `mandatory:"false" contributesTo:"header" name:"if-match"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request RetryFailedMaintenanceWindowOperationRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request RetryFailedMaintenanceWindowOperationRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request RetryFailedMaintenanceWindowOperationRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request RetryFailedMaintenanceWindowOperationRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request RetryFailedMaintenanceWindowOperationRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// RetryFailedMaintenanceWindowOperationResponse wrapper for the RetryFailedMaintenanceWindowOperation operation +type RetryFailedMaintenanceWindowOperationResponse struct { + + // The underlying http response + RawResponse *http.Response + + // Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response RetryFailedMaintenanceWindowOperationResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response RetryFailedMaintenanceWindowOperationResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stackmonitoring_client.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stackmonitoring_client.go index f86424bdfb1..e47e66df482 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stackmonitoring_client.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stackmonitoring_client.go @@ -670,6 +670,70 @@ func (client StackMonitoringClient) createDiscoveryJob(ctx context.Context, requ return response, err } +// CreateMaintenanceWindow Creates a new Maintenance Window for the given resources. It will create also the +// Alarms Suppression for each alarm that the resource migth trigger. +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/CreateMaintenanceWindow.go.html to see an example of how to use CreateMaintenanceWindow API. +// A default retry strategy applies to this operation CreateMaintenanceWindow() +func (client StackMonitoringClient) CreateMaintenanceWindow(ctx context.Context, request CreateMaintenanceWindowRequest) (response CreateMaintenanceWindowResponse, err error) { + var ociResponse common.OCIResponse + policy := common.DefaultRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + + if !(request.OpcRetryToken != nil && *request.OpcRetryToken != "") { + request.OpcRetryToken = common.String(common.RetryToken()) + } + + ociResponse, err = common.Retry(ctx, request, client.createMaintenanceWindow, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = CreateMaintenanceWindowResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = CreateMaintenanceWindowResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(CreateMaintenanceWindowResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into CreateMaintenanceWindowResponse") + } + return +} + +// createMaintenanceWindow implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) createMaintenanceWindow(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/maintenanceWindows", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response CreateMaintenanceWindowResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/CreateMaintenanceWindow" + err = common.PostProcessServiceError(err, "StackMonitoring", "CreateMaintenanceWindow", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // CreateMetricExtension Creates a new metric extension resource for a given compartment // // # See also @@ -1159,6 +1223,63 @@ func (client StackMonitoringClient) deleteDiscoveryJob(ctx context.Context, requ return response, err } +// DeleteMaintenanceWindow Deletes a maintenance window by identifier +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/DeleteMaintenanceWindow.go.html to see an example of how to use DeleteMaintenanceWindow API. +func (client StackMonitoringClient) DeleteMaintenanceWindow(ctx context.Context, request DeleteMaintenanceWindowRequest) (response DeleteMaintenanceWindowResponse, err error) { + var ociResponse common.OCIResponse + policy := common.NoRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + ociResponse, err = common.Retry(ctx, request, client.deleteMaintenanceWindow, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = DeleteMaintenanceWindowResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = DeleteMaintenanceWindowResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(DeleteMaintenanceWindowResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into DeleteMaintenanceWindowResponse") + } + return +} + +// deleteMaintenanceWindow implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) deleteMaintenanceWindow(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodDelete, "/maintenanceWindows/{maintenanceWindowId}", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response DeleteMaintenanceWindowResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/DeleteMaintenanceWindow" + err = common.PostProcessServiceError(err, "StackMonitoring", "DeleteMaintenanceWindow", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // DeleteMetricExtension Deletes a metric extension by identifier // // # See also @@ -1940,6 +2061,64 @@ func (client StackMonitoringClient) getDiscoveryJob(ctx context.Context, request return response, err } +// GetMaintenanceWindow Get maintenance window for the given identifier OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/GetMaintenanceWindow.go.html to see an example of how to use GetMaintenanceWindow API. +// A default retry strategy applies to this operation GetMaintenanceWindow() +func (client StackMonitoringClient) GetMaintenanceWindow(ctx context.Context, request GetMaintenanceWindowRequest) (response GetMaintenanceWindowResponse, err error) { + var ociResponse common.OCIResponse + policy := common.DefaultRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + ociResponse, err = common.Retry(ctx, request, client.getMaintenanceWindow, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = GetMaintenanceWindowResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = GetMaintenanceWindowResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(GetMaintenanceWindowResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into GetMaintenanceWindowResponse") + } + return +} + +// getMaintenanceWindow implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) getMaintenanceWindow(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodGet, "/maintenanceWindows/{maintenanceWindowId}", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response GetMaintenanceWindowResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/GetMaintenanceWindow" + err = common.PostProcessServiceError(err, "StackMonitoring", "GetMaintenanceWindow", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // GetMetricExtension Gets a Metric Extension by identifier // // # See also @@ -2520,6 +2699,64 @@ func (client StackMonitoringClient) listDiscoveryJobs(ctx context.Context, reque return response, err } +// ListMaintenanceWindows Returns a list of maintenance windows. +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/ListMaintenanceWindows.go.html to see an example of how to use ListMaintenanceWindows API. +// A default retry strategy applies to this operation ListMaintenanceWindows() +func (client StackMonitoringClient) ListMaintenanceWindows(ctx context.Context, request ListMaintenanceWindowsRequest) (response ListMaintenanceWindowsResponse, err error) { + var ociResponse common.OCIResponse + policy := common.DefaultRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + ociResponse, err = common.Retry(ctx, request, client.listMaintenanceWindows, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = ListMaintenanceWindowsResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = ListMaintenanceWindowsResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(ListMaintenanceWindowsResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into ListMaintenanceWindowsResponse") + } + return +} + +// listMaintenanceWindows implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) listMaintenanceWindows(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodGet, "/maintenanceWindows", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response ListMaintenanceWindowsResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/ListMaintenanceWindows" + err = common.PostProcessServiceError(err, "StackMonitoring", "ListMaintenanceWindows", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // ListMetricExtensions Returns a list of metric extensions // // # See also @@ -3176,6 +3413,63 @@ func (client StackMonitoringClient) requestMonitoredResourcesSummarizedCount(ctx return response, err } +// RetryFailedMaintenanceWindowOperation Retry the last failed operation. The operation failed will be the most recent one. It won't apply for previous failed operations. +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/RetryFailedMaintenanceWindowOperation.go.html to see an example of how to use RetryFailedMaintenanceWindowOperation API. +func (client StackMonitoringClient) RetryFailedMaintenanceWindowOperation(ctx context.Context, request RetryFailedMaintenanceWindowOperationRequest) (response RetryFailedMaintenanceWindowOperationResponse, err error) { + var ociResponse common.OCIResponse + policy := common.NoRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + ociResponse, err = common.Retry(ctx, request, client.retryFailedMaintenanceWindowOperation, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = RetryFailedMaintenanceWindowOperationResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = RetryFailedMaintenanceWindowOperationResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(RetryFailedMaintenanceWindowOperationResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into RetryFailedMaintenanceWindowOperationResponse") + } + return +} + +// retryFailedMaintenanceWindowOperation implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) retryFailedMaintenanceWindowOperation(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/maintenanceWindows/{maintenanceWindowId}/actions/retryFailedOperation", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response RetryFailedMaintenanceWindowOperationResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/RetryFailedMaintenanceWindowOperation" + err = common.PostProcessServiceError(err, "StackMonitoring", "RetryFailedMaintenanceWindowOperation", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // SearchAssociatedResources List all associated resources recursively up-to a specified level, // for the monitored resources of type specified. // @@ -3429,6 +3723,63 @@ func (client StackMonitoringClient) searchMonitoredResources(ctx context.Context return response, err } +// StopMaintenanceWindow Stop a maintenance window before the end time is reached. +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/StopMaintenanceWindow.go.html to see an example of how to use StopMaintenanceWindow API. +func (client StackMonitoringClient) StopMaintenanceWindow(ctx context.Context, request StopMaintenanceWindowRequest) (response StopMaintenanceWindowResponse, err error) { + var ociResponse common.OCIResponse + policy := common.NoRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + ociResponse, err = common.Retry(ctx, request, client.stopMaintenanceWindow, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = StopMaintenanceWindowResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = StopMaintenanceWindowResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(StopMaintenanceWindowResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into StopMaintenanceWindowResponse") + } + return +} + +// stopMaintenanceWindow implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) stopMaintenanceWindow(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/maintenanceWindows/{maintenanceWindowId}/actions/stop", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response StopMaintenanceWindowResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/StopMaintenanceWindow" + err = common.PostProcessServiceError(err, "StackMonitoring", "StopMaintenanceWindow", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // TestMetricExtension Performs test of Metric Extension on a specific resource Id // // # See also @@ -3673,6 +4024,63 @@ func (client StackMonitoringClient) updateConfig(ctx context.Context, request co return response, err } +// UpdateMaintenanceWindow Update maintenance window by the given identifier OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm). +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/UpdateMaintenanceWindow.go.html to see an example of how to use UpdateMaintenanceWindow API. +func (client StackMonitoringClient) UpdateMaintenanceWindow(ctx context.Context, request UpdateMaintenanceWindowRequest) (response UpdateMaintenanceWindowResponse, err error) { + var ociResponse common.OCIResponse + policy := common.NoRetryPolicy() + if client.RetryPolicy() != nil { + policy = *client.RetryPolicy() + } + if request.RetryPolicy() != nil { + policy = *request.RetryPolicy() + } + ociResponse, err = common.Retry(ctx, request, client.updateMaintenanceWindow, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = UpdateMaintenanceWindowResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = UpdateMaintenanceWindowResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(UpdateMaintenanceWindowResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into UpdateMaintenanceWindowResponse") + } + return +} + +// updateMaintenanceWindow implements the OCIOperation interface (enables retrying operations) +func (client StackMonitoringClient) updateMaintenanceWindow(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPut, "/maintenanceWindows/{maintenanceWindowId}", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response UpdateMaintenanceWindowResponse + var httpResponse *http.Response + httpResponse, err = client.Call(ctx, &httpRequest) + defer common.CloseBodyIfValid(httpResponse) + response.RawResponse = httpResponse + if err != nil { + apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/stack-monitoring/20210330/MaintenanceWindow/UpdateMaintenanceWindow" + err = common.PostProcessServiceError(err, "StackMonitoring", "UpdateMaintenanceWindow", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // UpdateMetricExtension Updates the Metric Extension // // # See also diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stop_maintenance_window_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stop_maintenance_window_request_response.go new file mode 100644 index 00000000000..5479554a886 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/stop_maintenance_window_request_response.go @@ -0,0 +1,98 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// StopMaintenanceWindowRequest wrapper for the StopMaintenanceWindow operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/StopMaintenanceWindow.go.html to see an example of how to use StopMaintenanceWindowRequest. +type StopMaintenanceWindowRequest struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + MaintenanceWindowId *string `mandatory:"true" contributesTo:"path" name:"maintenanceWindowId"` + + // For optimistic concurrency control. In the PUT or DELETE call + // for a resource, set the `if-match` parameter to the value of the + // etag from a previous GET or POST response for that resource. + // The resource will be updated or deleted only if the etag you + // provide matches the resource's current etag value. + IfMatch *string `mandatory:"false" contributesTo:"header" name:"if-match"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request StopMaintenanceWindowRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request StopMaintenanceWindowRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request StopMaintenanceWindowRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request StopMaintenanceWindowRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request StopMaintenanceWindowRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// StopMaintenanceWindowResponse wrapper for the StopMaintenanceWindow operation +type StopMaintenanceWindowResponse struct { + + // The underlying http response + RawResponse *http.Response + + // Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response StopMaintenanceWindowResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response StopMaintenanceWindowResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/update_maintenance_window_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/update_maintenance_window_details.go new file mode 100644 index 00000000000..b6382abaa59 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/update_maintenance_window_details.go @@ -0,0 +1,75 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +// Stack Monitoring API +// +// Stack Monitoring API. +// + +package stackmonitoring + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// UpdateMaintenanceWindowDetails Infomation to create a new Maintenance Window. +type UpdateMaintenanceWindowDetails struct { + + // Maintenance Window description. + Description *string `mandatory:"false" json:"description"` + + // List of resource Ids which are part of the Maintenance Window + Resources []CreateMaintenanceWindowResourceDetails `mandatory:"false" json:"resources"` + + Schedule MaintenanceWindowSchedule `mandatory:"false" json:"schedule"` +} + +func (m UpdateMaintenanceWindowDetails) String() string { + return common.PointerString(m) +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (m UpdateMaintenanceWindowDetails) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// UnmarshalJSON unmarshals from json +func (m *UpdateMaintenanceWindowDetails) UnmarshalJSON(data []byte) (e error) { + model := struct { + Description *string `json:"description"` + Resources []CreateMaintenanceWindowResourceDetails `json:"resources"` + Schedule maintenancewindowschedule `json:"schedule"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.Description = model.Description + + m.Resources = make([]CreateMaintenanceWindowResourceDetails, len(model.Resources)) + copy(m.Resources, model.Resources) + nn, e = model.Schedule.UnmarshalPolymorphicJSON(model.Schedule.JsonData) + if e != nil { + return + } + if nn != nil { + m.Schedule = nn.(MaintenanceWindowSchedule) + } else { + m.Schedule = nil + } + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/update_maintenance_window_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/update_maintenance_window_request_response.go new file mode 100644 index 00000000000..d6acf80d7a8 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/stackmonitoring/update_maintenance_window_request_response.go @@ -0,0 +1,101 @@ +// Copyright (c) 2016, 2018, 2024, Oracle and/or its affiliates. All rights reserved. +// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license. +// Code generated. DO NOT EDIT. + +package stackmonitoring + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// UpdateMaintenanceWindowRequest wrapper for the UpdateMaintenanceWindow operation +// +// # See also +// +// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/stackmonitoring/UpdateMaintenanceWindow.go.html to see an example of how to use UpdateMaintenanceWindowRequest. +type UpdateMaintenanceWindowRequest struct { + + // The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of maintenance window. + MaintenanceWindowId *string `mandatory:"true" contributesTo:"path" name:"maintenanceWindowId"` + + // The information to be updated. + UpdateMaintenanceWindowDetails `contributesTo:"body"` + + // For optimistic concurrency control. In the PUT or DELETE call + // for a resource, set the `if-match` parameter to the value of the + // etag from a previous GET or POST response for that resource. + // The resource will be updated or deleted only if the etag you + // provide matches the resource's current etag value. + IfMatch *string `mandatory:"false" contributesTo:"header" name:"if-match"` + + // Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please provide the request ID. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // Metadata about the request. This information will not be transmitted to the service, but + // represents information that the SDK will consume to drive retry behavior. + RequestMetadata common.RequestMetadata +} + +func (request UpdateMaintenanceWindowRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request UpdateMaintenanceWindowRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) { + + _, err := request.ValidateEnumValue() + if err != nil { + return http.Request{}, err + } + return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders) +} + +// BinaryRequestBody implements the OCIRequest interface +func (request UpdateMaintenanceWindowRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request UpdateMaintenanceWindowRequest) RetryPolicy() *common.RetryPolicy { + return request.RequestMetadata.RetryPolicy +} + +// ValidateEnumValue returns an error when providing an unsupported enum value +// This function is being called during constructing API request process +// Not recommended for calling this function directly +func (request UpdateMaintenanceWindowRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// UpdateMaintenanceWindowResponse wrapper for the UpdateMaintenanceWindow operation +type UpdateMaintenanceWindowResponse struct { + + // The underlying http response + RawResponse *http.Response + + // Unique Oracle-assigned identifier for the asynchronous request. You can use this to query status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // Unique Oracle-assigned identifier for the request. If you need to contact + // Oracle about a particular request, please provide the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response UpdateMaintenanceWindowResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response UpdateMaintenanceWindowResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_configuration_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_configuration_request_response.go index 142e718a1da..cdadfb1c1c2 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_configuration_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_configuration_request_response.go @@ -64,11 +64,6 @@ func (request CreateConfigurationRequest) BinaryRequestBody() (*common.OCIReadSe } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request CreateConfigurationRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request CreateConfigurationRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_zpr_policy_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_zpr_policy_request_response.go index 33d07baff9b..81f4c54f8e0 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_zpr_policy_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/create_zpr_policy_request_response.go @@ -64,11 +64,6 @@ func (request CreateZprPolicyRequest) BinaryRequestBody() (*common.OCIReadSeekCl } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request CreateZprPolicyRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request CreateZprPolicyRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/delete_zpr_policy_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/delete_zpr_policy_request_response.go index ca69fc60f8e..20b2b97eea1 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/delete_zpr_policy_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/delete_zpr_policy_request_response.go @@ -63,21 +63,6 @@ func (request DeleteZprPolicyRequest) BinaryRequestBody() (*common.OCIReadSeekCl } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request DeleteZprPolicyRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["zprPolicyId"] != nil { - templateParam := mandatoryParamMap["zprPolicyId"] - for _, template := range templateParam { - replacementParam := *request.ZprPolicyId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request DeleteZprPolicyRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_configuration_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_configuration_request_response.go index 71eb3619865..c401f1826ab 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_configuration_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_configuration_request_response.go @@ -53,11 +53,6 @@ func (request GetConfigurationRequest) BinaryRequestBody() (*common.OCIReadSeekC } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request GetConfigurationRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request GetConfigurationRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_configuration_work_request_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_configuration_work_request_request_response.go index 85e27919d05..93fabf2b46b 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_configuration_work_request_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_configuration_work_request_request_response.go @@ -53,21 +53,6 @@ func (request GetZprConfigurationWorkRequestRequest) BinaryRequestBody() (*commo } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request GetZprConfigurationWorkRequestRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["workRequestId"] != nil { - templateParam := mandatoryParamMap["workRequestId"] - for _, template := range templateParam { - replacementParam := *request.WorkRequestId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request GetZprConfigurationWorkRequestRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_request_response.go index f3264f260d8..0d56a619ffb 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_request_response.go @@ -53,21 +53,6 @@ func (request GetZprPolicyRequest) BinaryRequestBody() (*common.OCIReadSeekClose } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request GetZprPolicyRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["zprPolicyId"] != nil { - templateParam := mandatoryParamMap["zprPolicyId"] - for _, template := range templateParam { - replacementParam := *request.ZprPolicyId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request GetZprPolicyRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_work_request_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_work_request_request_response.go index 1ada1e0eae9..0f258ad6772 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_work_request_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/get_zpr_policy_work_request_request_response.go @@ -53,21 +53,6 @@ func (request GetZprPolicyWorkRequestRequest) BinaryRequestBody() (*common.OCIRe } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request GetZprPolicyWorkRequestRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["workRequestId"] != nil { - templateParam := mandatoryParamMap["workRequestId"] - for _, template := range templateParam { - replacementParam := *request.WorkRequestId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request GetZprPolicyWorkRequestRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_errors_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_errors_request_response.go index dff2aad12be..79859898762 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_errors_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_errors_request_response.go @@ -69,21 +69,6 @@ func (request ListZprConfigurationWorkRequestErrorsRequest) BinaryRequestBody() } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprConfigurationWorkRequestErrorsRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["workRequestId"] != nil { - templateParam := mandatoryParamMap["workRequestId"] - for _, template := range templateParam { - replacementParam := *request.WorkRequestId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprConfigurationWorkRequestErrorsRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_logs_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_logs_request_response.go index 6ae16e6fae6..22e87827d63 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_logs_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_request_logs_request_response.go @@ -69,21 +69,6 @@ func (request ListZprConfigurationWorkRequestLogsRequest) BinaryRequestBody() (* } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprConfigurationWorkRequestLogsRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["workRequestId"] != nil { - templateParam := mandatoryParamMap["workRequestId"] - for _, template := range templateParam { - replacementParam := *request.WorkRequestId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprConfigurationWorkRequestLogsRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_requests_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_requests_request_response.go index 9b5ea785605..688b53a6377 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_requests_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_configuration_work_requests_request_response.go @@ -78,11 +78,6 @@ func (request ListZprConfigurationWorkRequestsRequest) BinaryRequestBody() (*com } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprConfigurationWorkRequestsRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprConfigurationWorkRequestsRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policies_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policies_request_response.go index e9467d7c6bb..253923e65a9 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policies_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policies_request_response.go @@ -80,11 +80,6 @@ func (request ListZprPoliciesRequest) BinaryRequestBody() (*common.OCIReadSeekCl } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprPoliciesRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprPoliciesRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_errors_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_errors_request_response.go index 0cbb1ce3129..156c446eeff 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_errors_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_errors_request_response.go @@ -69,21 +69,6 @@ func (request ListZprPolicyWorkRequestErrorsRequest) BinaryRequestBody() (*commo } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprPolicyWorkRequestErrorsRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["workRequestId"] != nil { - templateParam := mandatoryParamMap["workRequestId"] - for _, template := range templateParam { - replacementParam := *request.WorkRequestId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprPolicyWorkRequestErrorsRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_logs_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_logs_request_response.go index da089d92620..f93a62ebeac 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_logs_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_request_logs_request_response.go @@ -69,21 +69,6 @@ func (request ListZprPolicyWorkRequestLogsRequest) BinaryRequestBody() (*common. } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprPolicyWorkRequestLogsRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["workRequestId"] != nil { - templateParam := mandatoryParamMap["workRequestId"] - for _, template := range templateParam { - replacementParam := *request.WorkRequestId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprPolicyWorkRequestLogsRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_requests_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_requests_request_response.go index 62fd61daf69..254ab04cf6e 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_requests_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/list_zpr_policy_work_requests_request_response.go @@ -78,11 +78,6 @@ func (request ListZprPolicyWorkRequestsRequest) BinaryRequestBody() (*common.OCI } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request ListZprPolicyWorkRequestsRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request ListZprPolicyWorkRequestsRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/update_zpr_policy_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/update_zpr_policy_request_response.go index 7b07003bec7..67681c7d3c6 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/update_zpr_policy_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/update_zpr_policy_request_response.go @@ -73,21 +73,6 @@ func (request UpdateZprPolicyRequest) BinaryRequestBody() (*common.OCIReadSeekCl } -// ReplaceMandatoryParamInPath replaces the mandatory parameter in the path with the value provided. -// Not all services are supporting this feature and this method will be a no-op for those services. -func (request UpdateZprPolicyRequest) ReplaceMandatoryParamInPath(client *common.BaseClient, mandatoryParamMap map[string][]common.TemplateParamForPerRealmEndpoint) { - if mandatoryParamMap["zprPolicyId"] != nil { - templateParam := mandatoryParamMap["zprPolicyId"] - for _, template := range templateParam { - replacementParam := *request.ZprPolicyId - if template.EndsWithDot { - replacementParam = replacementParam + "." - } - client.Host = strings.Replace(client.Host, template.Template, replacementParam, -1) - } - } -} - // RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. func (request UpdateZprPolicyRequest) RetryPolicy() *common.RetryPolicy { return request.RequestMetadata.RetryPolicy diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/zpr_client.go b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/zpr_client.go index 5ab74a19d56..a55a979c383 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/zpr/zpr_client.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/zpr/zpr_client.go @@ -67,7 +67,7 @@ func newZprClientFromBaseClient(baseClient common.BaseClient, configProvider com // SetRegion overrides the region of this client. func (client *ZprClient) SetRegion(region string) { - client.Host, _ = common.StringToRegion(region).EndpointForTemplateDottedRegion("zpr", "https://{service}.{region}.oci.{secondLevelDomain}", "${endpoint-template-prefix}") + client.Host = common.StringToRegion(region).EndpointForTemplate("zpr", "https://zpr.{region}.oci.{secondLevelDomain}") } // SetConfigurationProvider sets the configuration provider including the region, returns an error if is not valid diff --git a/website/docs/d/core_vcn.html.markdown b/website/docs/d/core_vcn.html.markdown index 4b77e83791e..98b2987e063 100644 --- a/website/docs/d/core_vcn.html.markdown +++ b/website/docs/d/core_vcn.html.markdown @@ -52,6 +52,7 @@ The following attributes are exported: * `id` - The VCN's Oracle ID ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)). * `ipv6cidr_blocks` - For an IPv6-enabled VCN, this is the list of IPv6 prefixes for the VCN's IP address space. The prefixes are provided by Oracle and the sizes are always /56. * `ipv6private_cidr_blocks` - For an IPv6-enabled VCN, this is the list of Private IPv6 prefixes for the VCN's IP address space. +* `security_attributes` - Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}` * `state` - The VCN's current state. * `time_created` - The date and time the VCN was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z` * `vcn_domain_name` - The VCN's domain name, which consists of the VCN's DNS label, and the `oraclevcn.com` domain. diff --git a/website/docs/d/core_vcns.html.markdown b/website/docs/d/core_vcns.html.markdown index 30a29d19a6d..d009c20289a 100644 --- a/website/docs/d/core_vcns.html.markdown +++ b/website/docs/d/core_vcns.html.markdown @@ -69,6 +69,7 @@ The following attributes are exported: * `id` - The VCN's Oracle ID ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)). * `ipv6cidr_blocks` - For an IPv6-enabled VCN, this is the list of IPv6 prefixes for the VCN's IP address space. The prefixes are provided by Oracle and the sizes are always /56. * `ipv6private_cidr_blocks` - For an IPv6-enabled VCN, this is the list of Private IPv6 prefixes for the VCN's IP address space. +* `security_attributes` - Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}` * `state` - The VCN's current state. * `time_created` - The date and time the VCN was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z` * `vcn_domain_name` - The VCN's domain name, which consists of the VCN's DNS label, and the `oraclevcn.com` domain. diff --git a/website/docs/d/core_vnic.html.markdown b/website/docs/d/core_vnic.html.markdown index 4f526e2a458..4c8510096b0 100644 --- a/website/docs/d/core_vnic.html.markdown +++ b/website/docs/d/core_vnic.html.markdown @@ -61,6 +61,7 @@ The following attributes are exported: For more information about NSGs, see [NetworkSecurityGroup](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/NetworkSecurityGroup/). * `private_ip_address` - The private IP address of the primary `privateIp` object on the VNIC. The address is within the CIDR of the VNIC's subnet. Example: `10.0.3.3` * `public_ip_address` - The public IP address of the VNIC, if one is assigned. +* `security_attributes` - Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}` * `skip_source_dest_check` - Whether the source/destination check is disabled on the VNIC. Defaults to `false`, which means the check is performed. For information about why you would skip the source/destination check, see [Using a Private IP as a Route Target](https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#privateip). If the VNIC belongs to a VLAN as part of the Oracle Cloud VMware Solution (instead of belonging to a subnet), the `skipSourceDestCheck` attribute is `true`. This is because the source/destination check is always disabled for VNICs in a VLAN. diff --git a/website/docs/d/database_autonomous_databases.html.markdown b/website/docs/d/database_autonomous_databases.html.markdown index 88f5f9d0d00..2a9d6cfe492 100644 --- a/website/docs/d/database_autonomous_databases.html.markdown +++ b/website/docs/d/database_autonomous_databases.html.markdown @@ -1,22 +1,24 @@ + + --- subcategory: "Database" layout: "oci" -page_title: "Oracle Cloud Infrastructure: oci_database_autonomous_database" -sidebar_current: "docs-oci-datasource-database-autonomous_database" +page_title: "Oracle Cloud Infrastructure: oci_database_autonomous_databases" +sidebar_current: "docs-oci-datasource-database-autonomous_databases" description: |- -Provides details about a specific Autonomous Database in Oracle Cloud Infrastructure Database service + Provides the list of Autonomous Databases in Oracle Cloud Infrastructure Database service --- -# Data Source: oci_database_autonomous_database -This data source provides details about a specific Autonomous Database resource in Oracle Cloud Infrastructure Database service. +# Data Source: oci_database_autonomous_databases +This data source provides the list of Autonomous Databases in Oracle Cloud Infrastructure Database service. -Gets the details of the specified Autonomous Database. +Gets a list of Autonomous Databases based on the query parameters specified. ## Example Usage ```hcl -data "oci_database_autonomous_database" "test_autonomous_database" { +data "oci_database_autonomous_databases" "test_autonomous_databases" { #Required compartment_id = var.compartment_id @@ -124,7 +126,7 @@ The following attributes are exported: This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier. * `defined_tags` - Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). -* `disaster_recovery_region_type` - The disaster recovery (DR) region type of the Autonomous Database. For Autonomous Database Serverless instances, DR associations have designated primary and standby regions. These region types do not change when the database changes roles. The standby region in DR associations can be the same region as the primary region, or they can be in a remote regions. Some database administration operations may be available only in the primary region of the DR association, and cannot be performed when the database using the primary role is operating in a remote region. +* `disaster_recovery_region_type` - **Deprecated.** The disaster recovery (DR) region type of the Autonomous Database. For Autonomous Database Serverless instances, DR associations have designated primary and standby regions. These region types do not change when the database changes roles. The standby region in DR associations can be the same region as the primary region, or they can be in a remote regions. Some database administration operations may be available only in the primary region of the DR association, and cannot be performed when the database using the primary role is operating in a remote region. * `display_name` - The user-friendly name for the Autonomous Database. The name does not have to be unique. * `failed_data_recovery_in_seconds` - Indicates the number of seconds of data loss for a Data Guard failover. * `freeform_tags` - Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` diff --git a/website/docs/d/database_autonomous_databases_clones.html.markdown b/website/docs/d/database_autonomous_databases_clones.html.markdown index a4cb7a6df98..6815b887e84 100644 --- a/website/docs/d/database_autonomous_databases_clones.html.markdown +++ b/website/docs/d/database_autonomous_databases_clones.html.markdown @@ -126,7 +126,7 @@ The following attributes are exported: This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier. * `defined_tags` - Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). -* `disaster_recovery_region_type` - The disaster recovery (DR) region type of the Autonomous Database. For Autonomous Database Serverless instances, DR associations have designated primary and standby regions. These region types do not change when the database changes roles. The standby region in DR associations can be the same region as the primary region, or they can be in a remote regions. Some database administration operations may be available only in the primary region of the DR association, and cannot be performed when the database using the primary role is operating in a remote region. +* `disaster_recovery_region_type` - **Deprecated.** The disaster recovery (DR) region type of the Autonomous Database. For Autonomous Database Serverless instances, DR associations have designated primary and standby regions. These region types do not change when the database changes roles. The standby region in DR associations can be the same region as the primary region, or they can be in a remote regions. Some database administration operations may be available only in the primary region of the DR association, and cannot be performed when the database using the primary role is operating in a remote region. * `display_name` - The user-friendly name for the Autonomous Database. The name does not have to be unique. * `failed_data_recovery_in_seconds` - Indicates the number of seconds of data loss for a Data Guard failover. * `freeform_tags` - Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}` diff --git a/website/docs/d/database_autonomous_exadata_infrastructure.html.markdown b/website/docs/d/database_autonomous_exadata_infrastructure.html.markdown index 7148f67c824..c923a70e934 100644 --- a/website/docs/d/database_autonomous_exadata_infrastructure.html.markdown +++ b/website/docs/d/database_autonomous_exadata_infrastructure.html.markdown @@ -59,6 +59,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `next_maintenance_run_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. * `nsg_ids` - The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** diff --git a/website/docs/d/database_autonomous_exadata_infrastructures.html.markdown b/website/docs/d/database_autonomous_exadata_infrastructures.html.markdown index 2c86df6604a..f1375804ff9 100644 --- a/website/docs/d/database_autonomous_exadata_infrastructures.html.markdown +++ b/website/docs/d/database_autonomous_exadata_infrastructures.html.markdown @@ -73,6 +73,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `next_maintenance_run_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. * `nsg_ids` - The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** diff --git a/website/docs/d/database_autonomous_vm_cluster.html.markdown b/website/docs/d/database_autonomous_vm_cluster.html.markdown index 230641085a6..fc5aa667395 100644 --- a/website/docs/d/database_autonomous_vm_cluster.html.markdown +++ b/website/docs/d/database_autonomous_vm_cluster.html.markdown @@ -67,6 +67,7 @@ The following attributes are exported: * `months` - Months during the year when maintenance should be performed. * `name` - Name of the month of the year. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_acds_lowest_scaled_value` - The lowest value to which maximum number of ACDs can be scaled down. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) to be enabled per OCPU or ECPU. diff --git a/website/docs/d/database_autonomous_vm_clusters.html.markdown b/website/docs/d/database_autonomous_vm_clusters.html.markdown index b80f27082c9..8580cb9c01c 100644 --- a/website/docs/d/database_autonomous_vm_clusters.html.markdown +++ b/website/docs/d/database_autonomous_vm_clusters.html.markdown @@ -81,6 +81,7 @@ The following attributes are exported: * `months` - Months during the year when maintenance should be performed. * `name` - Name of the month of the year. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_acds_lowest_scaled_value` - The lowest value to which maximum number of ACDs can be scaled down. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) to be enabled per OCPU or ECPU. diff --git a/website/docs/d/database_cloud_autonomous_vm_cluster.html.markdown b/website/docs/d/database_cloud_autonomous_vm_cluster.html.markdown index ad8bdf58ea9..f33f7659319 100644 --- a/website/docs/d/database_cloud_autonomous_vm_cluster.html.markdown +++ b/website/docs/d/database_cloud_autonomous_vm_cluster.html.markdown @@ -80,6 +80,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_acds_lowest_scaled_value` - The lowest value to which maximum number of ACDs can be scaled down. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) enabled per OCPU or ECPU. diff --git a/website/docs/d/database_cloud_autonomous_vm_clusters.html.markdown b/website/docs/d/database_cloud_autonomous_vm_clusters.html.markdown index a8a60e62a51..9aff0a694b7 100644 --- a/website/docs/d/database_cloud_autonomous_vm_clusters.html.markdown +++ b/website/docs/d/database_cloud_autonomous_vm_clusters.html.markdown @@ -96,6 +96,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_acds_lowest_scaled_value` - The lowest value to which maximum number of ACDs can be scaled down. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) enabled per OCPU or ECPU. diff --git a/website/docs/d/database_cloud_exadata_infrastructure.html.markdown b/website/docs/d/database_cloud_exadata_infrastructure.html.markdown index 584bc6c3e12..6f8fca7e1ac 100644 --- a/website/docs/d/database_cloud_exadata_infrastructure.html.markdown +++ b/website/docs/d/database_cloud_exadata_infrastructure.html.markdown @@ -72,6 +72,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_cpu_count` - The total number of CPU cores available. * `max_data_storage_in_tbs` - The total available DATA disk group size. diff --git a/website/docs/d/database_cloud_exadata_infrastructures.html.markdown b/website/docs/d/database_cloud_exadata_infrastructures.html.markdown index 02019755861..8a542c21ff9 100644 --- a/website/docs/d/database_cloud_exadata_infrastructures.html.markdown +++ b/website/docs/d/database_cloud_exadata_infrastructures.html.markdown @@ -86,6 +86,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_cpu_count` - The total number of CPU cores available. * `max_data_storage_in_tbs` - The total available DATA disk group size. diff --git a/website/docs/d/database_cloud_vm_cluster.html.markdown b/website/docs/d/database_cloud_vm_cluster.html.markdown index 4f4b4e805bd..7ba0d3c6da4 100644 --- a/website/docs/d/database_cloud_vm_cluster.html.markdown +++ b/website/docs/d/database_cloud_vm_cluster.html.markdown @@ -38,6 +38,15 @@ The following attributes are exported: * `backup_subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup network subnet associated with the cloud VM cluster. **Subnet Restriction:** See the subnet restrictions information for **subnetId**. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `cloud_exadata_infrastructure_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cloud Exadata infrastructure. * `cluster_name` - The cluster name for cloud VM cluster. The cluster name must begin with an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/website/docs/d/database_cloud_vm_clusters.html.markdown b/website/docs/d/database_cloud_vm_clusters.html.markdown index b443062142d..987d49b8cc0 100644 --- a/website/docs/d/database_cloud_vm_clusters.html.markdown +++ b/website/docs/d/database_cloud_vm_clusters.html.markdown @@ -52,6 +52,15 @@ The following attributes are exported: * `backup_subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup network subnet associated with the cloud VM cluster. **Subnet Restriction:** See the subnet restrictions information for **subnetId**. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `cloud_exadata_infrastructure_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cloud Exadata infrastructure. * `cluster_name` - The cluster name for cloud VM cluster. The cluster name must begin with an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/website/docs/d/database_db_systems.html.markdown b/website/docs/d/database_db_systems.html.markdown index 869594670fd..a838757e881 100644 --- a/website/docs/d/database_db_systems.html.markdown +++ b/website/docs/d/database_db_systems.html.markdown @@ -99,6 +99,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `memory_size_in_gbs` - Memory allocated to the DB system, in gigabytes. * `next_maintenance_run_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. diff --git a/website/docs/d/database_exadata_infrastructure.html.markdown b/website/docs/d/database_exadata_infrastructure.html.markdown index b121ac1f1c8..f7673fad0b2 100644 --- a/website/docs/d/database_exadata_infrastructure.html.markdown +++ b/website/docs/d/database_exadata_infrastructure.html.markdown @@ -91,6 +91,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_cpu_count` - The total number of CPU cores available. * `max_data_storage_in_tbs` - The total available DATA disk group size. diff --git a/website/docs/d/database_exadata_infrastructures.html.markdown b/website/docs/d/database_exadata_infrastructures.html.markdown index 9641e51b466..c09a7980f14 100644 --- a/website/docs/d/database_exadata_infrastructures.html.markdown +++ b/website/docs/d/database_exadata_infrastructures.html.markdown @@ -101,6 +101,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_cpu_count` - The total number of CPU cores available. * `max_data_storage_in_tbs` - The total available DATA disk group size. diff --git a/website/docs/d/database_vm_cluster.html.markdown b/website/docs/d/database_vm_cluster.html.markdown index fa8d7757d72..ff48b13f95b 100644 --- a/website/docs/d/database_vm_cluster.html.markdown +++ b/website/docs/d/database_vm_cluster.html.markdown @@ -34,6 +34,15 @@ The following arguments are supported: The following attributes are exported: * `availability_domain` - The name of the availability domain that the VM cluster is located in. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. * `cpus_enabled` - The number of enabled CPU cores. * `data_collection_options` - Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS. diff --git a/website/docs/d/database_vm_clusters.html.markdown b/website/docs/d/database_vm_clusters.html.markdown index 6d66b5227a5..ca7ab15d6a8 100644 --- a/website/docs/d/database_vm_clusters.html.markdown +++ b/website/docs/d/database_vm_clusters.html.markdown @@ -49,6 +49,15 @@ The following attributes are exported: The following attributes are exported: * `availability_domain` - The name of the availability domain that the VM cluster is located in. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. * `cpus_enabled` - The number of enabled CPU cores. * `data_collection_options` - Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS. diff --git a/website/docs/d/desktops_desktop.html.markdown b/website/docs/d/desktops_desktop.html.markdown index a5e8ade3371..c00e871a78b 100644 --- a/website/docs/d/desktops_desktop.html.markdown +++ b/website/docs/d/desktops_desktop.html.markdown @@ -48,6 +48,7 @@ The following attributes are exported: * `image` - Provides information about the desktop image. * `image_id` - The OCID of the desktop image. * `image_name` - The name of the desktop image. + * `operating_system` - The operating system of the desktop image, e.g. "Oracle Linux", "Windows". * `id` - The OCID of the desktop. * `pool_id` - The OCID of the desktop pool the desktop is a member of. * `state` - The state of the desktop. diff --git a/website/docs/d/desktops_desktop_pool.html.markdown b/website/docs/d/desktops_desktop_pool.html.markdown index 06297553a76..45d93ed07d7 100644 --- a/website/docs/d/desktops_desktop_pool.html.markdown +++ b/website/docs/d/desktops_desktop_pool.html.markdown @@ -61,12 +61,29 @@ The following attributes are exported: * `image` - Provides information about the desktop image. * `image_id` - The OCID of the desktop image. * `image_name` - The name of the desktop image. + * `operating_system` - The operating system of the desktop image, e.g. "Oracle Linux", "Windows". * `is_storage_enabled` - Indicates whether storage is enabled for the desktop pool. * `maximum_size` - The maximum number of desktops permitted in the desktop pool. * `network_configuration` - Provides information about the network configuration of the desktop pool. - * `subnet_id` - The OCID of the subnet to use for the desktop pool. - * `vcn_id` - The OCID of the VCN used by the desktop pool. -* `nsg_ids` - A list of network security groups for the desktop pool. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - A list of network security groups for the network. +* `shape_config` - The shape configuration used for each desktop compute instance in the desktop pool. + * `baseline_ocpu_utilization` - The baseline OCPU utilization for a subcore burstable VM instance used for each desktop compute instance in the desktop pool. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with `BASELINE_1_1`. The following values are supported: + * `BASELINE_1_8` - baseline usage is 1/8 of an OCPU. + * `BASELINE_1_2` - baseline usage is 1/2 of an OCPU. + * `BASELINE_1_1` - baseline usage is the entire OCPU. This represents a non-burstable instance. + * `memory_in_gbs` - The total amount of memory available in gigabytes for each desktop compute instance in the desktop pool. + * `ocpus` - The total number of OCPUs available for each desktop compute instance in the desktop pool. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - A list of network security groups for the network. +* `private_access_details` - The details of the desktop's private access network connectivity that were used to create the pool. + * `endpoint_fqdn` - The three-label FQDN to use for the private endpoint. The customer VCN's DNS records are updated with this FQDN. This enables the customer to use the FQDN instead of the private endpoint's private IP address to access the service (for example, xyz.oraclecloud.com). + * `nsg_ids` - A list of network security groups for the private access. + * `private_ip` - The IPv4 address from the provided Oracle Cloud Infrastructure subnet which needs to be assigned to the VNIC. If not provided, it will be auto-assigned with an available IPv4 address from the subnet. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. * `shape_name` - The shape of the desktop pool. * `standby_size` - The maximum number of standby desktops available in the desktop pool. * `state` - The current state of the desktop pool. @@ -75,4 +92,5 @@ The following attributes are exported: * `time_created` - The date and time the resource was created. * `time_start_scheduled` - The start time of the desktop pool. * `time_stop_scheduled` - The stop time of the desktop pool. +* `use_dedicated_vm_host` - Indicates whether the desktop pool uses dedicated virtual machine hosts. diff --git a/website/docs/d/desktops_desktop_pools.html.markdown b/website/docs/d/desktops_desktop_pools.html.markdown index ce39fba2f74..17efa571a9e 100644 --- a/website/docs/d/desktops_desktop_pools.html.markdown +++ b/website/docs/d/desktops_desktop_pools.html.markdown @@ -77,12 +77,29 @@ The following attributes are exported: * `image` - Provides information about the desktop image. * `image_id` - The OCID of the desktop image. * `image_name` - The name of the desktop image. + * `operating_system` - The operating system of the desktop image, e.g. "Oracle Linux", "Windows". * `is_storage_enabled` - Indicates whether storage is enabled for the desktop pool. * `maximum_size` - The maximum number of desktops permitted in the desktop pool. * `network_configuration` - Provides information about the network configuration of the desktop pool. - * `subnet_id` - The OCID of the subnet to use for the desktop pool. - * `vcn_id` - The OCID of the VCN used by the desktop pool. -* `nsg_ids` - A list of network security groups for the desktop pool. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - A list of network security groups for the network. +* `shape_config` - The shape configuration used for each desktop compute instance in the desktop pool. + * `baseline_ocpu_utilization` - The baseline OCPU utilization for a subcore burstable VM instance used for each desktop compute instance in the desktop pool. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with `BASELINE_1_1`. The following values are supported: + * `BASELINE_1_8` - baseline usage is 1/8 of an OCPU. + * `BASELINE_1_2` - baseline usage is 1/2 of an OCPU. + * `BASELINE_1_1` - baseline usage is the entire OCPU. This represents a non-burstable instance. + * `memory_in_gbs` - The total amount of memory available in gigabytes for each desktop compute instance in the desktop pool. + * `ocpus` - The total number of OCPUs available for each desktop compute instance in the desktop pool. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - A list of network security groups for the network. +* `private_access_details` - The details of the desktop's private access network connectivity that were used to create the pool. + * `endpoint_fqdn` - The three-label FQDN to use for the private endpoint. The customer VCN's DNS records are updated with this FQDN. This enables the customer to use the FQDN instead of the private endpoint's private IP address to access the service (for example, xyz.oraclecloud.com). + * `nsg_ids` - A list of network security groups for the private access. + * `private_ip` - The IPv4 address from the provided Oracle Cloud Infrastructure subnet which needs to be assigned to the VNIC. If not provided, it will be auto-assigned with an available IPv4 address from the subnet. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. * `shape_name` - The shape of the desktop pool. * `standby_size` - The maximum number of standby desktops available in the desktop pool. * `state` - The current state of the desktop pool. @@ -91,4 +108,5 @@ The following attributes are exported: * `time_created` - The date and time the resource was created. * `time_start_scheduled` - The start time of the desktop pool. * `time_stop_scheduled` - The stop time of the desktop pool. +* `use_dedicated_vm_host` - Indicates whether the desktop pool uses dedicated virtual machine hosts. diff --git a/website/docs/d/load_balancer_load_balancers.html.markdown b/website/docs/d/load_balancer_load_balancers.html.markdown index fcc0e0327c4..2d48fd7a80a 100644 --- a/website/docs/d/load_balancer_load_balancers.html.markdown +++ b/website/docs/d/load_balancer_load_balancers.html.markdown @@ -127,8 +127,8 @@ The following attributes are exported: The values must be between minimumBandwidthInMbps and 8000 (8Gbps). - Example: `1500` - * `minimum_bandwidth_in_mbps` - Bandwidth in Mbps that determines the total pre-provisioned bandwidth (ingress plus egress). The values must be between 10 and the maximumBandwidthInMbps. Example: `150` + Example: `1500` + * `minimum_bandwidth_in_mbps` - Bandwidth in Mbps that determines the total pre-provisioned bandwidth (ingress plus egress). The values must be between 0 and the maximumBandwidthInMbps in multiples of 10. The current allowed maximum value is defined in [Service Limits](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/servicelimits.htm). Example: `150` * `ssl_cipher_suites` - The configuration details of an SSL cipher suite. The algorithms that compose a cipher suite help you secure Transport Layer Security (TLS) or Secure Socket Layer (SSL) network connections. A cipher suite defines the list of security algorithms your load balancer uses to negotiate with peers while sending and receiving information. The cipher suites you use affect the security level, performance, and compatibility of your data traffic. diff --git a/website/docs/d/opsi_database_insight.html.markdown b/website/docs/d/opsi_database_insight.html.markdown index 41690d465a7..7645524a35a 100644 --- a/website/docs/d/opsi_database_insight.html.markdown +++ b/website/docs/d/opsi_database_insight.html.markdown @@ -34,28 +34,28 @@ The following attributes are exported: * `compartment_id` - Compartment identifier of the database * `connection_credential_details` - User credential details to connect to the database. - * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. - * `credential_type` - Credential type. - * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. - * `role` - database user role. - * `user_name` - database user name. - * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. + * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. + * `credential_type` - CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. + * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. + * `role` - database user role. + * `user_name` - database user name. + * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. * `connection_details` - Connection details to connect to the database. HostName, protocol, and port should be specified. - * `host_name` - Name of the listener host that will be used to create the connect string to the database. - * `hosts` - List of hosts and port for private endpoint accessed database resource. - * `host_ip` - Host IP used for connection requests for Cloud DB resource. - * `port` - Listener port number used for connection requests for rivate endpoint accessed db resource. - * `port` - Listener port number used for connection requests. - * `protocol` - Protocol used for connection requests for private endpoint accssed database resource. - * `service_name` - Database service name used for connection requests. - * `connector_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of External Database Connector + * `host_name` - Name of the listener host that will be used to create the connect string to the database. + * `hosts` - List of hosts and port for private endpoint accessed database resource. + * `host_ip` - Host IP used for connection requests for Cloud DB resource. + * `port` - Listener port number used for connection requests for rivate endpoint accessed db resource. + * `port` - Listener port number used for connection requests. + * `protocol` - Protocol used for connection requests for private endpoint accssed database resource. + * `service_name` - Database service name used for connection requests. +* `connector_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of External Database Connector * `credential_details` - User credential details to connect to the database. - * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. - * `credential_type` - Credential type. - * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. - * `role` - database user role. - * `user_name` - database user name. - * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. + * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. + * `credential_type` - CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. + * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. + * `role` - database user role. + * `user_name` - database user name. + * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. * `database_connection_status_details` - A message describing the status of the database connection of this resource. For example, it can be used to provide actionable information about the permission and content validity of the database connection. * `database_display_name` - Display name of database * `database_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the database. diff --git a/website/docs/d/opsi_database_insights.html.markdown b/website/docs/d/opsi_database_insights.html.markdown index 611f6f951c7..b1008d7749e 100644 --- a/website/docs/d/opsi_database_insights.html.markdown +++ b/website/docs/d/opsi_database_insights.html.markdown @@ -64,7 +64,7 @@ The following attributes are exported: * `compartment_id` - Compartment identifier of the database * `connection_credential_details` - User credential details to connect to the database. * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. - * `credential_type` - Credential type. + * `credential_type` - CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. * `role` - database user role. * `user_name` - database user name. @@ -78,13 +78,13 @@ The following attributes are exported: * `protocol` - Protocol used for connection requests for private endpoint accssed database resource. * `service_name` - Database service name used for connection requests. * `connector_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of External Database Connector - * `credential_details` - User credential details to connect to the database. +* `credential_details` - User credential details to connect to the database. * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. - * `credential_type` - Credential type. - * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. - * `role` - database user role. - * `user_name` - database user name. - * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. + * `credential_type` - CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. + * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. + * `role` - database user role. + * `user_name` - database user name. + * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. * `database_connection_status_details` - A message describing the status of the database connection of this resource. For example, it can be used to provide actionable information about the permission and content validity of the database connection. * `database_display_name` - Display name of database * `database_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the database. diff --git a/website/docs/d/opsi_host_insight.html.markdown b/website/docs/d/opsi_host_insight.html.markdown index fc18e2e1a9d..cd80863944d 100644 --- a/website/docs/d/opsi_host_insight.html.markdown +++ b/website/docs/d/opsi_host_insight.html.markdown @@ -57,6 +57,7 @@ The following attributes are exported: * `platform_type` - Platform type. Supported platformType(s) for MACS-managed external host insight: [LINUX, SOLARIS, WINDOWS]. Supported platformType(s) for MACS-managed cloud host insight: [LINUX]. Supported platformType(s) for EM-managed external host insight: [LINUX, SOLARIS, SUNOS, ZLINUX, WINDOWS, AIX]. * `platform_version` - Platform version. * `root_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Infrastructure. +* `root_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Infrastructure. * `state` - The current state of the host. * `status` - Indicates the status of a host insight in Operations Insights * `system_tags` - System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}` diff --git a/website/docs/d/opsi_host_insights.html.markdown b/website/docs/d/opsi_host_insights.html.markdown index 268d9ab1cc5..c29c56c7dc4 100644 --- a/website/docs/d/opsi_host_insights.html.markdown +++ b/website/docs/d/opsi_host_insights.html.markdown @@ -39,7 +39,7 @@ The following arguments are supported: * `compartment_id_in_subtree` - (Optional) A flag to search all resources within a given compartment and all sub-compartments. * `enterprise_manager_bridge_id` - (Applicable when entity_source=EM_MANAGED_EXTERNAL_HOST) Unique Enterprise Manager bridge identifier * `exadata_insight_id` - (Applicable when entity_source=EM_MANAGED_EXTERNAL_HOST) [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of exadata insight resource. -* `host_type` - (Optional) Filter by one or more host types. Possible values are CLOUD-HOST, EXTERNAL-HOST, COMANAGED-VM-HOST, COMANAGED-BM-HOST, COMANAGED-EXACS-HOST, COMANAGED-EXACC-HOST +* `host_type` - (Optional) Filter by one or more host types. Possible values are CLOUD-HOST, EXTERNAL-HOST, COMANAGED-VM-HOST, COMANAGED-BM-HOST, COMANAGED-EXACS-HOST, COMANAGED-EXACC-HOST * `id` - (Optional) Optional list of host insight resource [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). * `platform_type` - (Applicable when entity_source=EM_MANAGED_EXTERNAL_HOST | MACS_MANAGED_CLOUD_DB_HOST | MACS_MANAGED_CLOUD_HOST | MACS_MANAGED_EXTERNAL_HOST | PE_COMANAGED_HOST) Filter by one or more platform types. Supported platformType(s) for MACS-managed external host insight: [LINUX, SOLARIS, WINDOWS]. Supported platformType(s) for MACS-managed cloud host insight: [LINUX]. Supported platformType(s) for EM-managed external host insight: [LINUX, SOLARIS, SUNOS, ZLINUX, WINDOWS, AIX]. * `state` - (Optional) Lifecycle states diff --git a/website/docs/d/stack_monitoring_maintenance_window.html.markdown b/website/docs/d/stack_monitoring_maintenance_window.html.markdown new file mode 100644 index 00000000000..9a911eb7d51 --- /dev/null +++ b/website/docs/d/stack_monitoring_maintenance_window.html.markdown @@ -0,0 +1,58 @@ +--- +subcategory: "Stack Monitoring" +layout: "oci" +page_title: "Oracle Cloud Infrastructure: oci_stack_monitoring_maintenance_window" +sidebar_current: "docs-oci-datasource-stack_monitoring-maintenance_window" +description: |- + Provides details about a specific Maintenance Window in Oracle Cloud Infrastructure Stack Monitoring service +--- + +# Data Source: oci_stack_monitoring_maintenance_window +This data source provides details about a specific Maintenance Window resource in Oracle Cloud Infrastructure Stack Monitoring service. + +Get maintenance window for the given identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). + + +## Example Usage + +```hcl +data "oci_stack_monitoring_maintenance_window" "test_maintenance_window" { + #Required + maintenance_window_id = oci_stack_monitoring_maintenance_window.test_maintenance_window.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `maintenance_window_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of maintenance window. + + +## Attributes Reference + +The following attributes are exported: + +* `compartment_id` - Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). +* `description` - Maintenance Window description. +* `id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of maintenance window. +* `lifecycle_details` - Lifecycle Details of the Maintenance Window. +* `name` - Maintenance Window name. +* `resources` - List of resource Ids which are part of the Maintenance Window + * `are_members_included` - Flag to indicate if the members of the resource has to be include in the Maintenance Window. + * `resource_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. +* `resources_details` - List of resource details that are part of the Maintenance Window. + * `name` - Name of the monitored resource + * `number_of_members` - Number of members of the resource + * `resource_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. + * `type` - Type of the monitored resource +* `schedule` - Schedule information of the Maintenance Window + * `maintenance_window_duration` - Duration time of each recurrence of each Maintenance Window. It must be specified as a string in ISO 8601 extended format. + * `maintenance_window_recurrences` - A RFC5545 formatted recurrence string which represents the Maintenance Window Recurrence. Please refer this for details:https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 FREQ: Frequency of the Maintenance Window. The supported values are: DAILY and WEEKLY. BYDAY: Comma separated days for Weekly Maintenance Window. BYHOUR: Specifies the start hour of each recurrence after `timeMaintenanceWindowStart` value. BYMINUTE: Specifies the start minute of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 BYSECOND: Specifies the start second of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 Other Rules are not supported. + * `schedule_type` - Property to identify the type of the Maintenance Window. + * `time_maintenance_window_end` - Start time of Maintenance window. A RFC3339 formatted datetime string + * `time_maintenance_window_start` - Start time of Maintenance window. A RFC3339 formatted datetime string +* `state` - Lifecycle state of the monitored resource. +* `time_created` - The time the the maintenance window was created. An RFC3339 formatted datetime string +* `time_updated` - The time the the mainteance window was updated. An RFC3339 formatted datetime string + diff --git a/website/docs/d/stack_monitoring_maintenance_windows.html.markdown b/website/docs/d/stack_monitoring_maintenance_windows.html.markdown new file mode 100644 index 00000000000..56210535ce9 --- /dev/null +++ b/website/docs/d/stack_monitoring_maintenance_windows.html.markdown @@ -0,0 +1,71 @@ +--- +subcategory: "Stack Monitoring" +layout: "oci" +page_title: "Oracle Cloud Infrastructure: oci_stack_monitoring_maintenance_windows" +sidebar_current: "docs-oci-datasource-stack_monitoring-maintenance_windows" +description: |- + Provides the list of Maintenance Windows in Oracle Cloud Infrastructure Stack Monitoring service +--- + +# Data Source: oci_stack_monitoring_maintenance_windows +This data source provides the list of Maintenance Windows in Oracle Cloud Infrastructure Stack Monitoring service. + +Returns a list of maintenance windows. + +## Example Usage + +```hcl +data "oci_stack_monitoring_maintenance_windows" "test_maintenance_windows" { + #Required + compartment_id = var.compartment_id + + #Optional + lifecycle_details = var.maintenance_window_lifecycle_details + name = var.maintenance_window_name + status = var.maintenance_window_status +} +``` + +## Argument Reference + +The following arguments are supported: + +* `compartment_id` - (Required) The ID of the compartment in which data is listed. +* `lifecycle_details` - (Optional) A filter to return maintenance windows with matching lifecycleDetails. +* `name` - (Optional) A filter to return maintenance windows that match exact resource name. +* `status` - (Optional) A filter to return only maintenance windows with matching lifecycleState. + + +## Attributes Reference + +The following attributes are exported: + +* `maintenance_window_collection` - The list of maintenance_window_collection. + +### MaintenanceWindow Reference + +The following attributes are exported: + +* `compartment_id` - Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). +* `description` - Maintenance Window description. +* `id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of maintenance window. +* `lifecycle_details` - Lifecycle Details of the Maintenance Window. +* `name` - Maintenance Window name. +* `resources` - List of resource Ids which are part of the Maintenance Window + * `are_members_included` - Flag to indicate if the members of the resource has to be include in the Maintenance Window. + * `resource_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. +* `resources_details` - List of resource details that are part of the Maintenance Window. + * `name` - Name of the monitored resource + * `number_of_members` - Number of members of the resource + * `resource_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. + * `type` - Type of the monitored resource +* `schedule` - Schedule information of the Maintenance Window + * `maintenance_window_duration` - Duration time of each recurrence of each Maintenance Window. It must be specified as a string in ISO 8601 extended format. + * `maintenance_window_recurrences` - A RFC5545 formatted recurrence string which represents the Maintenance Window Recurrence. Please refer this for details:https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 FREQ: Frequency of the Maintenance Window. The supported values are: DAILY and WEEKLY. BYDAY: Comma separated days for Weekly Maintenance Window. BYHOUR: Specifies the start hour of each recurrence after `timeMaintenanceWindowStart` value. BYMINUTE: Specifies the start minute of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 BYSECOND: Specifies the start second of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 Other Rules are not supported. + * `schedule_type` - Property to identify the type of the Maintenance Window. + * `time_maintenance_window_end` - Start time of Maintenance window. A RFC3339 formatted datetime string + * `time_maintenance_window_start` - Start time of Maintenance window. A RFC3339 formatted datetime string +* `state` - Lifecycle state of the monitored resource. +* `time_created` - The time the the maintenance window was created. An RFC3339 formatted datetime string +* `time_updated` - The time the the mainteance window was updated. An RFC3339 formatted datetime string + diff --git a/website/docs/guides/resource_discovery.html.markdown b/website/docs/guides/resource_discovery.html.markdown index 4e3b3bee8b9..06966f3ac38 100644 --- a/website/docs/guides/resource_discovery.html.markdown +++ b/website/docs/guides/resource_discovery.html.markdown @@ -620,6 +620,7 @@ database * oci\_database\_application\_vip * oci\_database\_oneoff\_patch * oci\_database\_db\_node\_console\_history +* oci\_database\_autonomous\_database\_software\_image * oci\_database\_exascale\_db\_storage\_vault * oci\_database\_exadb\_vm\_cluster @@ -1166,6 +1167,9 @@ stack_monitoring * oci\_stack\_monitoring\_metric\_extension * oci\_stack\_monitoring\_baselineable\_metric * oci\_stack\_monitoring\_process\_set +* oci\_stack\_monitoring\_maintenance\_window +* oci\_stack\_monitoring\_maintenance\_windows\_retry\_failed\_operation +* oci\_stack\_monitoring\_maintenance\_windows\_stop streaming diff --git a/website/docs/r/core_instance.html.markdown b/website/docs/r/core_instance.html.markdown index d35aaacb359..ac7b42b0b74 100644 --- a/website/docs/r/core_instance.html.markdown +++ b/website/docs/r/core_instance.html.markdown @@ -146,6 +146,7 @@ resource "oci_core_instance" "test_instance" { display_name = var.instance_launch_volume_attachments_display_name encryption_in_transit_type = var.instance_launch_volume_attachments_encryption_in_transit_type is_agent_auto_iscsi_login_enabled = var.instance_launch_volume_attachments_is_agent_auto_iscsi_login_enabled + is_pv_encryption_in_transit_enabled = var.instance_launch_volume_attachments_is_pv_encryption_in_transit_enabled is_read_only = var.instance_launch_volume_attachments_is_read_only is_shareable = var.instance_launch_volume_attachments_is_shareable launch_create_volume_details { @@ -378,8 +379,9 @@ The following arguments are supported: * `device` - (Optional) The device name. To retrieve a list of devices for a given instance, see [ListInstanceDevices](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Device/ListInstanceDevices). * `display_name` - (Optional) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. - * `encryption_in_transit_type` - (Optional) Refer the top-level definition of encryptionInTransitType. The default value is NONE. - * `is_agent_auto_iscsi_login_enabled` - (Optional) Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments. + * `encryption_in_transit_type` - (Applicable when type=iscsi) Refer the top-level definition of encryptionInTransitType. The default value is NONE. + * `is_agent_auto_iscsi_login_enabled` - (Applicable when type=iscsi) Whether to enable Oracle Cloud Agent to perform the iSCSI login and logout commands after the volume attach or detach operations for non multipath-enabled iSCSI attachments. + * `is_pv_encryption_in_transit_enabled` - (Applicable when type=paravirtualized) Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. * `is_read_only` - (Optional) Whether the attachment was created in read-only mode. * `is_shareable` - (Optional) Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified. * `launch_create_volume_details` - (Optional) Define a volume that will be created and attached or attached to an instance on creation. @@ -396,7 +398,7 @@ The following arguments are supported: * `20`: Represents Higher Performance option. * `30`-`120`: Represents the Ultra High Performance option. * `type` - (Required) The type of volume. Currently, the only supported value is "iscsi". - * `use_chap` - (Optional) Whether to use CHAP authentication for the volume attachment. Defaults to false. + * `use_chap` - (Applicable when type=iscsi) Whether to use CHAP authentication for the volume attachment. Defaults to false. * `volume_id` - (Optional) The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request. * `metadata` - (Optional) (Updatable) Custom metadata key/value pairs that you provide, such as the SSH public key required to connect to the instance. @@ -497,7 +499,7 @@ The following arguments are supported: * `operating_system` - (Applicable when source_type=image) The image's operating system. Example: `Oracle Linux` * `operating_system_version` - (Applicable when source_type=image) The image's operating system version. Example: `7.2` * `kms_key_id` - (Applicable when source_type=image) (Updatable) The OCID of the Vault service key to assign as the master encryption key for the boot volume. - * `source_id` - (Required) (Updatable) The OCID of the boot volume used to boot the instance. + * `source_id` - (Required) (Updatable) The OCID of the boot volume used to boot the instance. Updates are supported only for linux Images. The user will need to manually destroy and re-create the resource for other image types. * `source_type` - (Required) (Updatable) The source type for the instance. Use `image` when specifying the image OCID. Use `bootVolume` when specifying the boot volume OCID. * `is_preserve_boot_volume_enabled` - (Optional) (Updatable) Whether to preserve the boot volume that was previously attached to the instance after a successful replacement of that boot volume. * `subnet_id` - (Optional) Deprecated. Instead use `subnetId` in [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/). At least one of them is required; if you provide both, the values must match. diff --git a/website/docs/r/core_instance_configuration.html.markdown b/website/docs/r/core_instance_configuration.html.markdown index 9cd6dac5676..f2bf8ab0c58 100644 --- a/website/docs/r/core_instance_configuration.html.markdown +++ b/website/docs/r/core_instance_configuration.html.markdown @@ -465,8 +465,8 @@ The following arguments are supported: * `display_name` - (Applicable when instance_type=compute) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. * `is_pv_encryption_in_transit_enabled` - (Applicable when type=paravirtualized) Whether to enable in-transit encryption for the data volume's paravirtualized attachment. The default value is false. * `is_read_only` - (Applicable when instance_type=compute) Whether the attachment should be created in read-only mode. - * `is_shareable` - (Applicable when instance_type=compute) Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified. - * `type` - (Required) The type of volume. The only supported values are "iscsi" and "paravirtualized". + * `is_shareable` - (Applicable when instance_type=compute) Whether the attachment should be created in shareable mode. If an attachment is created in shareable mode, then other instances can attach the same volume, provided that they also create their attachments in shareable mode. Only certain volume types can be attached in shareable mode. Defaults to false if not specified. + * `type` - (Required) The type of volume. The only supported values are "iscsi" and "paravirtualized" * `use_chap` - (Applicable when type=iscsi) Whether to use CHAP authentication for the volume attachment. Defaults to false. * `create_details` - (Applicable when instance_type=compute) Creates a new block volume. Please see [CreateVolumeDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVolumeDetails/) * `autotune_policies` - (Applicable when instance_type=compute) The list of autotune policies enabled for this volume. @@ -500,9 +500,9 @@ The following arguments are supported: * `volume_id` - (Applicable when instance_type=compute) The OCID of the volume. * `instance_type` - (Required) The type of instance details. Supported instanceType is compute * `launch_details` - (Applicable when instance_type=compute) Instance launch details for creating an instance from an instance configuration. Use the `sourceDetails` parameter to specify whether a boot volume or an image should be used to launch a new instance. - See [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/LaunchInstanceDetails) for more information. - * `agent_config` - (Applicable when instance_type=compute) Configuration options for the Oracle Cloud Agent software running on the instance. - * `are_all_plugins_disabled` - (Applicable when instance_type=compute) Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins. + See [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/LaunchInstanceDetails) for more information. + * `agent_config` - (Applicable when instance_type=compute) Configuration options for the Oracle Cloud Agent software running on the instance. + * `are_all_plugins_disabled` - (Applicable when instance_type=compute) Whether Oracle Cloud Agent can run all the available plugins. This includes the management and monitoring plugins. To get a list of available plugins, use the [ListInstanceagentAvailablePlugins](https://docs.cloud.oracle.com/iaas/api/#/en/instanceagent/20180530/Plugin/ListInstanceagentAvailablePlugins) operation in the Oracle Cloud Agent API. For more information about the available plugins, see [Managing Plugins with Oracle Cloud Agent](https://docs.cloud.oracle.com/iaas/Content/Compute/Tasks/manage-plugins.htm). * `is_management_disabled` - (Applicable when instance_type=compute) Whether Oracle Cloud Agent can run all the available management plugins. Default value is false (management plugins are enabled). @@ -942,7 +942,7 @@ The following arguments are supported: * `hostname_label` - (Applicable when instance_type=instance_options) The hostname for the VNIC's primary private IP. See the `hostnameLabel` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. * `nsg_ids` - (Applicable when instance_type=instance_options) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see [NetworkSecurityGroup](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/NetworkSecurityGroup/). * `private_ip` - (Applicable when instance_type=instance_options) A private IP address of your choice to assign to the VNIC. See the `privateIp` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. - * `security_attributes` - (Applicable when instance_type=instance_options) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` + * `security_attributes` - (Applicable when instance_type=instance_options) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` * `skip_source_dest_check` - (Applicable when instance_type=instance_options) Whether the source/destination check is disabled on the VNIC. See the `skipSourceDestCheck` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. * `subnet_id` - (Applicable when instance_type=instance_options) The OCID of the subnet to create the VNIC in. See the `subnetId` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. * `display_name` - (Applicable when instance_type=instance_options) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. @@ -957,12 +957,12 @@ The following arguments are supported: * `hostname_label` - (Applicable when instance_type=compute) The hostname for the VNIC's primary private IP. See the `hostnameLabel` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. * `nsg_ids` - (Applicable when instance_type=compute) A list of the OCIDs of the network security groups (NSGs) to add the VNIC to. For more information about NSGs, see [NetworkSecurityGroup](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/NetworkSecurityGroup/). * `private_ip` - (Applicable when instance_type=compute) A private IP address of your choice to assign to the VNIC. See the `privateIp` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. - * `security_attributes` - (Applicable when instance_type=compute) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` + * `security_attributes` - (Applicable when instance_type=compute) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` * `skip_source_dest_check` - (Applicable when instance_type=compute) Whether the source/destination check is disabled on the VNIC. See the `skipSourceDestCheck` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. * `subnet_id` - (Applicable when instance_type=compute) The OCID of the subnet to create the VNIC in. See the `subnetId` attribute of [CreateVnicDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/CreateVnicDetails/) for more information. * `display_name` - (Applicable when instance_type=compute) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. - * `nic_index` - (Applicable when instance_type=compute) Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see [Virtual Network Interface Cards (VNICs)](https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingVNICs.htm). -* `instance_id` - (Required when source=INSTANCE) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the instance to use to create the instance configuration. + * `nic_index` - (Applicable when instance_type=compute) Which physical network interface card (NIC) the VNIC will use. Defaults to 0. Certain bare metal instance shapes have two active physical NICs (0 and 1). If you add a secondary VNIC to one of these instances, you can specify which NIC the VNIC will use. For more information, see [Virtual Network Interface Cards (VNICs)](https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingVNICs.htm). +* `instance_id` - (Required when source=INSTANCE) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the instance to use to create the instance configuration. * `source` - (Optional) The source of the instance configuration. An instance configuration defines the settings to use when creating Compute instances, including details such as the base image, shape, and metadata. You can also specify the associated resources for the instance, such as block volume attachments and network configuration. When you create an instance configuration using an existing instance as a template, the instance configuration does not include any information from the source instance's boot volume, such as installed applications, binaries, and files on the instance. It also does not include the contents of any block volumes that are attached to the instance. @@ -1414,8 +1414,8 @@ The following attributes are exported: * `type` - The type of action to run when the instance is interrupted for eviction. * `preferred_maintenance_action` - The preferred maintenance action for an instance. The default is LIVE_MIGRATE, if live migration is supported. * `LIVE_MIGRATE` - Run maintenance using a live migration. - * `REBOOT` - Run maintenance using a reboot. - * `security_attributes` - Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` + * `REBOOT` - Run maintenance using a reboot. + * `security_attributes` - Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` * `shape` - The shape of an instance. The shape determines the number of CPUs, amount of memory, and other resources allocated to the instance. You can enumerate all available shapes by calling [ListShapes](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Shape/ListShapes). diff --git a/website/docs/r/core_vcn.html.markdown b/website/docs/r/core_vcn.html.markdown index 6c7a4319b81..9055dc1989b 100644 --- a/website/docs/r/core_vcn.html.markdown +++ b/website/docs/r/core_vcn.html.markdown @@ -73,6 +73,7 @@ resource "oci_core_vcn" "test_vcn" { ipv6private_cidr_blocks = var.vcn_ipv6private_cidr_blocks is_ipv6enabled = var.vcn_is_ipv6enabled is_oracle_gua_allocation_enabled = var.vcn_is_oracle_gua_allocation_enabled + security_attributes = var.vcn_security_attributes } ``` @@ -107,7 +108,7 @@ The following arguments are supported: **Important:** Do *not* specify a value for `ipv6cidr_block`. Use this parameter instead. * `is_ipv6enabled` - (Optional) Whether IPv6 is enabled for the VCN. Default is `false`. If enabled, Oracle will assign the VCN a IPv6 /56 CIDR block. You may skip having Oracle allocate the VCN a IPv6 /56 CIDR block by setting isOracleGuaAllocationEnabled to `false`. For important details about IPv6 addressing in a VCN, see [IPv6 Addresses](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/ipv6.htm). Example: `true` * `is_oracle_gua_allocation_enabled` - (Optional) Specifies whether to skip Oracle allocated IPv6 GUA. By default, Oracle will allocate one GUA of /56 size for an IPv6 enabled VCN. - +* `security_attributes` - (Optional) (Updatable) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}` ** IMPORTANT ** Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values @@ -136,6 +137,7 @@ The following attributes are exported: * `id` - The VCN's Oracle ID ([OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)). * `ipv6cidr_blocks` - For an IPv6-enabled VCN, this is the list of IPv6 prefixes for the VCN's IP address space. The prefixes are provided by Oracle and the sizes are always /56. * `ipv6private_cidr_blocks` - For an IPv6-enabled VCN, this is the list of Private IPv6 prefixes for the VCN's IP address space. +* `security_attributes` - Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}` * `state` - The VCN's current state. * `time_created` - The date and time the VCN was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z` * `vcn_domain_name` - The VCN's domain name, which consists of the VCN's DNS label, and the `oraclevcn.com` domain. diff --git a/website/docs/r/core_vnic_attachment.html.markdown b/website/docs/r/core_vnic_attachment.html.markdown index 3759ccf4e3d..85207a27f2a 100644 --- a/website/docs/r/core_vnic_attachment.html.markdown +++ b/website/docs/r/core_vnic_attachment.html.markdown @@ -85,8 +85,8 @@ The following arguments are supported: If you specify a `vlanId`, the `privateIp` cannot be specified. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). - Example: `10.0.3.3` - * `security_attributes` - (Optional) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","mode":"audit"}}}` + Example: `10.0.3.3` + * `security_attributes` - (Optional) Security Attributes for this resource. This is unique to ZPR, and helps identify which resources are allowed to be accessed by what permission controls. Example: `{"Oracle-DataSecurity-ZPR.MaxEgressCount.value": "42", "Oracle-DataSecurity-ZPR.MaxEgressCount.mode": "audit"}` * `skip_source_dest_check` - (Optional) (Updatable) Whether the source/destination check is disabled on the VNIC. Defaults to `false`, which means the check is performed. For information about why you would skip the source/destination check, see [Using a Private IP as a Route Target](https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#privateip). If you specify a `vlanId`, the `skipSourceDestCheck` cannot be specified because the source/destination check is always disabled for VNICs in a VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). diff --git a/website/docs/r/database_autonomous_container_database.html.markdown b/website/docs/r/database_autonomous_container_database.html.markdown index 9ded57be3fa..3611df4db30 100644 --- a/website/docs/r/database_autonomous_container_database.html.markdown +++ b/website/docs/r/database_autonomous_container_database.html.markdown @@ -251,6 +251,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) enabled per ECPU or OCPU in the Autonomous VM Cluster. * `net_services_architecture` - Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. diff --git a/website/docs/r/database_autonomous_database.html.markdown b/website/docs/r/database_autonomous_database.html.markdown index c68e0895006..c19ae13a039 100644 --- a/website/docs/r/database_autonomous_database.html.markdown +++ b/website/docs/r/database_autonomous_database.html.markdown @@ -384,7 +384,7 @@ The following attributes are exported: * AJD - indicates an Autonomous JSON Database * APEX - indicates an Autonomous Database with the Oracle APEX Application Development workload type. - This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier. + This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier. * `defined_tags` - Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). * `disaster_recovery_region_type` - **Deprecated** The disaster recovery (DR) region type of the Autonomous Database. For Serverless Autonomous Databases, DR associations have designated primary (`PRIMARY`) and standby (`REMOTE`) regions. These region types do not change when the database changes roles. The standby region in DR associations can be the same region as the primary region, or they can be in a remote regions. Some database administration operations may be available only in the primary region of the DR association, and cannot be performed when the database using the primary role is operating in a remote region. * `display_name` - The user-friendly name for the Autonomous Database. The name does not have to be unique. diff --git a/website/docs/r/database_autonomous_database_saas_admin_user.html.markdown b/website/docs/r/database_autonomous_database_saas_admin_user.html.markdown index f1893ddedec..615034cfbf7 100644 --- a/website/docs/r/database_autonomous_database_saas_admin_user.html.markdown +++ b/website/docs/r/database_autonomous_database_saas_admin_user.html.markdown @@ -51,6 +51,8 @@ The following attributes are exported: * `apex_version` - The Oracle APEX Application Development version. * `ords_version` - The Oracle REST Data Services (ORDS) version. * `are_primary_whitelisted_ips_used` - This field will be null if the Autonomous Database is not Data Guard enabled or Access Control is disabled. It's value would be `TRUE` if Autonomous Database is Data Guard enabled and Access Control is enabled and if the Autonomous Database uses primary IP access control list (ACL) for standby. It's value would be `FALSE` if Autonomous Database is Data Guard enabled and Access Control is enabled and if the Autonomous Database uses different IP access control list (ACL) for standby compared to primary. +* `auto_refresh_frequency_in_seconds` - The frequency a refreshable clone is refreshed after auto-refresh is enabled. The minimum is 1 hour. The maximum is 7 days. The date and time that auto-refresh is enabled is controlled by the `timeOfAutoRefreshStart` parameter. +* `auto_refresh_point_lag_in_seconds` - The time, in seconds, the data of the refreshable clone lags the primary database at the point of refresh. The minimum is 0 minutes (0 mins means refresh to the latest available timestamp). The maximum is 7 days. The lag time increases after refreshing until the next data refresh happens. * `autonomous_container_database_id` - The Autonomous Container Database [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). Used only by Autonomous Database on Dedicated Exadata Infrastructure. * `autonomous_maintenance_schedule_type` - The maintenance schedule type of the Autonomous Database Serverless. An EARLY maintenance schedule follows a schedule applying patches prior to the REGULAR schedule. A REGULAR maintenance schedule follows the normal cycle * `available_upgrade_versions` - List of Oracle Database versions available for a database upgrade. If there are no version upgrades available, this list is empty. @@ -132,6 +134,7 @@ The following attributes are exported: * `is_auto_scaling_for_storage_enabled` - Indicates if auto scaling is enabled for the Autonomous Database storage. The default value is `FALSE`. * `is_data_guard_enabled` - **Deprecated.** Indicates whether the Autonomous Database has local (in-region) Data Guard enabled. Not applicable to cross-region Autonomous Data Guard associations, or to Autonomous Databases using dedicated Exadata infrastructure or Exadata Cloud@Customer infrastructure. * `is_dedicated` - True if the database uses [dedicated Exadata infrastructure](https://docs.oracle.com/en/cloud/paas/autonomous-database/index.html). +* `is_dev_tier` - This project introduces Autonomous Database for Developers (ADB-Dev), a free tier on dedicated infrastructure, and Cloud@Customer for database development purposes. ADB-Dev enables ExaDB customers to experiment with ADB for free and incentivizes enterprises to use ADB for new development projects.Note that ADB-Dev have 4 CPU and 20GB of memory. For ADB-Dev , memory and CPU cannot be scaled * `is_free_tier` - Indicates if this is an Always Free resource. The default value is false. Note that Always Free Autonomous Databases have 1 CPU and 20GB of memory. For Always Free databases, memory and CPU cannot be scaled. This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, privateEndpointLabel, nsgIds, dbVersion, isRefreshable, dbName, scheduledOperations, dbToolsDetails, or isLocalDataGuardEnabled @@ -179,6 +182,7 @@ The following attributes are exported: * `time_of_backup` - The timestamp for the long-term backup schedule. For a MONTHLY cadence, months having fewer days than the provided date will have the backup taken on the last day of that month. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) enabled per ECPU or OCPU. * `ncharacter_set` - The national character set for the autonomous database. The default is AL16UTF16. Allowed values are: AL16UTF16 or UTF8. +* `net_services_architecture` - Enabling SHARED server architecture enables a database server to allow many client processes to share very few server processes, thereby increasing the number of supported users. * `next_long_term_backup_time_stamp` - The date and time when the next long-term backup would be created. * `nsg_ids` - The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** * A network security group (NSG) is optional for Autonomous Databases with private access. The nsgIds list can be empty. @@ -261,6 +265,7 @@ The following attributes are exported: * `time_local_data_guard_enabled` - The date and time that Autonomous Data Guard was enabled for an Autonomous Database where the standby was provisioned in the same region as the primary database. * `time_maintenance_begin` - The date and time when maintenance will begin. * `time_maintenance_end` - The date and time when maintenance will end. +* `time_of_auto_refresh_start` - The the date and time that auto-refreshing will begin for an Autonomous Database refreshable clone. This value controls only the start time for the first refresh operation. Subsequent (ongoing) refresh operations have start times controlled by the value of the `autoRefreshFrequencyInSeconds` parameter. * `time_of_joining_resource_pool` - The time the member joined the resource pool. * `time_of_last_failover` - The timestamp of the last failover operation. * `time_of_last_refresh` - The date and time when last refresh happened. @@ -268,7 +273,6 @@ The following attributes are exported: * `time_of_last_switchover` - The timestamp of the last switchover operation for the Autonomous Database. * `time_of_next_refresh` - The date and time of next refresh. * `time_reclamation_of_free_autonomous_database` - The date and time the Always Free database will be stopped because of inactivity. If this time is reached without any database activity, the database will automatically be put into the STOPPED state. -* `time_undeleted` - The date and time the Autonomous Database was most recently undeleted. * `time_until_reconnect_clone_enabled` - The time and date as an RFC3339 formatted string, e.g., 2022-01-01T12:00:00.000Z, to set the limit for a refreshable clone to be reconnected to its source database. * `total_backup_storage_size_in_gbs` - The backup storage to the database. * `used_data_storage_size_in_gbs` - The storage space consumed by Autonomous Database in GBs. diff --git a/website/docs/r/database_autonomous_exadata_infrastructure.html.markdown b/website/docs/r/database_autonomous_exadata_infrastructure.html.markdown index a64033bfd36..58a34131320 100644 --- a/website/docs/r/database_autonomous_exadata_infrastructure.html.markdown +++ b/website/docs/r/database_autonomous_exadata_infrastructure.html.markdown @@ -47,6 +47,7 @@ resource "oci_database_autonomous_exadata_infrastructure" "test_autonomous_exada } patching_mode = var.autonomous_exadata_infrastructure_maintenance_window_details_patching_mode preference = var.autonomous_exadata_infrastructure_maintenance_window_details_preference + skip_ru = var.autonomous_exadata_infrastructure_maintenance_window_details_skip_ru weeks_of_month = var.autonomous_exadata_infrastructure_maintenance_window_details_weeks_of_month } nsg_ids = var.autonomous_exadata_infrastructure_nsg_ids @@ -79,6 +80,7 @@ The following arguments are supported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - (Optional) (Updatable) The maintenance window scheduling preference. + * `skip_ru` - (Optional) (Updatable) If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - (Optional) (Updatable) Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `nsg_ids` - (Optional) (Updatable) The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** * A network security group (NSG) is optional for Autonomous Databases with private access. The nsgIds list can be empty. @@ -124,6 +126,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `next_maintenance_run_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. * `nsg_ids` - The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** diff --git a/website/docs/r/database_autonomous_vm_cluster.html.markdown b/website/docs/r/database_autonomous_vm_cluster.html.markdown index 2f861fca747..2774d9c3fd5 100644 --- a/website/docs/r/database_autonomous_vm_cluster.html.markdown +++ b/website/docs/r/database_autonomous_vm_cluster.html.markdown @@ -49,6 +49,7 @@ resource "oci_database_autonomous_vm_cluster" "test_autonomous_vm_cluster" { } patching_mode = var.autonomous_vm_cluster_maintenance_window_details_patching_mode preference = var.autonomous_vm_cluster_maintenance_window_details_preference + skip_ru = var.autonomous_vm_cluster_maintenance_window_details_skip_ru weeks_of_month = var.autonomous_vm_cluster_maintenance_window_details_weeks_of_month } memory_per_oracle_compute_unit_in_gbs = var.autonomous_vm_cluster_memory_per_oracle_compute_unit_in_gbs @@ -87,6 +88,7 @@ The following arguments are supported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - (Optional) (Updatable) The maintenance window scheduling preference. + * `skip_ru` - (Optional) (Updatable) If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - (Optional) (Updatable) Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `memory_per_oracle_compute_unit_in_gbs` - (Optional) The amount of memory (in GBs) to be enabled per OCPU or ECPU. * `scan_listener_port_non_tls` - (Optional) The SCAN Listener Non TLS port number. Default value is 1521. @@ -135,6 +137,7 @@ The following attributes are exported: * `months` - Months during the year when maintenance should be performed. * `name` - Name of the month of the year. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_acds_lowest_scaled_value` - The lowest value to which maximum number of ACDs can be scaled down. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) to be enabled per OCPU or ECPU. diff --git a/website/docs/r/database_cloud_autonomous_vm_cluster.html.markdown b/website/docs/r/database_cloud_autonomous_vm_cluster.html.markdown index c6e91a79325..2a208545f8c 100644 --- a/website/docs/r/database_cloud_autonomous_vm_cluster.html.markdown +++ b/website/docs/r/database_cloud_autonomous_vm_cluster.html.markdown @@ -52,6 +52,7 @@ resource "oci_database_cloud_autonomous_vm_cluster" "test_cloud_autonomous_vm_cl } patching_mode = var.cloud_autonomous_vm_cluster_maintenance_window_details_patching_mode preference = var.cloud_autonomous_vm_cluster_maintenance_window_details_preference + skip_ru = var.cloud_autonomous_vm_cluster_maintenance_window_details_skip_ru weeks_of_month = var.cloud_autonomous_vm_cluster_maintenance_window_details_weeks_of_month } memory_per_oracle_compute_unit_in_gbs = var.cloud_autonomous_vm_cluster_memory_per_oracle_compute_unit_in_gbs @@ -97,6 +98,7 @@ The following arguments are supported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - (Optional) (Updatable) The maintenance window scheduling preference. + * `skip_ru` - (Optional) (Updatable) If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - (Optional) (Updatable) Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `memory_per_oracle_compute_unit_in_gbs` - (Optional) The amount of memory (in GBs) to be enabled per OCPU or ECPU. * `nsg_ids` - (Optional) (Updatable) The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** @@ -160,6 +162,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_acds_lowest_scaled_value` - The lowest value to which maximum number of ACDs can be scaled down. * `memory_per_oracle_compute_unit_in_gbs` - The amount of memory (in GBs) enabled per OCPU or ECPU. diff --git a/website/docs/r/database_cloud_exadata_infrastructure.html.markdown b/website/docs/r/database_cloud_exadata_infrastructure.html.markdown index 9e7e1ffc252..4f172c66974 100644 --- a/website/docs/r/database_cloud_exadata_infrastructure.html.markdown +++ b/website/docs/r/database_cloud_exadata_infrastructure.html.markdown @@ -51,6 +51,7 @@ resource "oci_database_cloud_exadata_infrastructure" "test_cloud_exadata_infrast } patching_mode = var.cloud_exadata_infrastructure_maintenance_window_patching_mode preference = var.cloud_exadata_infrastructure_maintenance_window_preference + skip_ru = var.cloud_exadata_infrastructure_maintenance_window_skip_ru weeks_of_month = var.cloud_exadata_infrastructure_maintenance_window_weeks_of_month } storage_count = var.cloud_exadata_infrastructure_storage_count @@ -86,6 +87,7 @@ The following arguments are supported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - (Optional) (Updatable) The maintenance window scheduling preference. + * `skip_ru` - (Optional) (Updatable) If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - (Optional) (Updatable) Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `shape` - (Required) The shape of the cloud Exadata infrastructure resource. * `storage_count` - (Optional) (Updatable) The number of storage servers for the cloud Exadata infrastructure. @@ -138,6 +140,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_cpu_count` - The total number of CPU cores available. * `max_data_storage_in_tbs` - The total available DATA disk group size. diff --git a/website/docs/r/database_cloud_vm_cluster.html.markdown b/website/docs/r/database_cloud_vm_cluster.html.markdown index 0ba20b9a55c..8c67832a381 100644 --- a/website/docs/r/database_cloud_vm_cluster.html.markdown +++ b/website/docs/r/database_cloud_vm_cluster.html.markdown @@ -30,6 +30,24 @@ resource "oci_database_cloud_vm_cluster" "test_cloud_vm_cluster" { #Optional backup_network_nsg_ids = var.cloud_vm_cluster_backup_network_nsg_ids + cloud_automation_update_details { + + #Optional + apply_update_time_preference { + + #Optional + apply_update_preferred_end_time = var.cloud_vm_cluster_cloud_automation_update_details_apply_update_time_preference_apply_update_preferred_end_time + apply_update_preferred_start_time = var.cloud_vm_cluster_cloud_automation_update_details_apply_update_time_preference_apply_update_preferred_start_time + } + freeze_period { + + #Optional + freeze_period_end_time = var.cloud_vm_cluster_cloud_automation_update_details_freeze_period_freeze_period_end_time + freeze_period_start_time = var.cloud_vm_cluster_cloud_automation_update_details_freeze_period_freeze_period_start_time + } + is_early_adoption_enabled = var.cloud_vm_cluster_cloud_automation_update_details_is_early_adoption_enabled + is_freeze_period_enabled = var.cloud_vm_cluster_cloud_automation_update_details_is_freeze_period_enabled + } cluster_name = var.cloud_vm_cluster_cluster_name data_collection_options { @@ -72,6 +90,15 @@ The following arguments are supported: * `backup_network_nsg_ids` - (Optional) (Updatable) A list of the [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the network security groups (NSGs) that the backup network of this DB system belongs to. Setting this to an empty array after the list is created removes the resource from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). Applicable only to Exadata systems. * `backup_subnet_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup network subnet associated with the cloud VM cluster. +* `cloud_automation_update_details` - (Optional) (Updatable) Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - (Optional) (Updatable) Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - (Optional) (Updatable) End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - (Optional) (Updatable) Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - (Optional) (Updatable) Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - (Optional) (Updatable) End time of the freeze period cycle. + * `freeze_period_start_time` - (Optional) (Updatable) Start time of the freeze period cycle. + * `is_early_adoption_enabled` - (Optional) (Updatable) Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - (Optional) (Updatable) Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `cloud_exadata_infrastructure_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cloud Exadata infrastructure resource. * `cluster_name` - (Optional) The cluster name for cloud VM cluster. The cluster name must begin with an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. * `compartment_id` - (Required) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. @@ -133,6 +160,15 @@ The following attributes are exported: * `backup_subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup network subnet associated with the cloud VM cluster. **Subnet Restriction:** See the subnet restrictions information for **subnetId**. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `cloud_exadata_infrastructure_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cloud Exadata infrastructure. * `cluster_name` - The cluster name for cloud VM cluster. The cluster name must begin with an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. diff --git a/website/docs/r/database_db_system.html.markdown b/website/docs/r/database_db_system.html.markdown index 59f4211e489..7e9959478a9 100644 --- a/website/docs/r/database_db_system.html.markdown +++ b/website/docs/r/database_db_system.html.markdown @@ -140,6 +140,7 @@ resource "oci_database_db_system" "test_db_system" { } patching_mode = var.db_system_maintenance_window_details_patching_mode preference = var.db_system_maintenance_window_details_preference + skip_ru = var.db_system_maintenance_window_details_skip_ru weeks_of_month = var.db_system_maintenance_window_details_weeks_of_month } node_count = var.db_system_node_count @@ -274,6 +275,7 @@ The following arguments are supported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - (Applicable when source=NONE) (Updatable) The maintenance window scheduling preference. + * `skip_ru` - (Applicable when source=NONE) (Updatable) If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - (Applicable when source=NONE) (Updatable) Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `node_count` - (Optional) The number of nodes to launch for a 2-node RAC virtual machine DB system. Specify either 1 or 2. * `nsg_ids` - (Optional) (Updatable) The list of [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) for the network security groups (NSGs) to which this resource belongs. Setting this to an empty list removes all resources from all NSGs. For more information about NSGs, see [Security Rules](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/securityrules.htm). **NsgIds restrictions:** @@ -360,6 +362,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `memory_size_in_gbs` - Memory allocated to the DB system, in gigabytes. * `next_maintenance_run_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the next maintenance run. diff --git a/website/docs/r/database_exadata_infrastructure.html.markdown b/website/docs/r/database_exadata_infrastructure.html.markdown index 7abc59b426b..eb5564dd252 100644 --- a/website/docs/r/database_exadata_infrastructure.html.markdown +++ b/website/docs/r/database_exadata_infrastructure.html.markdown @@ -68,6 +68,7 @@ resource "oci_database_exadata_infrastructure" "test_exadata_infrastructure" { } patching_mode = var.exadata_infrastructure_maintenance_window_patching_mode preference = var.exadata_infrastructure_maintenance_window_preference + skip_ru = var.exadata_infrastructure_maintenance_window_skip_ru weeks_of_month = var.exadata_infrastructure_maintenance_window_weeks_of_month } multi_rack_configuration_file = var.exadata_infrastructure_multi_rack_configuration_file @@ -122,6 +123,7 @@ The following arguments are supported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - (Optional) (Updatable) The maintenance window scheduling preference. + * `skip_ru` - (Optional) (Updatable) If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - (Optional) (Updatable) Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `multi_rack_configuration_file` - (Optional) (Updatable) The base64 encoded Multi-Rack configuration json file. * `netmask` - (Required) (Updatable) The netmask for the control plane network. @@ -195,6 +197,7 @@ The following attributes are exported: *IMPORTANT*: Non-rolling infrastructure patching involves system down time. See [Oracle-Managed Infrastructure Maintenance Updates](https://docs.cloud.oracle.com/iaas/Content/Database/Concepts/examaintenance.htm#Oracle) for more information. * `preference` - The maintenance window scheduling preference. + * `skip_ru` - If true, skips the release update (RU) for the quarter. You cannot skip two consecutive quarters. An RU skip request will only be honoured if the current version of the Autonomous Container Database is supported for current quarter. * `weeks_of_month` - Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. * `max_cpu_count` - The total number of CPU cores available. * `max_data_storage_in_tbs` - The total available DATA disk group size. diff --git a/website/docs/r/database_vm_cluster.html.markdown b/website/docs/r/database_vm_cluster.html.markdown index 7d972a5bd4f..b44cadb490f 100644 --- a/website/docs/r/database_vm_cluster.html.markdown +++ b/website/docs/r/database_vm_cluster.html.markdown @@ -27,6 +27,24 @@ resource "oci_database_vm_cluster" "test_vm_cluster" { vm_cluster_network_id = oci_database_vm_cluster_network.test_vm_cluster_network.id #Optional + cloud_automation_update_details { + + #Optional + apply_update_time_preference { + + #Optional + apply_update_preferred_end_time = var.vm_cluster_cloud_automation_update_details_apply_update_time_preference_apply_update_preferred_end_time + apply_update_preferred_start_time = var.vm_cluster_cloud_automation_update_details_apply_update_time_preference_apply_update_preferred_start_time + } + freeze_period { + + #Optional + freeze_period_end_time = var.vm_cluster_cloud_automation_update_details_freeze_period_freeze_period_end_time + freeze_period_start_time = var.vm_cluster_cloud_automation_update_details_freeze_period_freeze_period_start_time + } + is_early_adoption_enabled = var.vm_cluster_cloud_automation_update_details_is_early_adoption_enabled + is_freeze_period_enabled = var.vm_cluster_cloud_automation_update_details_is_freeze_period_enabled + } data_collection_options { #Optional @@ -58,6 +76,15 @@ resource "oci_database_vm_cluster" "test_vm_cluster" { The following arguments are supported: +* `cloud_automation_update_details` - (Optional) (Updatable) Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - (Optional) (Updatable) Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - (Optional) (Updatable) End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - (Optional) (Updatable) Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - (Optional) (Updatable) Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - (Optional) (Updatable) End time of the freeze period cycle. + * `freeze_period_start_time` - (Optional) (Updatable) Start time of the freeze period cycle. + * `is_early_adoption_enabled` - (Optional) (Updatable) Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - (Optional) (Updatable) Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `compartment_id` - (Required) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. * `cpu_core_count` - (Required) (Updatable) The number of CPU cores to enable for the VM cluster. *Note:* If `cpu_core_count` is modified in `DISCONNECTED` state, the provider could experience a drift in Terraform state. To remediate this, refresh your Terraform state and update the configuration file when the Oracle Cloud Infrastructure connection is established. * `data_collection_options` - (Optional) (Updatable) Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS. @@ -94,6 +121,15 @@ Any change to a property that does not support update will force the destruction The following attributes are exported: * `availability_domain` - The name of the availability domain that the VM cluster is located in. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. * `cpus_enabled` - The number of enabled CPU cores. * `data_collection_options` - Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS. diff --git a/website/docs/r/database_vm_cluster_add_virtual_machine.html.markdown b/website/docs/r/database_vm_cluster_add_virtual_machine.html.markdown index 2c955b398c2..83ccf53d6a5 100644 --- a/website/docs/r/database_vm_cluster_add_virtual_machine.html.markdown +++ b/website/docs/r/database_vm_cluster_add_virtual_machine.html.markdown @@ -45,6 +45,15 @@ Any change to a property that does not support update will force the destruction The following attributes are exported: * `availability_domain` - The name of the availability domain that the VM cluster is located in. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. * `cpus_enabled` - The number of enabled CPU cores. * `data_collection_options` - Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS. diff --git a/website/docs/r/database_vm_cluster_remove_virtual_machine.html.markdown b/website/docs/r/database_vm_cluster_remove_virtual_machine.html.markdown index 58f21149c33..f10f0fcd25a 100644 --- a/website/docs/r/database_vm_cluster_remove_virtual_machine.html.markdown +++ b/website/docs/r/database_vm_cluster_remove_virtual_machine.html.markdown @@ -43,6 +43,15 @@ Any change to a property that does not support update will force the destruction The following attributes are exported: * `availability_domain` - The name of the availability domain that the VM cluster is located in. +* `cloud_automation_update_details` - Specifies the properties necessary for cloud automation updates. This includes modifying the apply update time preference, enabling or disabling early adoption, and enabling, modifying, or disabling the update freeze period. + * `apply_update_time_preference` - Configure the time slot for applying VM cloud automation software updates to the cluster. When nothing is selected, the default time slot is 12 AM to 2 AM UTC. Any 2-hour slot is available starting at 12 AM. + * `apply_update_preferred_end_time` - End time for polling VM cloud automation software updates for the cluster. If the endTime is not specified, 2 AM UTC is used by default. + * `apply_update_preferred_start_time` - Start time for polling VM cloud automation software updates for the cluster. If the startTime is not specified, 12 AM UTC is used by default. + * `freeze_period` - Enables a freeze period for the VM cluster prohibiting the VMs from getting cloud automation software updates during critical business cycles. Freeze period start date. Starts at 12:00 AM UTC on the selected date and ends at 11:59:59 PM UTC on the selected date. Validates to ensure the freeze period does not exceed 45 days. + * `freeze_period_end_time` - End time of the freeze period cycle. + * `freeze_period_start_time` - Start time of the freeze period cycle. + * `is_early_adoption_enabled` - Annotates whether the cluster should be part of early access to apply VM cloud automation software updates. Those clusters annotated as early access will download the software bits for cloud automation in the first week after the update is available, while other clusters will have to wait until the following week. + * `is_freeze_period_enabled` - Specifies if the freeze period is enabled for the VM cluster to prevent the VMs from receiving cloud automation software updates during critical business cycles. Freeze period starts at 12:00 AM UTC and ends at 11:59:59 PM UTC on the selected date. Ensure that the freezing period does not exceed 45 days. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment. * `cpus_enabled` - The number of enabled CPU cores. * `data_collection_options` - Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS. diff --git a/website/docs/r/desktops_desktop_pool.html.markdown b/website/docs/r/desktops_desktop_pool.html.markdown index cd43af03a02..2bc67f4a5e7 100644 --- a/website/docs/r/desktops_desktop_pool.html.markdown +++ b/website/docs/r/desktops_desktop_pool.html.markdown @@ -49,6 +49,9 @@ resource "oci_desktops_desktop_pool" "test_desktop_pool" { #Required image_id = oci_core_image.test_image.id image_name = var.desktop_pool_image_image_name + + #Optional + operating_system = var.desktop_pool_image_operating_system } is_storage_enabled = var.desktop_pool_is_storage_enabled maximum_size = var.desktop_pool_maximum_size @@ -67,8 +70,24 @@ resource "oci_desktops_desktop_pool" "test_desktop_pool" { description = var.desktop_pool_description freeform_tags = {"Department"= "Finance"} nsg_ids = var.desktop_pool_nsg_ids + shape_config { + + #Optional + baseline_ocpu_utilization = var.desktop_pool_shape_config_baseline_ocpu_utilization + memory_in_gbs = var.desktop_pool_shape_config_memory_in_gbs + ocpus = var.desktop_pool_shape_config_ocpus + } + private_access_details { + #Required + subnet_id = oci_core_subnet.test_subnet.id + + #Optional + nsg_ids = var.desktop_pool_private_access_details_nsg_ids + private_ip = var.desktop_pool_private_access_details_private_ip + } time_start_scheduled = var.desktop_pool_time_start_scheduled time_stop_scheduled = var.desktop_pool_time_stop_scheduled + use_dedicated_vm_host = var.desktop_pool_use_dedicated_vm_host } ``` @@ -102,18 +121,34 @@ The following arguments are supported: * `image` - (Required) Provides information about the desktop image. * `image_id` - (Required) The OCID of the desktop image. * `image_name` - (Required) The name of the desktop image. + * `operating_system` - (Optional) The operating system of the desktop image, e.g. "Oracle Linux", "Windows". * `is_storage_enabled` - (Required) Indicates whether storage is enabled for the desktop pool. * `maximum_size` - (Required) (Updatable) The maximum number of desktops permitted in the desktop pool. * `network_configuration` - (Required) Provides information about the network configuration of the desktop pool. - * `subnet_id` - (Required) The OCID of the subnet to use for the desktop pool. - * `vcn_id` - (Required) The OCID of the VCN used by the desktop pool. -* `nsg_ids` - (Optional) A list of network security groups for the desktop pool. + * `subnet_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - (Optional) A list of network security groups for the private access. +* `shape_config` - (Optional) The compute instance shape configuration requested for each desktop in the desktop pool. + * `baseline_ocpu_utilization` - (Optional) The baseline OCPU utilization for a subcore burstable VM instance used for each desktop compute instance in the desktop pool. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with `BASELINE_1_1`. The following values are supported: + * `BASELINE_1_8` - baseline usage is 1/8 of an OCPU. + * `BASELINE_1_2` - baseline usage is 1/2 of an OCPU. + * `BASELINE_1_1` - baseline usage is the entire OCPU. This represents a non-burstable instance. + * `memory_in_gbs` - (Optional) The total amount of memory available in gigabytes for each desktop compute instance in the desktop pool. + * `ocpus` - (Optional) The total number of OCPUs available for each desktop compute instance in the desktop pool. + * `subnet_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - (Optional) A list of network security groups for the private access. +* `private_access_details` - (Optional) The details of the desktop's private access network connectivity to be set up for the desktop pool. + * `nsg_ids` - (Optional) A list of network security groups for the private access. + * `private_ip` - (Optional) The IPv4 address from the provided Oracle Cloud Infrastructure subnet which needs to be assigned to the VNIC. If not provided, it will be auto-assigned with an available IPv4 address from the subnet. + * `subnet_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. * `shape_name` - (Required) The shape of the desktop pool. * `standby_size` - (Required) (Updatable) The maximum number of standby desktops available in the desktop pool. * `storage_backup_policy_id` - (Required) The backup policy OCID of the storage. * `storage_size_in_gbs` - (Required) The size in GBs of the storage for the desktop pool. * `time_start_scheduled` - (Optional) (Updatable) The start time of the desktop pool. * `time_stop_scheduled` - (Optional) (Updatable) The stop time of the desktop pool. +* `use_dedicated_vm_host` - (Optional) Indicates whether the desktop pool uses dedicated virtual machine hosts. ** IMPORTANT ** @@ -151,12 +186,29 @@ The following attributes are exported: * `image` - Provides information about the desktop image. * `image_id` - The OCID of the desktop image. * `image_name` - The name of the desktop image. + * `operating_system` - The operating system of the desktop image, e.g. "Oracle Linux", "Windows". * `is_storage_enabled` - Indicates whether storage is enabled for the desktop pool. * `maximum_size` - The maximum number of desktops permitted in the desktop pool. * `network_configuration` - Provides information about the network configuration of the desktop pool. - * `subnet_id` - The OCID of the subnet to use for the desktop pool. - * `vcn_id` - The OCID of the VCN used by the desktop pool. -* `nsg_ids` - A list of network security groups for the desktop pool. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - A list of network security groups for the network. +* `shape_config` - The shape configuration used for each desktop compute instance in the desktop pool. + * `baseline_ocpu_utilization` - The baseline OCPU utilization for a subcore burstable VM instance used for each desktop compute instance in the desktop pool. Leave this attribute blank for a non-burstable instance, or explicitly specify non-burstable with `BASELINE_1_1`. The following values are supported: + * `BASELINE_1_8` - baseline usage is 1/8 of an OCPU. + * `BASELINE_1_2` - baseline usage is 1/2 of an OCPU. + * `BASELINE_1_1` - baseline usage is the entire OCPU. This represents a non-burstable instance. + * `memory_in_gbs` - The total amount of memory available in gigabytes for each desktop compute instance in the desktop pool. + * `ocpus` - The total number of OCPUs available for each desktop compute instance in the desktop pool. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. +* `nsg_ids` - A list of network security groups for the network. +* `private_access_details` - The details of the desktop's private access network connectivity that were used to create the pool. + * `endpoint_fqdn` - The three-label FQDN to use for the private endpoint. The customer VCN's DNS records are updated with this FQDN. This enables the customer to use the FQDN instead of the private endpoint's private IP address to access the service (for example, xyz.oraclecloud.com). + * `nsg_ids` - A list of network security groups for the private access. + * `private_ip` - The IPv4 address from the provided Oracle Cloud Infrastructure subnet which needs to be assigned to the VNIC. If not provided, it will be auto-assigned with an available IPv4 address from the subnet. + * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet in the customer VCN where the connectivity will be established. + * `vcn_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the customer VCN. * `shape_name` - The shape of the desktop pool. * `standby_size` - The maximum number of standby desktops available in the desktop pool. * `state` - The current state of the desktop pool. @@ -165,6 +217,7 @@ The following attributes are exported: * `time_created` - The date and time the resource was created. * `time_start_scheduled` - The start time of the desktop pool. * `time_stop_scheduled` - The stop time of the desktop pool. +* `use_dedicated_vm_host` - Indicates whether the desktop pool uses dedicated virtual machine hosts. ## Timeouts diff --git a/website/docs/r/fusion_apps_fusion_environment.html.markdown b/website/docs/r/fusion_apps_fusion_environment.html.markdown index 5124b74c967..2cfb6ce84ae 100644 --- a/website/docs/r/fusion_apps_fusion_environment.html.markdown +++ b/website/docs/r/fusion_apps_fusion_environment.html.markdown @@ -24,8 +24,10 @@ resource "oci_fusion_apps_fusion_environment" "test_fusion_environment" { email_address = var.fusion_environment_create_fusion_environment_admin_user_details_email_address first_name = var.fusion_environment_create_fusion_environment_admin_user_details_first_name last_name = var.fusion_environment_create_fusion_environment_admin_user_details_last_name - password = var.fusion_environment_create_fusion_environment_admin_user_details_password username = var.fusion_environment_create_fusion_environment_admin_user_details_username + + #Optional + password = var.fusion_environment_create_fusion_environment_admin_user_details_password } display_name = var.fusion_environment_display_name fusion_environment_family_id = oci_fusion_apps_fusion_environment_family.test_fusion_environment_family.id @@ -68,7 +70,7 @@ The following arguments are supported: * `email_address` - (Required) The email address for the administrator. * `first_name` - (Required) The administrator's first name. * `last_name` - (Required) The administrator's last name. - * `password` - (Required) The password for the administrator. + * `password` - (Optional) The password for the administrator. * `username` - (Required) The username for the administrator. * `defined_tags` - (Optional) (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` * `display_name` - (Required) (Updatable) FusionEnvironment Identifier can be renamed. diff --git a/website/docs/r/fusion_apps_fusion_environment_admin_user.html.markdown b/website/docs/r/fusion_apps_fusion_environment_admin_user.html.markdown index faf201eceed..82711e1c6de 100644 --- a/website/docs/r/fusion_apps_fusion_environment_admin_user.html.markdown +++ b/website/docs/r/fusion_apps_fusion_environment_admin_user.html.markdown @@ -21,8 +21,10 @@ resource "oci_fusion_apps_fusion_environment_admin_user" "test_fusion_environmen first_name = var.fusion_environment_admin_user_first_name fusion_environment_id = oci_fusion_apps_fusion_environment.test_fusion_environment.id last_name = var.fusion_environment_admin_user_last_name - password = var.fusion_environment_admin_user_password username = var.fusion_environment_admin_user_username + + #Optional + password = var.fusion_environment_admin_user_password } ``` @@ -34,7 +36,7 @@ The following arguments are supported: * `first_name` - (Required) The administrator's first name. * `fusion_environment_id` - (Required) unique FusionEnvironment identifier * `last_name` - (Required) The administrator's last name. -* `password` - (Required) The password for the administrator. +* `password` - (Optional) The password for the administrator. * `username` - (Required) The username for the administrator. diff --git a/website/docs/r/load_balancer_listener.html.markdown b/website/docs/r/load_balancer_listener.html.markdown index 8d69efd82dd..51aa3e81f24 100644 --- a/website/docs/r/load_balancer_listener.html.markdown +++ b/website/docs/r/load_balancer_listener.html.markdown @@ -29,6 +29,7 @@ resource "oci_load_balancer_listener" "test_listener" { idle_timeout_in_seconds = var.listener_connection_configuration_idle_timeout_in_seconds #Optional + backend_tcp_proxy_protocol_options = var.listener_connection_configuration_backend_tcp_proxy_protocol_options backend_tcp_proxy_protocol_version = var.listener_connection_configuration_backend_tcp_proxy_protocol_version } hostname_names = [oci_load_balancer_hostname.test_hostname.name] @@ -55,6 +56,7 @@ resource "oci_load_balancer_listener" "test_listener" { The following arguments are supported: * `connection_configuration` - (Optional) (Updatable) Configuration details for the connection between the client and backend servers. + * `backend_tcp_proxy_protocol_options` - (Optional) (Updatable) An array that represents the PPV2 Options that can be enabled on TCP Listeners. Example: ["PP2_TYPE_AUTHORITY"] * `backend_tcp_proxy_protocol_version` - (Required when `protocol` = `TCP`) (Updatable) The backend TCP Proxy Protocol version. Example: `1` * `idle_timeout_in_seconds` - (Required) (Updatable) The maximum idle time, in seconds, allowed between two successive receive or two successive send operations between the client and backend servers. A send operation does not reset the timer for receive operations. A receive operation does not reset the timer for send operations. diff --git a/website/docs/r/opsi_database_insight.html.markdown b/website/docs/r/opsi_database_insight.html.markdown index 83a0ffd5813..f437a8dd1d8 100644 --- a/website/docs/r/opsi_database_insight.html.markdown +++ b/website/docs/r/opsi_database_insight.html.markdown @@ -19,6 +19,11 @@ Create a Database Insight resource for a Enterprise Manager(EM) managed database resource "oci_opsi_database_insight" "test_database_insight" { #Required compartment_id = var.compartment_id + database_id = oci_database_database.test_database.id + database_resource_type = var.database_insight_database_resource_type + entity_source = var.database_insight_entity_source + + #Optional connection_details { #Required protocol = var.database_insight_connection_details_protocol @@ -59,8 +64,6 @@ resource "oci_opsi_database_insight" "test_database_insight" { user_name = oci_identity_user.test_user.name wallet_secret_id = oci_vault_secret.test_secret.id } - database_id = oci_database_database.test_database.id - database_resource_type = var.database_insight_database_resource_type dbm_private_endpoint_id = oci_dataflow_private_endpoint.test_private_endpoint.id defined_tags = {"foo-namespace.bar-key"= "value"} deployment_type = var.database_insight_deployment_type @@ -114,6 +117,7 @@ The following arguments are supported: * `entity_source` - (Required) (Updatable) Source of the database entity. * `exadata_insight_id` - (Applicable when entity_source=EM_MANAGED_EXTERNAL_DATABASE) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata insight. * `freeform_tags` - (Optional) (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` +* `is_advanced_features_enabled` - (Required when entity_source=AUTONOMOUS_DATABASE) Flag is to identify if advanced features for autonomous database is enabled or not * `management_agent_id` - (Required when entity_source=MACS_MANAGED_CLOUD_DATABASE | MACS_MANAGED_EXTERNAL_DATABASE) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Management Agent * `opsi_private_endpoint_id` - (Applicable when entity_source=AUTONOMOUS_DATABASE | PE_COMANAGED_DATABASE) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the OPSI private endpoint * `dbm_private_endpoint_id` - (Applicable when entity_source=PE_COMANAGED_DATABASE) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Database Management private endpoint. This field and opsi_private_endpoint_id are mutually exclusive. If DBM private endpoint ID is provided, a new OPSI private endpoint ID will be created. @@ -131,27 +135,27 @@ The following attributes are exported: * `compartment_id` - Compartment identifier of the database * `connection_credential_details` - User credential details to connect to the database. This is supplied via the External Database Service. * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. -* `credential_type` - Credential type. +* `credential_type` - CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. * `role` - database user role. * `user_name` - database user name. * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. * `connection_details` - Connection details to connect to the database. HostName, protocol, and port should be specified. -* `host_name` - Name of the listener host that will be used to create the connect string to the database. -* `hosts` - List of hosts and port for private endpoint accessed database resource. - * `host_ip` - Host IP used for connection requests for Cloud DB resource. - * `port` - Listener port number used for connection requests for rivate endpoint accessed db resource. -* `port` - Listener port number used for connection requests. -* `protocol` - Protocol used for connection requests for private endpoint accssed database resource. -* `service_name` - Database service name used for connection requests. + * `host_name` - Name of the listener host that will be used to create the connect string to the database. + * `hosts` - List of hosts and port for private endpoint accessed database resource. + * `host_ip` - Host IP used for connection requests for Cloud DB resource. + * `port` - Listener port number used for connection requests for rivate endpoint accessed db resource. + * `port` - Listener port number used for connection requests. + * `protocol` - Protocol used for connection requests for private endpoint accssed database resource. + * `service_name` - Database service name used for connection requests. * `connector_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of External Database Connector * `credential_details` - User credential details to connect to the database. * `credential_source_name` - Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. -* `credential_type` - Credential type. -* `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. -* `role` - database user role. -* `user_name` - database user name. -* `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. +* `credential_type` - CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. + * `password_secret_id` - The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. + * `role` - database user role. + * `user_name` - database user name. + * `wallet_secret_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. * `database_connection_status_details` - A message describing the status of the database connection of this resource. For example, it can be used to provide actionable information about the permission and content validity of the database connection. * `database_display_name` - Display name of database * `database_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the database. diff --git a/website/docs/r/opsi_exadata_insight.html.markdown b/website/docs/r/opsi_exadata_insight.html.markdown index 00f05342576..cfe4fba476a 100644 --- a/website/docs/r/opsi_exadata_insight.html.markdown +++ b/website/docs/r/opsi_exadata_insight.html.markdown @@ -126,12 +126,12 @@ The following arguments are supported: * `protocol` - (Required when entity_source=MACS_MANAGED_CLOUD_EXADATA | PE_COMANAGED_EXADATA) Protocol used for connection requests for private endpoint accssed database resource. * `service_name` - (Required when entity_source=MACS_MANAGED_CLOUD_EXADATA | PE_COMANAGED_EXADATA) Database service name used for connection requests. * `credential_details` - (Required when entity_source=PE_COMANAGED_EXADATA) User credential details to connect to the database. - * `credential_source_name` - (Required when entity_source=PE_COMANAGED_EXADATA) Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. - * `credential_type` - (Required) Credential type. - * `password_secret_id` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. - * `role` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) database user role. - * `user_name` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) database user name. - * `wallet_secret_id` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored. This is used for TCPS support in BM/VM/ExaCS cases. + * `credential_source_name` - (Required when entity_source=PE_COMANAGED_EXADATA) Credential source name that had been added in Management Agent wallet. This is supplied in the External Database Service. + * `credential_type` - (Required) CREDENTIALS_BY_SOURCE is supplied via the External Database Service. CREDENTIALS_BY_VAULT is supplied by secret service to connection PE_COMANAGED_DATABASE and ADB as well. CREDENTIALS_BY_IAM is used db-token to connect only for Autonomous Database. + * `password_secret_id` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) The secret [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) mapping to the database credentials. + * `role` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) database user role. + * `user_name` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) database user name. + * `wallet_secret_id` - (Applicable when credential_type=CREDENTIALS_BY_VAULT) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Secret where the database keystore contents are stored.This is used for TCPS support in BM/VM/ExaCS cases. * `database_id` - (Required when entity_source=MACS_MANAGED_CLOUD_EXADATA | PE_COMANAGED_EXADATA) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the database. * `database_resource_type` - (Required when entity_source=MACS_MANAGED_CLOUD_EXADATA | PE_COMANAGED_EXADATA) Oracle Cloud Infrastructure database resource type * `dbm_private_endpoint_id` - (Applicable when entity_source=PE_COMANAGED_EXADATA) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Database Management private endpoint diff --git a/website/docs/r/opsi_host_insight.html.markdown b/website/docs/r/opsi_host_insight.html.markdown index fb2c70cf104..1d7937cba41 100644 --- a/website/docs/r/opsi_host_insight.html.markdown +++ b/website/docs/r/opsi_host_insight.html.markdown @@ -82,6 +82,7 @@ The following attributes are exported: * `platform_name` - Platform name. * `platform_type` - Platform type. Supported platformType(s) for MACS-managed external host insight: [LINUX, SOLARIS, WINDOWS]. Supported platformType(s) for MACS-managed cloud host insight: [LINUX]. Supported platformType(s) for EM-managed external host insight: [LINUX, SOLARIS, SUNOS, ZLINUX, WINDOWS, AIX]. * `platform_version` - Platform version. +* `root_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Infrastructure. This is the OCPU count for Autonomous Database and CPU core count for other database types. * `root_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Exadata Infrastructure. * `state` - The current state of the host. * `status` - Indicates the status of a host insight in Operations Insights diff --git a/website/docs/r/stack_monitoring_maintenance_window.html.markdown b/website/docs/r/stack_monitoring_maintenance_window.html.markdown new file mode 100644 index 00000000000..eb0ffd48920 --- /dev/null +++ b/website/docs/r/stack_monitoring_maintenance_window.html.markdown @@ -0,0 +1,110 @@ +--- +subcategory: "Stack Monitoring" +layout: "oci" +page_title: "Oracle Cloud Infrastructure: oci_stack_monitoring_maintenance_window" +sidebar_current: "docs-oci-resource-stack_monitoring-maintenance_window" +description: |- + Provides the Maintenance Window resource in Oracle Cloud Infrastructure Stack Monitoring service +--- + +# oci_stack_monitoring_maintenance_window +This resource provides the Maintenance Window resource in Oracle Cloud Infrastructure Stack Monitoring service. + +Creates a new Maintenance Window for the given resources. It will create also the +Alarms Suppression for each alarm that the resource migth trigger. + + +## Example Usage + +```hcl +resource "oci_stack_monitoring_maintenance_window" "test_maintenance_window" { + #Required + compartment_id = var.compartment_id + name = var.maintenance_window_name + resources { + #Required + resource_id = oci_cloud_guard_resource.test_resource.id + + #Optional + are_members_included = var.maintenance_window_resources_are_members_included + } + schedule { + #Required + schedule_type = var.maintenance_window_schedule_schedule_type + + #Optional + maintenance_window_duration = var.maintenance_window_schedule_maintenance_window_duration + maintenance_window_recurrences = var.maintenance_window_schedule_maintenance_window_recurrences + time_maintenance_window_end = var.maintenance_window_schedule_time_maintenance_window_end + time_maintenance_window_start = var.maintenance_window_schedule_time_maintenance_window_start + } + + #Optional + description = var.maintenance_window_description +} +``` + +## Argument Reference + +The following arguments are supported: + +* `compartment_id` - (Required) Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). +* `description` - (Optional) (Updatable) Maintenance Window description. +* `name` - (Required) Maintenance Window name. +* `resources` - (Required) (Updatable) List of resource Ids which are part of the Maintenance Window + * `are_members_included` - (Optional) (Updatable) Flag to indicate if the members of the resource has to be include in the Maintenance Window. + * `resource_id` - (Required) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. +* `schedule` - (Required) (Updatable) Schedule information of the Maintenance Window + * `maintenance_window_duration` - (Applicable when schedule_type=RECURRENT) (Updatable) Duration time of each recurrence of each Maintenance Window. It must be specified as a string in ISO 8601 extended format. + * `maintenance_window_recurrences` - (Required when schedule_type=RECURRENT) (Updatable) A RFC5545 formatted recurrence string which represents the Maintenance Window Recurrence. Please refer this for details:https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 FREQ: Frequency of the Maintenance Window. The supported values are: DAILY and WEEKLY. BYDAY: Comma separated days for Weekly Maintenance Window. BYHOUR: Specifies the start hour of each recurrence after `timeMaintenanceWindowStart` value. BYMINUTE: Specifies the start minute of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 BYSECOND: Specifies the start second of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 Other Rules are not supported. + * `schedule_type` - (Required) (Updatable) Property to identify the type of the Maintenance Window. + * `time_maintenance_window_end` - (Optional) (Updatable) Start time of Maintenance window. A RFC3339 formatted datetime string + * `time_maintenance_window_start` - (Optional) (Updatable) Start time of Maintenance window. A RFC3339 formatted datetime string + + +** IMPORTANT ** +Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values + +## Attributes Reference + +The following attributes are exported: + +* `compartment_id` - Compartment Identifier [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm). +* `description` - Maintenance Window description. +* `id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of maintenance window. +* `lifecycle_details` - Lifecycle Details of the Maintenance Window. +* `name` - Maintenance Window name. +* `resources` - List of resource Ids which are part of the Maintenance Window + * `are_members_included` - Flag to indicate if the members of the resource has to be include in the Maintenance Window. + * `resource_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. +* `resources_details` - List of resource details that are part of the Maintenance Window. + * `name` - Name of the monitored resource + * `number_of_members` - Number of members of the resource + * `resource_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of monitored resource part of the Maintenance window. + * `type` - Type of the monitored resource +* `schedule` - Schedule information of the Maintenance Window + * `maintenance_window_duration` - Duration time of each recurrence of each Maintenance Window. It must be specified as a string in ISO 8601 extended format. + * `maintenance_window_recurrences` - A RFC5545 formatted recurrence string which represents the Maintenance Window Recurrence. Please refer this for details:https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10 FREQ: Frequency of the Maintenance Window. The supported values are: DAILY and WEEKLY. BYDAY: Comma separated days for Weekly Maintenance Window. BYHOUR: Specifies the start hour of each recurrence after `timeMaintenanceWindowStart` value. BYMINUTE: Specifies the start minute of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 BYSECOND: Specifies the start second of each reccurrence after `timeMaintenanceWindowStart` value. The default value is 00 Other Rules are not supported. + * `schedule_type` - Property to identify the type of the Maintenance Window. + * `time_maintenance_window_end` - Start time of Maintenance window. A RFC3339 formatted datetime string + * `time_maintenance_window_start` - Start time of Maintenance window. A RFC3339 formatted datetime string +* `state` - Lifecycle state of the monitored resource. +* `time_created` - The time the the maintenance window was created. An RFC3339 formatted datetime string +* `time_updated` - The time the the mainteance window was updated. An RFC3339 formatted datetime string + +## Timeouts + +The `timeouts` block allows you to specify [timeouts](https://registry.terraform.io/providers/oracle/oci/latest/docs/guides/changing_timeouts) for certain operations: + * `create` - (Defaults to 20 minutes), when creating the Maintenance Window + * `update` - (Defaults to 20 minutes), when updating the Maintenance Window + * `delete` - (Defaults to 20 minutes), when destroying the Maintenance Window + + +## Import + +MaintenanceWindows can be imported using the `id`, e.g. + +``` +$ terraform import oci_stack_monitoring_maintenance_window.test_maintenance_window "id" +``` + diff --git a/website/docs/r/stack_monitoring_maintenance_windows_retry_failed_operation.html.markdown b/website/docs/r/stack_monitoring_maintenance_windows_retry_failed_operation.html.markdown new file mode 100644 index 00000000000..549816c9562 --- /dev/null +++ b/website/docs/r/stack_monitoring_maintenance_windows_retry_failed_operation.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Stack Monitoring" +layout: "oci" +page_title: "Oracle Cloud Infrastructure: oci_stack_monitoring_maintenance_windows_retry_failed_operation" +sidebar_current: "docs-oci-resource-stack_monitoring-maintenance_windows_retry_failed_operation" +description: |- + Provides the Maintenance Windows Retry Failed Operation resource in Oracle Cloud Infrastructure Stack Monitoring service +--- + +# oci_stack_monitoring_maintenance_windows_retry_failed_operation +This resource provides the Maintenance Windows Retry Failed Operation resource in Oracle Cloud Infrastructure Stack Monitoring service. + +Retry the last failed operation. The operation failed will be the most recent one. It won't apply for previous failed operations. + + +## Example Usage + +```hcl +resource "oci_stack_monitoring_maintenance_windows_retry_failed_operation" "test_maintenance_windows_retry_failed_operation" { + #Required + maintenance_window_id = oci_stack_monitoring_maintenance_window.test_maintenance_window.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `maintenance_window_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of maintenance window. + + +** IMPORTANT ** +Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values + +## Attributes Reference + +The following attributes are exported: + + +## Timeouts + +The `timeouts` block allows you to specify [timeouts](https://registry.terraform.io/providers/oracle/oci/latest/docs/guides/changing_timeouts) for certain operations: + * `create` - (Defaults to 20 minutes), when creating the Maintenance Windows Retry Failed Operation + * `update` - (Defaults to 20 minutes), when updating the Maintenance Windows Retry Failed Operation + * `delete` - (Defaults to 20 minutes), when destroying the Maintenance Windows Retry Failed Operation + + +## Import + +MaintenanceWindowsRetryFailedOperation can be imported using the `id`, e.g. + +``` +$ terraform import oci_stack_monitoring_maintenance_windows_retry_failed_operation.test_maintenance_windows_retry_failed_operation "id" +``` + diff --git a/website/docs/r/stack_monitoring_maintenance_windows_stop.html.markdown b/website/docs/r/stack_monitoring_maintenance_windows_stop.html.markdown new file mode 100644 index 00000000000..38849b7d9dd --- /dev/null +++ b/website/docs/r/stack_monitoring_maintenance_windows_stop.html.markdown @@ -0,0 +1,55 @@ +--- +subcategory: "Stack Monitoring" +layout: "oci" +page_title: "Oracle Cloud Infrastructure: oci_stack_monitoring_maintenance_windows_stop" +sidebar_current: "docs-oci-resource-stack_monitoring-maintenance_windows_stop" +description: |- + Provides the Maintenance Windows Stop resource in Oracle Cloud Infrastructure Stack Monitoring service +--- + +# oci_stack_monitoring_maintenance_windows_stop +This resource provides the Maintenance Windows Stop resource in Oracle Cloud Infrastructure Stack Monitoring service. + +Stop a maintenance window before the end time is reached. + + +## Example Usage + +```hcl +resource "oci_stack_monitoring_maintenance_windows_stop" "test_maintenance_windows_stop" { + #Required + maintenance_window_id = oci_stack_monitoring_maintenance_window.test_maintenance_window.id +} +``` + +## Argument Reference + +The following arguments are supported: + +* `maintenance_window_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of maintenance window. + + +** IMPORTANT ** +Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values + +## Attributes Reference + +The following attributes are exported: + + +## Timeouts + +The `timeouts` block allows you to specify [timeouts](https://registry.terraform.io/providers/oracle/oci/latest/docs/guides/changing_timeouts) for certain operations: + * `create` - (Defaults to 20 minutes), when creating the Maintenance Windows Stop + * `update` - (Defaults to 20 minutes), when updating the Maintenance Windows Stop + * `delete` - (Defaults to 20 minutes), when destroying the Maintenance Windows Stop + + +## Import + +MaintenanceWindowsStop can be imported using the `id`, e.g. + +``` +$ terraform import oci_stack_monitoring_maintenance_windows_stop.test_maintenance_windows_stop "id" +``` + diff --git a/website/oci.erb b/website/oci.erb index 3a770a98d70..161b339f547 100644 --- a/website/oci.erb +++ b/website/oci.erb @@ -3175,6 +3175,12 @@
  • oci_database_autonomous_database_regional_wallet_management
  • +
  • + oci_database_autonomous_database_software_image +
  • +
  • + oci_database_autonomous_database_software_images +
  • oci_database_autonomous_database_wallet
  • @@ -3525,6 +3531,9 @@
  • oci_database_autonomous_database_saas_admin_user
  • +
  • + oci_database_autonomous_database_software_image +
  • oci_database_autonomous_database_wallet
  • @@ -8821,6 +8830,12 @@
  • oci_stack_monitoring_discovery_jobs
  • +
  • + oci_stack_monitoring_maintenance_window +
  • +
  • + oci_stack_monitoring_maintenance_windows +
  • oci_stack_monitoring_metric_extension
  • @@ -8865,6 +8880,15 @@
  • oci_stack_monitoring_discovery_job
  • +
  • + oci_stack_monitoring_maintenance_window +
  • +
  • + oci_stack_monitoring_maintenance_windows_retry_failed_operation +
  • +
  • + oci_stack_monitoring_maintenance_windows_stop +
  • oci_stack_monitoring_metric_extension