diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c8e96cc309..9f44ec41eae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ +## 6.34.0 (April 09, 2025) + +### Added +- Support for New API header property to support Dry Run of Function Invocation +- Support for Phase 2 - Add ZeroETL as a resource in Golden Gate Cloud Service +- Support for Ekm-Xrr +- Support for Connector Source/Targets with Private Endpoints +- Support for VCNIP - IP Lifetime support and related feature +- Support for ML Application Service +- Support for Stack Monitoring:Telegraf and Collectd Resources Import +- Support for New OCI Native Service - Lustre File Service (LFS) +- ECPU Support for OPSI Warehouses +### Bug Fix +- BDS Bug Fixes +Issue with Creating Autonomous Database Disaster Recovery Peer from Resource Manager. +- Fix assignPublicIp mapping in core_instance_configuration_resource + +## 6.34.0 (April 09, 2025) + +### Added +- Support for New API header property to support Dry Run of Function Invocation +- Support for Phase 2 - Add ZeroETL as a resource in Golden Gate Cloud Service +- Support for Ekm-Xrr +- Support for Connector Source/Targets with Private Endpoints +- Support for VCNIP - IP Lifetime support and related feature +- Support for ML Application Service +- Support for Stack Monitoring:Telegraf and Collectd Resources Import +- Support for New OCI Native Service - Lustre File Service (LFS) +- ECPU Support for OPSI Warehouses +### Bug Fix +- BDS Bug Fixes +Issue with Creating Autonomous Database Disaster Recovery Peer from Resource Manager. +- Fix assignPublicIp mapping in core_instance_configuration_resource + ## 6.33.0 (April 02, 2025) ### Added diff --git a/examples/README.md b/examples/README.md index 89b8b8d46d3..ae1a5d61825 100644 --- a/examples/README.md +++ b/examples/README.md @@ -147,6 +147,8 @@ This directory contains Terraform configuration files showing how to create spec [![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle/terraform-provider-oci/raw/master/examples/zips/log_analytics.zip) - logging [![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle/terraform-provider-oci/raw/master/examples/zips/logging.zip) +- lustre_file_storage + [![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle/terraform-provider-oci/raw/master/examples/zips/lustre_file_storage.zip) - management_agent [![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle/terraform-provider-oci/raw/master/examples/zips/management_agent.zip) - management_dashboard diff --git a/examples/functions/main.tf b/examples/functions/main.tf index 90f843fd246..f1378b3c064 100644 --- a/examples/functions/main.tf +++ b/examples/functions/main.tf @@ -103,6 +103,7 @@ resource "oci_functions_function" "test_function" { trace_config { is_enabled = var.function_trace_config.is_enabled } + is_dry_run = var.dry_run provisioned_concurrency_config { strategy = "CONSTANT" diff --git a/examples/functions/variables.tf b/examples/functions/variables.tf index 908b285437c..f3aeb1aa525 100644 --- a/examples/functions/variables.tf +++ b/examples/functions/variables.tf @@ -69,6 +69,10 @@ variable "function_image" { variable "function_image_digest" { } +variable "dry_run" { + default = "false" +} + variable "function_trace_config" { type = object({ is_enabled = bool diff --git a/examples/goldengate/Pipeline/main.tf b/examples/goldengate/Pipeline/main.tf index 3b6b6cbf4af..bc35959dc1b 100644 --- a/examples/goldengate/Pipeline/main.tf +++ b/examples/goldengate/Pipeline/main.tf @@ -8,7 +8,7 @@ variable "region" {} variable "source_connection_id" { } variable "target_connection_id" { } variable "display_name" { - default = "Pipeline display Name" + default = "Data fabric pipeline display name" } variable "license_model" { default = "LICENSE_INCLUDED" @@ -26,6 +26,7 @@ provider "oci" { } resource "oci_golden_gate_pipeline" "test_pipeline" { + # Required compartment_id = var.compartment_id display_name = var.display_name license_model = var.license_model diff --git a/examples/kms/ekm/externalVaultReplication/ReplicaExternalVaultMetadata.tf b/examples/kms/ekm/externalVaultReplication/ReplicaExternalVaultMetadata.tf new file mode 100644 index 00000000000..81bf8a8a42a --- /dev/null +++ b/examples/kms/ekm/externalVaultReplication/ReplicaExternalVaultMetadata.tf @@ -0,0 +1,28 @@ +variable "secondary_idcs_account_name_url" { + default = "secondary_idcs_account_name_url" +} + +variable "secondary_private_endpoint_id" { + default = "secondary_private_endpoint_id" +} + +variable "replica_region" { + default = "us-dcc-phoenix-4" +} + +variable vault_id { + default = "vault_id" +} + +variable virtual_vault_id { + default = "virtual_vault_id" +} + +variable "vault_type" { + default = "EXTERNAL" +} + +resource "oci_kms_vault_replication" "test_replication" { + replica_region = var.replica_region + vault_id = var.virtual_vault_id +} \ No newline at end of file diff --git a/examples/kms/ekm/externalVaultReplication/variable.tf b/examples/kms/ekm/externalVaultReplication/variable.tf new file mode 100644 index 00000000000..a6e66abaefc --- /dev/null +++ b/examples/kms/ekm/externalVaultReplication/variable.tf @@ -0,0 +1,33 @@ +variable "tenancy_ocid" { +} + +variable "user_ocid" { +} + +variable "fingerprint" { +} + +variable "private_key_path" { +} + +variable "region" { +} + +variable "compartment_ocid" { +} + +variable "ext_vault" { +} + +variable "ext_key_version_id" { +} + + +provider "oci" { + version = "6.27.0" + tenancy_ocid = var.tenancy_ocid + user_ocid = var.user_ocid + fingerprint = var.fingerprint + private_key_path = var.private_key_path + region = var.region +} \ No newline at end of file diff --git a/examples/lustre_file_storage/README.md b/examples/lustre_file_storage/README.md new file mode 100644 index 00000000000..6c97e6ea8b9 --- /dev/null +++ b/examples/lustre_file_storage/README.md @@ -0,0 +1,6 @@ +# Overview +This is a Terraform configuration that creates the `lustre_file_storage` service on Oracle Cloud Infrastructure. + +The Terraform code is used to create a Resource Manager stack, that creates the required resources and configures the application on the created resources. +## Magic Button +[![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle/terraform-provider-oci/raw/master/examples/zips/lustre_file_storage.zip) \ No newline at end of file diff --git a/examples/lustre_file_storage/description.md b/examples/lustre_file_storage/description.md new file mode 100644 index 00000000000..f0de749a83a --- /dev/null +++ b/examples/lustre_file_storage/description.md @@ -0,0 +1,4 @@ +# Overview +This is a Terraform configuration that creates the `lustre_file_storage` service on Oracle Cloud Infrastructure. + +The Terraform code is used to create a Resource Manager stack, that creates the required resources and configures the application on the created resources. \ No newline at end of file diff --git a/examples/networking/ipv6/reserve_ipv6.tf b/examples/networking/ipv6/reserve_ipv6.tf new file mode 100644 index 00000000000..a29eed01243 --- /dev/null +++ b/examples/networking/ipv6/reserve_ipv6.tf @@ -0,0 +1,29 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +# Create Reserved IPv6 with vnic +resource "oci_core_ipv6" "test_reserve_ipv6" { + vnic_id = data.oci_core_vnic_attachments.instance_vnics.vnic_attachments[0]["vnic_id"] + subnet_id = oci_core_subnet.example_subnet.id + display_name = "reserved_ipv6" + route_table_id = oci_core_vcn.example_vcn.default_route_table_id + lifetime = "RESERVED" +} + +# Create Reserved IPv6 with only subnet +resource "oci_core_ipv6" "test_reserve_ipv6_available" { + subnet_id = oci_core_subnet.example_subnet.id + display_name = "available_reserved_ipv6" + route_table_id = oci_core_vcn.example_vcn.default_route_table_id + lifetime = "RESERVED" +} + +# List IPv6s +data "oci_core_ipv6s" "reserve_ipv6_datasource" { + depends_on = [oci_core_ipv6.test_reserve_ipv6,oci_core_ipv6.test_reserve_ipv6_available] + subnet_id = oci_core_subnet.example_subnet.id +} + +output "reserve_ipv6s" { + value = [data.oci_core_ipv6s.reserve_ipv6_datasource.ipv6s] +} \ No newline at end of file diff --git a/examples/networking/private_ip/reserve_private_ip.tf b/examples/networking/private_ip/reserve_private_ip.tf new file mode 100644 index 00000000000..fb5569e0fd2 --- /dev/null +++ b/examples/networking/private_ip/reserve_private_ip.tf @@ -0,0 +1,29 @@ +// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved. +// Licensed under the Mozilla Public License v2.0 + +# Create Reserve PrivateIP with vnic +resource "oci_core_private_ip" "private_reserve_ip" { + vnic_id = data.oci_core_vnic_attachments.instance_vnics.vnic_attachments[0]["vnic_id"] + display_name = "reserve_private_ip" + route_table_id = oci_core_vcn.example_vcn.default_route_table_id + lifetime = "RESERVED" +} + +# Create Reserve PrivateIP with only subnet +resource "oci_core_private_ip" "private_reserve_ip_available" { + subnet_id = oci_core_subnet.example_subnet.id + display_name = "available_reserve_private_ip" + route_table_id = oci_core_vcn.example_vcn.default_route_table_id + lifetime = "RESERVED" +} + + +# List Private IPs +data "oci_core_private_ips" "reserve_private_ip_datasource" { + depends_on = [oci_core_private_ip.private_reserve_ip, oci_core_private_ip.private_reserve_ip_available] + subnet_id = oci_core_subnet.example_subnet.id +} + +output "private_reserve_ips" { + value = [data.oci_core_private_ips.reserve_private_ip_datasource.private_ips] +} \ No newline at end of file diff --git a/examples/opsi/README.md b/examples/opsi/README.md index 655e4106163..d2992205094 100644 --- a/examples/opsi/README.md +++ b/examples/opsi/README.md @@ -2,5 +2,6 @@ This is a Terraform configuration that creates the OPSI service on Oracle Cloud Infrastructure. The Terraform code is used to create a Resource Manager stack, that creates the required resources and configures the application on the created resources. + ## Magic Button [![Deploy to Oracle Cloud](https://oci-resourcemanager-plugin.plugins.oci.oraclecloud.com/latest/deploy-to-oracle-cloud.svg)](https://cloud.oracle.com/resourcemanager/stacks/create?zipUrl=https://github.com/oracle/terraform-provider-oci/raw/master/examples/zips/opsi.zip) \ No newline at end of file diff --git a/examples/opsi/description.md b/examples/opsi/description.md index ba41397b2c5..1e37dd7086a 100644 --- a/examples/opsi/description.md +++ b/examples/opsi/description.md @@ -1,4 +1,4 @@ # Overview This is a Terraform configuration that creates the OPSI service on Oracle Cloud Infrastructure. -The Terraform code is used to create a Resource Manager stack, that creates the required resources and configures the application on the created resources. \ No newline at end of file +The Terraform code is used to create a Resource Manager stack, that creates the required resources and configures the application on the created resources. diff --git a/examples/zips/adm.zip b/examples/zips/adm.zip index 0bad27d5946..f7c7db356f3 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 68ce636f1a2..308f2892a8c 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 76c3376ed17..7b896b6dff1 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 a33bc2f31e0..1879b744f45 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 018c08da266..26c0d1845f2 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 b3411496784..8dd75fa5d03 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 a798d6d3354..058e0bcdeb4 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 5146528fe33..23f197c3c80 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 75c424aa738..fe52d2f533a 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 0895a1cf252..054b09b6c77 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 ff54a928c0b..95e27b2fd1a 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 9901a359a98..e6ec93521d5 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 3dce2921c72..114145cf66d 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 667bc7cd13c..c24759fb569 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 23c0ad1e8cb..990b18c816b 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 192ffb2eedc..43d5291969d 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 6451f746cb4..80821145689 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 3eafe4214ba..0130e482b96 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 47a6f3e2bde..2b7d5215203 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 7d908c8f589..2fd923ec2ea 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 3441a08c001..4654570d624 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 1ec94f66a92..64ab4fc0fcb 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 bef9866ee90..5ac2d92729b 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 508774b518a..a641be634f2 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 101e37363b1..d295bf578de 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 ee2da01731c..a269efb7f12 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 22d3e2e1757..61de854bcfe 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 365f746cbbe..73db58ca66a 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 0fd9ef9192c..1a1cf89737e 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 7f664884a5a..3bbd90db285 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 d9c2108957b..a950916b208 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 8a693b463fd..26743105edb 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 6e184530e0c..d13b8479445 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 78dd55ab5f5..7577400fd1d 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 0eb8356e179..61d06805c3d 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 12bbc8974ab..b710dca7440 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 e03a1242b51..78ddc38d251 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 ec231ba2549..36e64750c5b 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 07ec522f52a..d4b21599baa 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 347dd7f3a45..147876c61c5 100644 Binary files a/examples/zips/datascience.zip and b/examples/zips/datascience.zip differ diff --git a/examples/zips/dblm.zip b/examples/zips/dblm.zip index 04988457998..8a9f10f33af 100644 Binary files a/examples/zips/dblm.zip and b/examples/zips/dblm.zip differ diff --git a/examples/zips/delegation_management.zip b/examples/zips/delegation_management.zip index e6d8915c5d0..f3b9664358e 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 21e1bbbc249..c647319af2b 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 84964330204..7f90f432a96 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 a10f8fb2380..581c2ac3365 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 ea13d38c23d..67dbb99cb7f 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 3d06f5219c7..67c34606650 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 2043943af3e..fc47eeb13ea 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 52e97a63690..e878f8ed9c2 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 3f937f0827f..aa364ee448a 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 6cd996d53bc..e199d2a4197 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 41321a2dd5e..c1c70aea8c9 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 6fc2dce53c1..7d719328c4c 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 25869ad3ce8..e91015f7920 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 83e82cb13a8..c410635d2f6 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 798e232ef41..6e83d96643f 100644 Binary files a/examples/zips/generative_ai.zip and b/examples/zips/generative_ai.zip differ diff --git a/examples/zips/generative_ai_agent.zip b/examples/zips/generative_ai_agent.zip index 6aa9b562ca1..f6634fbbeb6 100644 Binary files a/examples/zips/generative_ai_agent.zip and b/examples/zips/generative_ai_agent.zip differ diff --git a/examples/zips/globally_distributed_database.zip b/examples/zips/globally_distributed_database.zip index d1d5260f144..f3765002707 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 b40db82320d..52f217f0d35 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 e39966f4a76..5cc8844d00d 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 5f19d484f5e..f90ae7bbf17 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 66c6121c457..c5bb10f56e1 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 99be21b23e4..5dc97a4b249 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 962dba714c0..a5b61ea8c96 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 ddc98e54a9c..a572f9a5235 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 21c79dbe634..4542f53a849 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 3ca4edb7bcb..908a0916074 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 a95e338a9a2..e03ad57d4c7 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 7fa07b2a7d7..38588b0b9c7 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 c688d09e0e6..0e7cdaa0d38 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 cab2db6b653..5e72a137bd9 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 984a7bbe98c..812694050a9 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 cd05bc31c40..972b571c767 100644 Binary files a/examples/zips/logging.zip and b/examples/zips/logging.zip differ diff --git a/examples/zips/lustre_file_storage.zip b/examples/zips/lustre_file_storage.zip new file mode 100644 index 00000000000..93cfcfa730b Binary files /dev/null and b/examples/zips/lustre_file_storage.zip differ diff --git a/examples/zips/management_agent.zip b/examples/zips/management_agent.zip index 1b876078d5f..c38e57e866d 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 a22add310a7..e6b415339ae 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 0003b09b24f..306f3223e95 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 999bd620600..1e54fffeafc 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 2aed47c2dc0..83374dd3c1c 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 7d0bba27663..77a325ef600 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 7d601add5d5..87510549009 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 76c27a321ce..6e33190729d 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 b25419a891d..48af3ae494d 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 5d6c249f025..68dc55dd68c 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 10f1e43f0bb..58175a65eff 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 c50117890c5..64259cb4934 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 7679a266205..c78efebc797 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 fb46112f857..46a88732fae 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 9f13e371908..9336ec44b79 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 ad5a0c3c4f3..ca5947950fc 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 9fda165b645..25bff7c9450 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 3a83153836d..c8310e7016a 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 768c604bc29..ca287f7fa74 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 35ea5f22c58..4a639a3c75a 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 9abbd124368..51b8a01e373 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 b677d10e96a..a37f0cb5d27 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 3ade398f19a..edce096e276 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 0ef45dc3bd2..a9eef8460cf 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 45686a8dbc5..bd5034382e5 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 bd5ad581714..ae1b4c2095a 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 ca7bb146041..3f4665149ec 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 d3a540fc0ae..8db67ad2011 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 4f7cbb79ec1..cd799e4a9f0 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 3c8acc7fe09..a4861f38c6e 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 1071ede20d2..b4604c25d64 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 cc3cd084201..66df8888402 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 94d5b6297e7..3c6c16b6c7d 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 3c4f1b08bb5..3b1e0b3f4fb 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 75be6c7f1f3..d817ed51b45 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 c385f65ea09..dfe0839a3a1 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 46118a6bd70..b37c561662a 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 f9bf1d566de..7883bbb7c63 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 182141f01e0..dc30b7cf119 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 9feb227b1e0..2a793d2b12b 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 46378b07c2c..721002aa71d 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 c398633fd7f..655a1bbc0ce 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 04fa6f44fdb..3e3903330ca 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 65f960f58cd..b90d3f32067 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 fa4956b9153..2a7295abd53 100644 Binary files a/examples/zips/streaming.zip and b/examples/zips/streaming.zip differ diff --git a/examples/zips/tenantmanagercontrolplane.zip b/examples/zips/tenantmanagercontrolplane.zip index 76b0c6d862b..e880bd456fd 100644 Binary files a/examples/zips/tenantmanagercontrolplane.zip and b/examples/zips/tenantmanagercontrolplane.zip differ diff --git a/examples/zips/usage_proxy.zip b/examples/zips/usage_proxy.zip index 2f075362b0e..f29f6df1456 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 f74f4c595d5..444fa254d1a 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 7eb65fa2b9f..7e280a276ba 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 2add992c8e9..8c7be9ab954 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 3aa12cb625a..ab955210929 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 886f7bf283b..8504190c6f3 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 265a90c5343..9ec2eefeb15 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 d4db92ae549..5121062ae54 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 a6b0cc7f5ee..4c56522cf9e 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 8f77ba03aca..a3a2befb084 100644 Binary files a/examples/zips/zpr.zip and b/examples/zips/zpr.zip differ diff --git a/go.mod b/go.mod index b6f45235d21..bb6b980791b 100644 --- a/go.mod +++ b/go.mod @@ -72,6 +72,6 @@ require ( ) // Uncomment this line to get OCI Go SDK from local source instead of github -//replace github.com/oracle/oci-go-sdk => ../../oracle/oci-go-sdk +replace github.com/oracle/oci-go-sdk/v65 v65.88.1 => ./vendor/github.com/oracle/oci-go-sdk go 1.21 diff --git a/go.sum b/go.sum index 9dd56d5d65d..60509eae86b 100644 --- a/go.sum +++ b/go.sum @@ -147,8 +147,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/oracle/oci-go-sdk/v65 v65.88.1 h1:Y9Y5jlQX8oVDe3UN+O4IcQnLN/aQmi4jR1/2RsXMN3M= -github.com/oracle/oci-go-sdk/v65 v65.88.1/go.mod h1:u6XRPsw9tPziBh76K7GrrRXPa8P8W3BQeqJ6ZZt9VLA= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/internal/commonexport/commonexport_functions.go b/internal/commonexport/commonexport_functions.go index 2f39baadb1d..a140266adf8 100644 --- a/internal/commonexport/commonexport_functions.go +++ b/internal/commonexport/commonexport_functions.go @@ -460,11 +460,12 @@ func FindResourcesGeneric(ctx *ResourceDiscoveryContext, tfMeta *TerraformResour return results, nil } } - + utils.Debugf("[DEBUG] Initiating GET Datasource Call for %s compartment %s", tfMeta.DatasourceClass, parent.CompartmentId) if err := datasource.Read(d, clients); err != nil { + utils.Debugf("[DEBUG] GET Datasource Call Failure for %s compartment %s\nError: %s", tfMeta.DatasourceClass, parent.CompartmentId, err) return results, err } - + utils.Debugf("[DEBUG] GET Datasource Call Success for %s compartment %s", tfMeta.DatasourceClass, parent.CompartmentId) if !tfMeta.DiscoversWithSingularDatasource() { // Results are from a plural datasource itemSchema := datasource.Schema[tfMeta.DatasourceItemsAttr] @@ -859,10 +860,11 @@ var CheckDuplicateResourceName = func(terraformName string) string { defer ResourceNameCountLock.Unlock() // Ensure the lock is released even if a panic occurs originalName := terraformName - + utils.Logf("[INFO] Checking Duplicate Resource Name for %s", originalName) // Check if resource already exists for { if _, exists := ResourceNameCount[terraformName]; !exists { + utils.Logf("[INFO] Exiting Duplicate resource name for %s", originalName) break } count := ResourceNameCount[originalName] @@ -871,7 +873,7 @@ var CheckDuplicateResourceName = func(terraformName string) string { } ResourceNameCount[terraformName] = 1 - + utils.Logf("[INFO] Returning Handled Duplicate resource name for %s as %s", originalName, terraformName) return terraformName } diff --git a/internal/globalvar/version.go b/internal/globalvar/version.go index 639c812ace8..cd26066844f 100644 --- a/internal/globalvar/version.go +++ b/internal/globalvar/version.go @@ -7,8 +7,8 @@ import ( "log" ) -const Version = "6.33.0" -const ReleaseDate = "2025-04-02" +const Version = "6.34.0" +const ReleaseDate = "2025-04-13" func PrintVersion() { log.Printf("[INFO] terraform-provider-oci %s\n", Version) diff --git a/internal/integrationtest/core_ipv6_test.go b/internal/integrationtest/core_ipv6_test.go index 5b2ed779507..367d0fedc24 100644 --- a/internal/integrationtest/core_ipv6_test.go +++ b/internal/integrationtest/core_ipv6_test.go @@ -35,33 +35,49 @@ var ( "ipv6id": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_ipv6.test_ipv6.id}`}, } + CoreIpv6DataSourceRepresentation = map[string]interface{}{ + "ip_state": acctest.Representation{RepType: acctest.Optional, Create: `ipState`}, + "lifetime": acctest.Representation{RepType: acctest.Optional, Create: `EPHEMERAL`, Update: `RESERVED`}, + "subnet_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_subnet.test_subnet.id}`}, + "vnic_id": acctest.Representation{RepType: acctest.Optional, Create: `${lookup(data.oci_core_vnic_attachments.t.vnic_attachments[0], "vnic_id")}`}, + "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: CoreIpv6DataSourceFilterRepresentation}} + CoreCoreIpv6DataSourceRepresentation = map[string]interface{}{ "vnic_id": acctest.Representation{RepType: acctest.Optional, Create: `${lookup(data.oci_core_vnic_attachments.t.vnic_attachments[0], "vnic_id")}`}, "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: CoreIpv6DataSourceFilterRepresentation}} + CoreIpv6DataSourceFilterRepresentation = map[string]interface{}{ "name": acctest.Representation{RepType: acctest.Required, Create: `id`}, "values": acctest.Representation{RepType: acctest.Required, Create: []string{`${oci_core_ipv6.test_ipv6.id}`}}, } CoreIpv6Representation = map[string]interface{}{ + "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`}, + "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, + "lifetime": acctest.Representation{RepType: acctest.Optional, Create: `EPHEMERAL`, Update: `RESERVED`}, "route_table_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_route_table.test_route_table.id}`}, "vnic_id": acctest.Representation{RepType: acctest.Required, Create: `${lookup(data.oci_core_vnic_attachments.t.vnic_attachments[0], "vnic_id")}`}, + } + + CoreIpv6Representation2 = map[string]interface{}{ "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`}, "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, - "ip_address": acctest.Representation{RepType: acctest.Optional, Create: `${substr(oci_core_vcn.test_vcn.ipv6cidr_blocks[0], 0, length(oci_core_vcn.test_vcn.ipv6cidr_blocks[0]) - 4)}5901:cede:a617:8bba`}, + "lifetime": acctest.Representation{RepType: acctest.Optional, Create: `EPHEMERAL`, Update: `RESERVED`}, + "route_table_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_route_table.test_route_table.id}`}, } CoreIpv6ResourceDependencies = utils.OciImageIdsVariable + acctest.GenerateResourceFromRepresentationMap("oci_core_instance", "test_instance", acctest.Required, acctest.Create, CoreInstanceRepresentation) + acctest.GenerateResourceFromRepresentationMap("oci_core_route_table", "test_route_table", acctest.Required, acctest.Create, CoreRouteTableRepresentation) + - acctest.GenerateResourceFromRepresentationMap("oci_core_subnet", "test_subnet", acctest.Optional, acctest.Create, acctest.RepresentationCopyWithNewProperties(CoreSubnetRepresentation, map[string]interface{}{ + acctest.GenerateResourceFromRepresentationMap("oci_core_subnet", "test_subnet", acctest.Required, acctest.Create, acctest.RepresentationCopyWithNewProperties(CoreSubnetRepresentation, map[string]interface{}{ "dns_label": acctest.Representation{RepType: acctest.Required, Create: `dnslabel`}, - "ipv6cidr_block": acctest.Representation{RepType: acctest.Optional, Create: `${substr(oci_core_vcn.test_vcn.ipv6cidr_blocks[0], 0, length(oci_core_vcn.test_vcn.ipv6cidr_blocks[0]) - 2)}${64}`}, + "ipv6cidr_block": acctest.Representation{RepType: acctest.Required, Create: `${substr(oci_core_vcn.test_vcn.ipv6cidr_blocks[0], 0, length(oci_core_vcn.test_vcn.ipv6cidr_blocks[0]) - 2)}${64}`}, })) + - acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Create, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Required, acctest.Create, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ "dns_label": acctest.Representation{RepType: acctest.Required, Create: `dnslabel`}, - "is_ipv6enabled": acctest.Representation{RepType: acctest.Optional, Create: `true`}, + "is_ipv6enabled": acctest.Representation{RepType: acctest.Required, Create: `true`}, })) + AvailabilityDomainConfig + DefinedTagsDependencies + ` @@ -99,7 +115,6 @@ func TestCoreIpv6Resource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + CoreIpv6ResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_ipv6", "test_ipv6", acctest.Required, acctest.Create, CoreIpv6Representation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttrSet(resourceName, "vnic_id"), func(s *terraform.State) (err error) { resId, err = acctest.FromInstanceState(s, resourceName, "id") @@ -117,13 +132,10 @@ func TestCoreIpv6Resource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + CoreIpv6ResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_ipv6", "test_ipv6", acctest.Optional, acctest.Create, CoreIpv6Representation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttrSet(resourceName, "compartment_id"), resource.TestCheckResourceAttr(resourceName, "display_name", "displayName"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), - resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttr(resourceName, "lifetime", "EPHEMERAL"), resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), - resource.TestCheckResourceAttrSet(resourceName, "ip_address"), - resource.TestCheckResourceAttrSet(resourceName, "state"), resource.TestCheckResourceAttrSet(resourceName, "subnet_id"), resource.TestCheckResourceAttrSet(resourceName, "time_created"), resource.TestCheckResourceAttrSet(resourceName, "vnic_id"), @@ -149,8 +161,8 @@ func TestCoreIpv6Resource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"), resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttr(resourceName, "lifetime", "RESERVED"), resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), - resource.TestCheckResourceAttrSet(resourceName, "ip_address"), resource.TestCheckResourceAttrSet(resourceName, "state"), resource.TestCheckResourceAttrSet(resourceName, "subnet_id"), resource.TestCheckResourceAttrSet(resourceName, "time_created"), @@ -165,6 +177,33 @@ func TestCoreIpv6Resource_basic(t *testing.T) { }, ), }, + + // verify detach operation + { + Config: config + compartmentIdVariableStr + CoreIpv6ResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_core_ipv6", "test_ipv6", acctest.Optional, acctest.Update, CoreIpv6Representation2), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttrSet(resourceName, "compartment_id"), + resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"), + resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), + resource.TestCheckResourceAttrSet(resourceName, "id"), + resource.TestCheckResourceAttr(resourceName, "lifetime", "RESERVED"), + resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), + resource.TestCheckResourceAttrSet(resourceName, "ip_address"), + resource.TestCheckResourceAttrSet(resourceName, "state"), + resource.TestCheckResourceAttrSet(resourceName, "subnet_id"), + 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 + @@ -172,12 +211,18 @@ func TestCoreIpv6Resource_basic(t *testing.T) { compartmentIdVariableStr + CoreIpv6ResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_ipv6", "test_ipv6", acctest.Optional, acctest.Update, CoreIpv6Representation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttrSet(datasourceName, "vnic_id"), + //resource.TestCheckResourceAttr(datasourceName, "ip_address", "ipAddress"), + //resource.TestCheckResourceAttr(datasourceName, "ip_state", "ipState"), + //resource.TestCheckResourceAttr(datasourceName, "lifetime", "lifetime2"), + //resource.TestCheckResourceAttrSet(datasourceName, "subnet_id"), + //resource.TestCheckResourceAttrSet(datasourceName, "vnic_id"), resource.TestCheckResourceAttr(datasourceName, "ipv6s.#", "1"), resource.TestCheckResourceAttr(datasourceName, "ipv6s.0.display_name", "displayName2"), resource.TestCheckResourceAttr(datasourceName, "ipv6s.0.freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(datasourceName, "ipv6s.0.id"), + resource.TestCheckResourceAttrSet(datasourceName, "ipv6s.0.ip_state"), + resource.TestCheckResourceAttr(datasourceName, "ipv6s.0.lifetime", "RESERVED"), resource.TestCheckResourceAttrSet(datasourceName, "ipv6s.0.route_table_id"), resource.TestCheckResourceAttrSet(datasourceName, "ipv6s.0.ip_address"), resource.TestCheckResourceAttrSet(datasourceName, "ipv6s.0.subnet_id"), @@ -196,6 +241,9 @@ func TestCoreIpv6Resource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "displayName2"), resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "ip_state"), + resource.TestCheckResourceAttr(singularDatasourceName, "lifetime", "RESERVED"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "state"), resource.TestCheckResourceAttrSet(singularDatasourceName, "ip_address"), resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"), resource.TestCheckResourceAttrSet(singularDatasourceName, "route_table_id"), diff --git a/internal/integrationtest/core_private_ip_test.go b/internal/integrationtest/core_private_ip_test.go index 1ec2ddb75af..9af3961d09e 100644 --- a/internal/integrationtest/core_private_ip_test.go +++ b/internal/integrationtest/core_private_ip_test.go @@ -34,6 +34,13 @@ var ( "private_ip_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_private_ip.test_private_ip.id}`}, } + CorePrivateIpDataSourceRepresentation = map[string]interface{}{ + "ip_address": acctest.Representation{RepType: acctest.Optional, Create: `10.0.0.5`}, + "ip_state": acctest.Representation{RepType: acctest.Optional, Create: `ipState`}, + "lifetime": acctest.Representation{RepType: acctest.Optional, Create: `EPHEMERAL`, Update: `RESERVED`}, + "subnet_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_subnet.test_subnet.id}`}, + "vnic_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_vnic_attachment.test_vnic_attachment.id}`}, + "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: CorePrivateIpDataSourceFilterRepresentation}} CoreCorePrivateIpDataSourceRepresentation = map[string]interface{}{ "vnic_id": acctest.Representation{RepType: acctest.Optional, Create: `${lookup(data.oci_core_vnic_attachments.t.vnic_attachments[0], "vnic_id")}`}, "filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: CorePrivateIpDataSourceFilterRepresentation}} @@ -49,6 +56,17 @@ var ( "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, "hostname_label": acctest.Representation{RepType: acctest.Optional, Create: `privateiptestinstance`, Update: `privateiptestinstance2`}, "ip_address": acctest.Representation{RepType: acctest.Optional, Create: `10.0.0.5`}, + "lifetime": acctest.Representation{RepType: acctest.Optional, Create: `EPHEMERAL`, Update: `RESERVED`}, + "route_table_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_route_table.test_route_table.id}`}, + } + + CorePrivateIpRepresentation2 = map[string]interface{}{ + "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`}, + "freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"Department": "Finance"}, Update: map[string]string{"Department": "Accounting"}}, + "hostname_label": acctest.Representation{RepType: acctest.Optional, Create: `privateiptestinstance`, Update: `privateiptestinstance2`}, + "ip_address": acctest.Representation{RepType: acctest.Optional, Create: `10.0.0.5`}, + "lifetime": acctest.Representation{RepType: acctest.Optional, Create: `EPHEMERAL`, Update: `RESERVED`}, "route_table_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_route_table.test_route_table.id}`}, } @@ -119,6 +137,7 @@ func TestCorePrivateIpResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "hostname_label", "privateiptestinstance"), resource.TestCheckResourceAttr(resourceName, "ip_address", "10.0.0.5"), + resource.TestCheckResourceAttr(resourceName, "lifetime", "EPHEMERAL"), resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), resource.TestCheckResourceAttrSet(resourceName, "vnic_id"), @@ -143,6 +162,7 @@ func TestCorePrivateIpResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), resource.TestCheckResourceAttr(resourceName, "hostname_label", "privateiptestinstance2"), resource.TestCheckResourceAttr(resourceName, "ip_address", "10.0.0.5"), + resource.TestCheckResourceAttr(resourceName, "lifetime", "RESERVED"), resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), resource.TestCheckResourceAttrSet(resourceName, "vnic_id"), @@ -155,6 +175,29 @@ func TestCorePrivateIpResource_basic(t *testing.T) { }, ), }, + + // test detach + { + Config: config + compartmentIdVariableStr + CorePrivateIpResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_core_private_ip", "test_private_ip", acctest.Optional, acctest.Update, CorePrivateIpRepresentation2), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"), + resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"), + resource.TestCheckResourceAttr(resourceName, "hostname_label", "privateiptestinstance2"), + resource.TestCheckResourceAttr(resourceName, "ip_address", "10.0.0.5"), + resource.TestCheckResourceAttr(resourceName, "lifetime", "RESERVED"), + resource.TestCheckResourceAttrSet(resourceName, "route_table_id"), + + 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 + @@ -162,7 +205,11 @@ func TestCorePrivateIpResource_basic(t *testing.T) { compartmentIdVariableStr + CorePrivateIpResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_core_private_ip", "test_private_ip", acctest.Optional, acctest.Update, CorePrivateIpRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttrSet(datasourceName, "vnic_id"), + //resource.TestCheckResourceAttr(datasourceName, "ip_address", "ipAddress"), + //resource.TestCheckResourceAttr(datasourceName, "ip_state", "ipState"), + //resource.TestCheckResourceAttr(datasourceName, "lifetime", "lifetime2"), + //resource.TestCheckResourceAttrSet(datasourceName, "subnet_id"), + //resource.TestCheckResourceAttrSet(datasourceName, "vnic_id"), resource.TestCheckResourceAttr(datasourceName, "private_ips.#", "1"), resource.TestCheckResourceAttrSet(datasourceName, "private_ips.0.compartment_id"), @@ -171,7 +218,9 @@ func TestCorePrivateIpResource_basic(t *testing.T) { resource.TestCheckResourceAttr(datasourceName, "private_ips.0.hostname_label", "privateiptestinstance2"), resource.TestCheckResourceAttrSet(datasourceName, "private_ips.0.id"), resource.TestCheckResourceAttr(datasourceName, "private_ips.0.ip_address", "10.0.0.5"), + resource.TestCheckResourceAttrSet(datasourceName, "private_ips.0.ip_state"), resource.TestCheckResourceAttrSet(datasourceName, "private_ips.0.is_primary"), + resource.TestCheckResourceAttr(datasourceName, "private_ips.0.lifetime", "RESERVED"), resource.TestCheckResourceAttrSet(datasourceName, "private_ips.0.route_table_id"), //commenting until service issue resolved //resource.TestCheckResourceAttrSet(datasourceName, "private_ips.0.is_reserved"), @@ -194,7 +243,9 @@ func TestCorePrivateIpResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "hostname_label", "privateiptestinstance2"), resource.TestCheckResourceAttrSet(singularDatasourceName, "id"), resource.TestCheckResourceAttr(singularDatasourceName, "ip_address", "10.0.0.5"), + resource.TestCheckResourceAttrSet(singularDatasourceName, "ip_state"), resource.TestCheckResourceAttrSet(singularDatasourceName, "is_primary"), + resource.TestCheckResourceAttr(singularDatasourceName, "lifetime", "RESERVED"), //resource.TestCheckResourceAttrSet(singularDatasourceName, "is_reserved"), resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"), resource.TestCheckResourceAttrSet(singularDatasourceName, "route_table_id"), diff --git a/internal/integrationtest/functions_invoke_function_test.go b/internal/integrationtest/functions_invoke_function_test.go index a0021d32d35..9b440f25392 100644 --- a/internal/integrationtest/functions_invoke_function_test.go +++ b/internal/integrationtest/functions_invoke_function_test.go @@ -33,6 +33,7 @@ var ( "function_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_functions_function.test_function.id}`}, "invoke_function_body": acctest.Representation{RepType: acctest.Optional, Create: `{\"name\":\"Bob\"}`}, "fn_intent": acctest.Representation{RepType: acctest.Optional, Create: `httprequest`}, + "is_dry_run": acctest.Representation{RepType: acctest.Optional, Create: `false`}, "fn_invoke_type": acctest.Representation{RepType: acctest.Optional, Create: `sync`}, } @@ -47,38 +48,8 @@ var ( acctest.GenerateResourceFromRepresentationMap("oci_core_internet_gateway", "test_internet_gateway", acctest.Required, acctest.Create, CoreInternetGatewayRepresentation) + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Optional, acctest.Create, CoreVcnRepresentation) + DefinedTagsDependencies + - KeyResourceDependencyConfig + - ` - resource "oci_core_security_list" "test_security_list" { - compartment_id = "${var.compartment_id}" - egress_security_rules { - destination = "0.0.0.0/0" - protocol = "6" - } - ingress_security_rules { - protocol = "1" - source = "10.0.1.0/24" - } - vcn_id = "${oci_core_vcn.test_vcn.id}" - } + KeyResourceDependencyConfig - resource "oci_core_subnet" "test_subnet" { - availability_domain = "${lower("${data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name}")}" - cidr_block = "10.0.0.0/16" - compartment_id = "${var.compartment_id}" - defined_tags = "${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}" - dhcp_options_id = "${oci_core_dhcp_options.test_dhcp_options.id}" - display_name = "tf-subnet" - dns_label = "dnslabel" - freeform_tags = { - "Department" = "Accounting" - } - prohibit_public_ip_on_vnic = "false" - route_table_id = "${oci_core_route_table.test_route_table.id}" - security_list_ids = ["${oci_core_security_list.test_security_list.id}"] - vcn_id = "${oci_core_vcn.test_vcn.id}" - } - ` sourceFile *os.File ) @@ -103,7 +74,6 @@ func createTmpSourceFile() (string, error) { // issue-routing-tag: functions/default func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { - t.Skip("Skipping test until functions support async life cycle state transitions.") if httpreplay.ModeRecordReplay() { t.Skip("Skipping TestFunctionsInvokeFunctionResource_basic in HttpReplay mode till json encoding is fixed.") @@ -143,7 +113,7 @@ func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { acctest.GenerateResourceFromRepresentationMap("oci_functions_invoke_function", "test_invoke_function", acctest.Required, acctest.Create, FunctionsInvokeFunctionRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( resource.TestCheckResourceAttrSet(resourceName, "function_id"), - resource.TestCheckResourceAttr(resourceName, "content", "{\"message\":\"Hello v3 World\"}\n"), + resource.TestCheckResourceAttr(resourceName, "content", "{\"message\": \"Hello World\"}"), ), }, @@ -156,7 +126,13 @@ func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { Config: config + compartmentIdVariableStr + imageVariableStr + imageDigestVariableStr + FunctionsInvokeFunctionResourceDependencies + acctest.GenerateResourceFromRepresentationMap("oci_functions_invoke_function", "test_invoke_function", acctest.Optional, acctest.Create, FunctionsInvokeFunctionRepresentation), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttr(resourceName, "content", "{\"message\":\"Hello v3 Bob\"}\n"), + resource.TestCheckResourceAttr(resourceName, "invoke_function_body", "{\"name\":\"Bob\"}"), + resource.TestCheckResourceAttr(resourceName, "fn_intent", "httprequest"), + resource.TestCheckResourceAttr(resourceName, "fn_invoke_type", "sync"), + resource.TestCheckResourceAttrSet(resourceName, "function_id"), + resource.TestCheckResourceAttr(resourceName, "is_dry_run", "false"), + + resource.TestCheckResourceAttr(resourceName, "content", "{\"message\": \"Hello Bob\"}"), func(s *terraform.State) (err error) { resId, err = acctest.FromInstanceState(s, resourceName, "id") if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment { @@ -174,7 +150,7 @@ func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { acctest.GenerateResourceFromRepresentationMap("oci_functions_invoke_function", "test_invoke_function", acctest.Optional, acctest.Create, acctest.GetUpdatedRepresentationCopy("fn_intent", acctest.Representation{RepType: acctest.Optional, Create: `cloudevent`}, FunctionsInvokeFunctionRepresentation)), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttr(resourceName, "content", "{\"message\":\"Hello v3 Bob\"}\n"), + resource.TestCheckResourceAttr(resourceName, "content", "{\"message\": \"Hello Bob\"}"), ), }, // verify Create with optionals @@ -203,7 +179,7 @@ func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { "input_body_source_path": acctest.Representation{RepType: acctest.Optional, Create: sourceFilePath}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttr(resourceName, "content", "{\"message\":\"Hello v3 Bob\"}\n"), + resource.TestCheckResourceAttr(resourceName, "content", "{\"message\": \"Hello Bob\"}"), ), }, // verify Create with base64 encoded input @@ -214,7 +190,7 @@ func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { "invoke_function_body_base64_encoded": acctest.Representation{RepType: acctest.Optional, Create: "eyJuYW1lIjoiQm9iIn0="}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttr(resourceName, "content", "{\"message\":\"Hello v3 Bob\"}\n"), + resource.TestCheckResourceAttr(resourceName, "content", "{\"message\": \"Hello Bob\"}"), ), }, // verify base64 encoded content @@ -225,7 +201,7 @@ func TestFunctionsInvokeFunctionResource_basic(t *testing.T) { "base64_encode_content": acctest.Representation{RepType: acctest.Optional, Create: `true`}, })), Check: acctest.ComposeAggregateTestCheckFuncWrapper( - resource.TestCheckResourceAttr(resourceName, "content", "eyJtZXNzYWdlIjoiSGVsbG8gdjMgQm9iIn0K"), + resource.TestCheckResourceAttr(resourceName, "content", "eyJtZXNzYWdlIjogIkhlbGxvIEJvYiJ9"), ), }, }) diff --git a/internal/integrationtest/golden_gate_pipeline_test.go b/internal/integrationtest/golden_gate_pipeline_test.go index 6288c06e77b..9939f6397e8 100644 --- a/internal/integrationtest/golden_gate_pipeline_test.go +++ b/internal/integrationtest/golden_gate_pipeline_test.go @@ -69,9 +69,10 @@ var ( // "message": acctest.Representation{RepType: acctest.Optional, Create: `message`}, //} GoldenGatePipelineProcessOptionsRepresentation = map[string]interface{}{ - "initial_data_load": acctest.RepresentationGroup{RepType: acctest.Required, Group: GoldenGatePipelineProcessOptionsInitialDataLoadRepresentation}, - "replicate_schema_change": acctest.RepresentationGroup{RepType: acctest.Required, Group: GoldenGatePipelineProcessOptionsReplicateSchemaChangeRepresentation}, - "should_restart_on_failure": acctest.Representation{RepType: acctest.Required, Create: `ENABLED`, Update: `DISABLED`}, + "initial_data_load": acctest.RepresentationGroup{RepType: acctest.Required, Group: GoldenGatePipelineProcessOptionsInitialDataLoadRepresentation}, + "replicate_schema_change": acctest.RepresentationGroup{RepType: acctest.Required, Group: GoldenGatePipelineProcessOptionsReplicateSchemaChangeRepresentation}, + "should_restart_on_failure": acctest.Representation{RepType: acctest.Required, Create: `ENABLED`, Update: `DISABLED`}, + "start_using_default_mapping": acctest.Representation{RepType: acctest.Optional, Create: `ENABLED`, Update: `DISABLED`}, } GoldenGatePipelineProcessOptionsInitialDataLoadRepresentation = map[string]interface{}{ "is_initial_load": acctest.Representation{RepType: acctest.Required, Create: `ENABLED`, Update: `DISABLED`}, @@ -158,6 +159,7 @@ func TestGoldenGatePipelineResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "process_options.0.replicate_schema_change.0.action_on_dml_error", "TERMINATE"), resource.TestCheckResourceAttr(resourceName, "process_options.0.replicate_schema_change.0.can_replicate_schema_change", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "process_options.0.should_restart_on_failure", "ENABLED"), + resource.TestCheckResourceAttr(resourceName, "process_options.0.start_using_default_mapping", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "recipe_type", "ZERO_ETL"), resource.TestCheckResourceAttr(resourceName, "source_connection_details.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "source_connection_details.0.connection_id"), @@ -199,6 +201,7 @@ func TestGoldenGatePipelineResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "process_options.0.replicate_schema_change.0.action_on_dml_error", "TERMINATE"), resource.TestCheckResourceAttr(resourceName, "process_options.0.replicate_schema_change.0.can_replicate_schema_change", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "process_options.0.should_restart_on_failure", "ENABLED"), + resource.TestCheckResourceAttr(resourceName, "process_options.0.start_using_default_mapping", "ENABLED"), resource.TestCheckResourceAttr(resourceName, "recipe_type", "ZERO_ETL"), resource.TestCheckResourceAttr(resourceName, "source_connection_details.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "source_connection_details.0.connection_id"), @@ -240,6 +243,7 @@ func TestGoldenGatePipelineResource_basic(t *testing.T) { resource.TestCheckResourceAttr(resourceName, "process_options.0.replicate_schema_change.0.action_on_dml_error", "DISCARD"), resource.TestCheckResourceAttr(resourceName, "process_options.0.replicate_schema_change.0.can_replicate_schema_change", "DISABLED"), resource.TestCheckResourceAttr(resourceName, "process_options.0.should_restart_on_failure", "DISABLED"), + resource.TestCheckResourceAttr(resourceName, "process_options.0.start_using_default_mapping", "DISABLED"), resource.TestCheckResourceAttr(resourceName, "recipe_type", "ZERO_ETL"), resource.TestCheckResourceAttr(resourceName, "source_connection_details.#", "1"), resource.TestCheckResourceAttrSet(resourceName, "source_connection_details.0.connection_id"), @@ -292,6 +296,7 @@ func TestGoldenGatePipelineResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "license_model", "LICENSE_INCLUDED"), resource.TestCheckResourceAttrSet(singularDatasourceName, "lifecycle_sub_state"), resource.TestCheckResourceAttr(singularDatasourceName, "mapping_rules.#", "1"), + resource.TestCheckResourceAttr(singularDatasourceName, "pipeline_diagnostic_data.#", "0"), resource.TestCheckResourceAttr(singularDatasourceName, "process_options.#", "1"), resource.TestCheckResourceAttr(singularDatasourceName, "process_options.0.initial_data_load.#", "1"), resource.TestCheckResourceAttr(singularDatasourceName, "process_options.0.initial_data_load.0.action_on_existing_table", "REPLACE"), @@ -301,6 +306,7 @@ func TestGoldenGatePipelineResource_basic(t *testing.T) { resource.TestCheckResourceAttr(singularDatasourceName, "process_options.0.replicate_schema_change.0.action_on_dml_error", "DISCARD"), resource.TestCheckResourceAttr(singularDatasourceName, "process_options.0.replicate_schema_change.0.can_replicate_schema_change", "DISABLED"), resource.TestCheckResourceAttr(singularDatasourceName, "process_options.0.should_restart_on_failure", "DISABLED"), + resource.TestCheckResourceAttr(singularDatasourceName, "process_options.0.start_using_default_mapping", "DISABLED"), resource.TestCheckResourceAttr(singularDatasourceName, "recipe_type", "ZERO_ETL"), resource.TestCheckResourceAttr(singularDatasourceName, "source_connection_details.#", "1"), resource.TestCheckResourceAttrSet(singularDatasourceName, "state"), diff --git a/internal/integrationtest/kms_vault_replication_test.go b/internal/integrationtest/kms_vault_replication_test.go index 1db247aee99..842eb3d4306 100644 --- a/internal/integrationtest/kms_vault_replication_test.go +++ b/internal/integrationtest/kms_vault_replication_test.go @@ -17,9 +17,53 @@ var ( "vault_id": acctest.Representation{RepType: acctest.Required, Create: `${data.oci_kms_vault.test_vault.id}`}, } + ekmVaultReplicaMetadataRepresentation = map[string]interface{}{ + "vault_type": acctest.Representation{RepType: acctest.Required, Create: `EXTERNAL`}, + "private_endpoint_id": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithBlankDefault("secondary_private_endpoint_id")}, + "idcs_account_name_url": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithBlankDefault("secondary_idcs_account_name_url")}, + } + + ekmVaultReplicaRepresentation = map[string]interface{}{ + "replica_region": acctest.Representation{RepType: acctest.Required, Create: `us-dcc-phoenix-2`}, + "vault_id": acctest.Representation{RepType: acctest.Required, Create: utils.GetEnvSettingWithBlankDefault("kms_external_vault_ocid")}, + "replica_vault_metadata": acctest.RepresentationGroup{RepType: acctest.Required, Group: ekmVaultReplicaMetadataRepresentation}, + } + KmsVaultReplicationResourceDependencies = KmsKeyResourceDependencies + + KmsExternalVaultReplicationResourceDependencies = KmsExternalKeyResourceDependencies ) +func TestEkmVaultReplicationResource_basic(t *testing.T) { + httpreplay.SetScenario("TestKmsVaultReplicationResource_basic") + defer httpreplay.SaveScenario() + + config := acctest.ProviderTestConfig() + + compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid") + compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId) + + //resourceName := "oci_kms_vault_replication.test_replica" + + // 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+KmsExternalVaultReplicationResourceDependencies+ + acctest.GenerateResourceFromRepresentationMap("oci_kms_vault_replication", "test_replica", acctest.Required, acctest.Create, ekmVaultReplicaRepresentation), "keymanagement", "vaultReplica", t) + + fmt.Println(acctest.GenerateResourceFromRepresentationMap("oci_kms_vault_replication", "test_replica", acctest.Required, acctest.Create, ekmVaultReplicaRepresentation)) + + /*acctest.ResourceTest(t, nil, []resource.TestStep{ + // verify Create + { + Config: config + compartmentIdVariableStr + KmsExternalVaultReplicationResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_kms_vault_replication", "test_replica", acctest.Required, acctest.Create, ekmVaultReplicaRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "replica_region", "us-dcc-phoenix-2"), + resource.TestCheckResourceAttrSet(resourceName, "vault_id"), + ), + }, + })*/ +} + // issue-routing-tag: kms/default func TestKmsVaultReplicationResource_basic(t *testing.T) { t.Skip("Skip this test because virtual private vault is needed") diff --git a/internal/integrationtest/sch_service_connector_resource_test.go b/internal/integrationtest/sch_service_connector_resource_test.go index 4edfe02733a..283092bf73f 100644 --- a/internal/integrationtest/sch_service_connector_resource_test.go +++ b/internal/integrationtest/sch_service_connector_resource_test.go @@ -17,6 +17,19 @@ import ( ) var ( + SchServiceConnectorResourceDependenciesForPrivateStream = acctest.GenerateResourceFromRepresentationMap("oci_logging_log", "test_log", acctest.Required, acctest.Create, LoggingLogRepresentation) + + acctest.GenerateResourceFromRepresentationMap("oci_logging_log", "test_update_log", acctest.Required, acctest.Update, acctest.GetUpdatedRepresentationCopy("configuration.source.category", acctest.Representation{RepType: acctest.Required, Create: `read`}, LoggingLogRepresentation)) + + SchLoggingLogResourceDependencies + + acctest.GenerateResourceFromRepresentationMap("oci_core_network_security_group", "test_network_security_group", acctest.Required, acctest.Create, CoreNetworkSecurityGroupRepresentation) + + acctest.GenerateResourceFromRepresentationMap("oci_core_subnet", "test_subnet", acctest.Required, acctest.Create, acctest.RepresentationCopyWithNewProperties(CoreSubnetRepresentation, map[string]interface{}{"prohibit_public_ip_on_vnic": acctest.Representation{RepType: acctest.Required, Create: `true`}, "prohibit_internet_ingress": acctest.Representation{RepType: acctest.Required, Create: `true`}})) + + acctest.GenerateResourceFromRepresentationMap("oci_core_vcn", "test_vcn", acctest.Required, acctest.Create, acctest.RepresentationCopyWithNewProperties(CoreVcnRepresentation, map[string]interface{}{ + "dns_label": acctest.Representation{RepType: acctest.Required, Create: `dnslabel`}, + })) + + acctest.GenerateResourceFromRepresentationMap("oci_functions_application", "test_application", acctest.Required, acctest.Create, FunctionsApplicationRepresentation) + + acctest.GenerateResourceFromRepresentationMap("oci_functions_function", "test_function", acctest.Required, acctest.Create, SchFunctionsFunctionRepresentation) + + KeyResourceDependencyConfig + kmsKeyIdCreateVariableStr + + acctest.GenerateResourceFromRepresentationMap("oci_streaming_stream", "test_stream", acctest.Optional, acctest.Create, streampoolidRepresentation) + + acctest.GenerateResourceFromRepresentationMap("oci_streaming_stream_pool", "test_stream_pool", acctest.Optional, acctest.Create, StreamingStreamPoolRepresentation) // streaming as a source definition serviceConnectorStreamingSourceCursorRepresentation = map[string]interface{}{ "kind": acctest.Representation{RepType: acctest.Optional, Create: `LATEST`, Update: `TRIM_HORIZON`}, @@ -137,8 +150,35 @@ func TestSchServiceConnectorResource_streamingAnalytics(t *testing.T) { singularDatasourceName := "data.oci_sch_service_connector.test_service_connector" var resId, resId2 string - acctest.ResourceTest(t, testAccCheckSchServiceConnectorDestroy, []resource.TestStep{ + // verify private streaming as a source with functions target + { + Config: config + compartmentIdVariableStr + SchServiceConnectorResourceDependenciesForPrivateStream + imageVariableStr + + acctest.GenerateResourceFromRepresentationMap("oci_sch_service_connector", "test_service_connector", acctest.Required, acctest.Create, serviceConnectorFunctionTargetStreamingSourceRepresentation), + Check: acctest.ComposeAggregateTestCheckFuncWrapper( + resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId), + resource.TestCheckResourceAttr(resourceName, "display_name", "My_Service_Connector"), + resource.TestCheckResourceAttr(resourceName, "source.#", "1"), + resource.TestCheckResourceAttr(resourceName, "source.0.kind", "streaming"), + resource.TestCheckResourceAttr(resourceName, "source.0.cursor.0.kind", "LATEST"), + resource.TestCheckResourceAttrSet(resourceName, "source.0.stream_id"), + resource.TestCheckResourceAttr(resourceName, "source.0.private_endpoint_metadata.#", "1"), + resource.TestCheckResourceAttr(resourceName, "target.#", "1"), + resource.TestCheckResourceAttr(resourceName, "target.0.kind", "functions"), + resource.TestCheckResourceAttrSet(resourceName, "target.0.function_id"), + + func(s *terraform.State) (err error) { + resId, err = acctest.FromInstanceState(s, resourceName, "id") + return err + }, + ), + }, + + // delete before next Create + { + Config: config + compartmentIdVariableStr + imageVariableStr, + }, + // verify streaming as a source with functions target { Config: config + compartmentIdVariableStr + SchServiceConnectorResourceDependencies + imageVariableStr + @@ -298,6 +338,7 @@ func TestSchServiceConnectorResource_streamingAnalytics(t *testing.T) { }, ), }, + // verify updates to updatable parameters { Config: config + compartmentIdVariableStr + SchServiceConnectorResourceDependencies + imageVariableStr + logAnLogGroupIdVariableStr + logAnLogSourceNameVariableStr + diff --git a/internal/resourcediscovery/export_compartment.go b/internal/resourcediscovery/export_compartment.go index 7d03915316c..bdc14f276db 100644 --- a/internal/resourcediscovery/export_compartment.go +++ b/internal/resourcediscovery/export_compartment.go @@ -398,7 +398,7 @@ func getExportConfig(d *schema.ResourceData) (interface{}, error) { } func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { - utils.Logf("[INFO] Running export command\n") + utils.Logf("[INFO] Running export command for compartment %s", *ctx.CompartmentId) utils.Logf("[INFO] parallelism: %d", ctx.Parallelism) defer ctx.PrintSummary() exportStart := time.Now() @@ -407,6 +407,7 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { if err != nil { return err } + totalDiscoveredResources := 0 discoveryStart := time.Now() var discoverWg sync.WaitGroup discoverWg.Add(len(steps)) @@ -415,8 +416,8 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { sem <- struct{}{} go func(i int, step resourceDiscoveryStep) { - utils.Debugf("[DEBUG] discover: Running step %d", i) - defer elapsed(fmt.Sprintf("time taken in discovering resources for step %d", i), step.getBaseStep(), Discovery)() + utils.Debugf("[DEBUG] discover for compartment - %s: Running step %d", *ctx.CompartmentId, i) + defer elapsed(fmt.Sprintf("time taken in discovering resources for step %d for compartment %s", i, *ctx.CompartmentId), step.getBaseStep(), Discovery)() defer func() { <-sem if r := recover(); r != nil { @@ -424,14 +425,15 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { utils.Logf("[ERROR] panic in discover goroutine") debug.PrintStack() } - utils.Debugf("[DEBUG] discoverWg done: step %d", i) + utils.Debugf("[DEBUG] discoverWg done: step %d for compartment %s", i, *ctx.CompartmentId) discoverWg.Done() }() - + utils.Debugf("[DEBUG] Started Discovery for step %d for compartment %s", i, *ctx.CompartmentId) err := step.discover() + utils.Debugf("[DEBUG] Finished Discovery for step %d for compartment %s", i, *ctx.CompartmentId) if err != nil { // All errors in discover are added to the ctx.errorList - utils.Debugf("[ERROR] error occurred while discovering resources for step %d", i) + utils.Debugf("[ERROR] error occurred while discovering resources for step %d for compartment %s", i, *ctx.CompartmentId) utils.Logf("[ERROR] error occurred while discovering resources: %s", err.Error()) return } @@ -448,8 +450,9 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { } } - utils.Debugf("[DEBUG] discover: Completed step %d", i) + utils.Debugf("[DEBUG] discover: Completed step %d for compartment %s", i, *ctx.CompartmentId) utils.Debugf("[DEBUG] discovered %d resources for step %d", len(step.getDiscoveredResources()), i) + totalDiscoveredResources += len(step.getDiscoveredResources()) }(i, step) } @@ -457,7 +460,8 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { // Wait for all steps to complete discovery discoverWg.Wait() totalDiscoveryTime := time.Since(discoveryStart) - utils.Debugf("discovering resources for all services took %v\n", totalDiscoveryTime) + utils.Debugf("discovering resources for all services took %v for compartment %s", totalDiscoveryTime, *ctx.CompartmentId) + utils.Debugf("Total Discovered Resources for compartment %s - %d\n", *ctx.CompartmentId, totalDiscoveredResources) ctx.TimeTakenToDiscover = totalDiscoveryTime utils.Debug("[DEBUG] ~~~~~~ discover steps completed ~~~~~~") @@ -465,12 +469,12 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { stateStart := time.Now() // Run import commands if ctx.Parallelism > 1 { - utils.Debug("[DEBUG] Generating state in parallel") + utils.Debugf("[DEBUG] Generating state in parallel for compartment %s", *ctx.CompartmentId) if err := generateStateParallel(ctx, steps); err != nil { return err } } else { - utils.Debug("[DEBUG] Generating state sequentially") + utils.Debugf("[DEBUG] Generating state sequentially for compartment %s", *ctx.CompartmentId) if err := generateState(ctx, steps); err != nil { return err } @@ -482,7 +486,7 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { deleteInvalidReferences(tf_export.ReferenceMap, ctx.DiscoveredResources) } timeForStateGeneration := time.Since(stateStart) - utils.Debugf("[DEBUG] state generation took %v\n", timeForStateGeneration) + utils.Debugf("[DEBUG] state generation took %v for compartment %s", timeForStateGeneration, *ctx.CompartmentId) ctx.TimeTakenToGenerateState = timeForStateGeneration } @@ -502,26 +506,27 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { wgDone := make(chan bool) // Write configuration for imported resources + utils.Debugf("[DEBUG] writing configuration for compartment %s", *ctx.CompartmentId) configStart := time.Now() for i, step := range steps { sem <- struct{}{} go func(i int, step resourceDiscoveryStep) { - utils.Debugf("[DEBUG] writeConfiguration: Running step %d", i) + utils.Debugf("[DEBUG] writeConfiguration for compartment %s: Running step %d", *ctx.CompartmentId, i) defer func() { <-sem if r := recover(); r != nil { - utils.Logf("[ERROR] panic in writeConfiguration goroutine") + utils.Logf("[ERROR] panic in writeConfiguration goroutine for compartment %s", *ctx.CompartmentId) debug.PrintStack() } - utils.Debugf("[DEBUG] configWg done: step %d", i) + utils.Debugf("[DEBUG] configWg done for compartment %s: step %d", *ctx.CompartmentId, i) configWg.Done() }() if err := step.writeConfiguration(); err != nil { - errorChannel <- fmt.Errorf("[ERROR] error writing final configuration for resources found: %s", err.Error()) + errorChannel <- fmt.Errorf("[ERROR] error writing final configuration for compartment %s for resources found: %s", *ctx.CompartmentId, err.Error()) } - utils.Debugf("[DEBUG] writeConfiguration: Completed step %d", i) + utils.Debugf("[DEBUG] writeConfiguration for compartment %s: Completed step %d", *ctx.CompartmentId, i) }(i, step) } @@ -536,14 +541,14 @@ func runExportCommand(ctx *tf_export.ResourceDiscoveryContext) error { select { case <-wgDone: utils.Debugf("[DEBUG] ~~~~~~ writeConfiguration steps completed ~~~~~~") - utils.Debugf("[DEBUG] writing config took %v\n", time.Since(configStart)) + utils.Debugf("[DEBUG] writing config for compartment %s took %v\n", *ctx.CompartmentId, time.Since(configStart)) break case errs := <-errorChannel: close(errorChannel) for i := 0; i < len(errorChannel); i++ { errs = multierror.Append(errs, <-errorChannel) } - utils.Logf("[ERROR] error writing final configuration for resources found: %s", errs.Error()) + utils.Debugf("[DEBUG] writing config took %v for compartment %s", time.Since(configStart), *ctx.CompartmentId) return errs } @@ -603,6 +608,7 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso for i, step := range steps { if len(step.getDiscoveredResources()) == 0 { + utils.Debugf("[DEBUG] skipping write temp config for compartment %s for step %d", *ctx.CompartmentId, i) stateWg.Done() continue } @@ -610,15 +616,15 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso sem <- struct{}{} go func(i int, step resourceDiscoveryStep) { - utils.Debugf("[DEBUG] writing temp config and state: Running step %d", i) - defer elapsed(fmt.Sprintf("time taken by step %s to generate state", fmt.Sprint(i)), step.getBaseStep(), GeneratingState)() + utils.Debugf("[DEBUG] writing temp config and state for compartment %s: Running step %d", *ctx.CompartmentId, i) + defer elapsed(fmt.Sprintf("time taken by step %s to generate state for compartment %s", fmt.Sprint(i), *ctx.CompartmentId), step.getBaseStep(), GeneratingState)() defer func() { <-sem if r := recover(); r != nil { utils.Logf("[ERROR] panic in writing temp config and state goroutine") debug.PrintStack() } - utils.Debugf("[DEBUG] stateWg done: step %d", i) + utils.Debugf("[DEBUG] stateWg done for compartment %s: step %d", *ctx.CompartmentId, i) stateWg.Done() }() @@ -627,7 +633,7 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso and also remove the references to failed resources from the referenceMap */ var err error = nil if err = step.writeTmpConfigurationForImport(); err != nil { - errorChannel <- fmt.Errorf("[ERROR] error while writing temp config for resources found in step %d: %s", i, err.Error()) + errorChannel <- fmt.Errorf("[ERROR] error while writing temp config for compartment %s for resources found in step %d: %s", *ctx.CompartmentId, i, err.Error()) } // Write temp state file for each service, this step will import resources into a separate state file for each service in parallel @@ -643,7 +649,7 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso } } - utils.Debugf("writing temp config and state: Completed step %d", i) + utils.Debugf("writing temp config and state for compartment %s: Completed step %d", *ctx.CompartmentId, i) }(i, step) } @@ -657,7 +663,7 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso // Wait until either stateWg is done or an error is received through the errorChannel select { case <-wgDone: - utils.Debugf("[DEBUG] ~~~~~~ writing temp config and state steps completed ~~~~~~") + utils.Debugf("[DEBUG] ~~~~~~ writing temp config and state steps completed for compartment %s ~~~~~~", *ctx.CompartmentId) break case errs := <-errorChannel: close(errorChannel) @@ -676,7 +682,7 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso } if ctx.State == nil { - utils.Logf("[INFO] ~~~~~~ no resources were imported to the state file ~~~~~~") + utils.Logf("[INFO] ~~~~~~ no resources were imported to the state file for compartment %s ~~~~~~", *ctx.CompartmentId) return nil } @@ -713,6 +719,7 @@ func generateStateParallel(ctx *tf_export.ResourceDiscoveryContext, steps []reso if err := ctx.Terraform.Init(backgroundCtx, initArgs...); err != nil { return err } + utils.Logf("[INFO] ~~~~~~ Generating State Parallelly Complete for compartment %s ~~~~~~", *ctx.CompartmentId) return nil } @@ -826,6 +833,8 @@ func importResource(ctx *tf_export.ResourceDiscoveryContext, resource *tf_export ctx.AddErrorToList(rdError) } + utils.Logf("[INFO] ===> Importing resource '%s' - DONE", resource.GetTerraformReference()) + utils.Debugf("[DEBUG] ===> Importing resource '%s' - DONE", resource.GetTerraformReference()) } func getDiscoverResourceSteps(ctx *tf_export.ResourceDiscoveryContext) ([]resourceDiscoveryStep, error) { @@ -937,10 +946,10 @@ func findResources(ctx *tf_export.ResourceDiscoveryContext, root *tf_export.OCIR return foundResources, nil } - utils.Logf("[INFO] resource discovery: visiting %s\n", root.GetTerraformReference()) - utils.Debugf("[DEBUG] resource discovery: visiting %s\n", root.GetTerraformReference()) + utils.Logf("[INFO] resource discovery: visiting %s for compartment %s\n", root.GetTerraformReference(), root.CompartmentId) + utils.Debugf("[DEBUG] resource discovery: visiting %s for compartment %s\n", root.GetTerraformReference(), root.CompartmentId) - utils.Logf("[INFO] number of child resource types for %s: %d\n", root.GetTerraformReference(), len(childResourceTypes)) + utils.Logf("[INFO] number of child resource types for %s: %d for compartment %s\n", root.GetTerraformReference(), len(childResourceTypes), root.CompartmentId) findResourcesStart := time.Now() var findResourcesWg sync.WaitGroup @@ -1039,7 +1048,7 @@ func findResources(ctx *tf_export.ResourceDiscoveryContext, root *tf_export.OCIR // Wait for all steps to complete findResources findResourcesWg.Wait() totalFindResourcesTime := time.Since(findResourcesStart) - utils.Debugf("finding resources for %s took %v\n", root.GetTerraformReference(), totalFindResourcesTime) + utils.Debugf("finding resources for %s took %v for compartment %s\n", root.GetTerraformReference(), totalFindResourcesTime, root.CompartmentId) // create copies of filters so that in each thread, they are not shared // since number of filters is expected to be less than the number of threads running in parallel, this is a cost effective approach than locking diff --git a/internal/resourcediscovery/export_resource_helpers.go b/internal/resourcediscovery/export_resource_helpers.go index 4d1b41cbaa6..19ac763d741 100644 --- a/internal/resourcediscovery/export_resource_helpers.go +++ b/internal/resourcediscovery/export_resource_helpers.go @@ -129,7 +129,7 @@ type resourceDiscoveryBaseStep struct { } func (r *resourceDiscoveryBaseStep) mergeTempStateFiles(tmpStateOutputDir string) error { - defer elapsed(fmt.Sprintf("merging temp state files for %v", r.name), nil, 0)() + defer elapsed(fmt.Sprintf("merging temp state files for %v for compartment %s", r.name, *r.ctx.CompartmentId), nil, 0)() files, err := ioutil.ReadDir(tmpStateOutputDir) if err != nil { return err @@ -161,19 +161,19 @@ var terraformInitMockVar = func(r *resourceDiscoveryBaseStep, backgroundCtx cont } func (r *resourceDiscoveryBaseStep) writeTmpState() error { - defer elapsed(fmt.Sprintf("writing temp state for %d '%s' resources", len(r.getDiscoveredResources()), r.name), nil, 0)() + defer elapsed(fmt.Sprintf("writing temp state for %d '%s' resources for compartment %s", len(r.getDiscoveredResources()), r.name, *r.ctx.CompartmentId), nil, 0)() // Run terraform init if not already done if !isInitDone { - utils.Debugf("[DEBUG] acquiring lock to run terraform init") + utils.Debugf("[DEBUG] acquiring lock to run terraform init for step name %s for compartment %s", r.name, *r.ctx.CompartmentId) initLock.Lock() defer func() { - utils.Debugf("[DEBUG] releasing lock") + utils.Debugf("[DEBUG] releasing lock for step name %s for compartment %s", r.name, *r.ctx.CompartmentId) initLock.Unlock() }() // Check for existence of .terraform folder to make sure init is not run already by another thread if _, err := os.Stat(fmt.Sprintf("%s%s.terraform", *r.ctx.OutputDir, string(os.PathSeparator))); os.IsNotExist(err) { // Run init command if not already run - utils.Debugf("[DEBUG] writeTmpState: running init") + utils.Debugf("[DEBUG] writeTmpState: running init for step name %s for compartment %s", r.name, *r.ctx.CompartmentId) backgroundCtx := context.Background() var initArgs []tfexec.InitOption @@ -184,7 +184,7 @@ func (r *resourceDiscoveryBaseStep) writeTmpState() error { } if err := terraformInitMockVar(r, backgroundCtx, initArgs); err != nil { - utils.Debugf("[ERROR] error occured while terraform init: %s", err.Error()) + utils.Debugf("[ERROR] error occured while terraform init for step name %s for compartment %s: %s", r.name, *r.ctx.CompartmentId, err.Error()) return err } isInitDone = true @@ -194,7 +194,7 @@ func (r *resourceDiscoveryBaseStep) writeTmpState() error { tmpStateOutputFilePrefix := filepath.Join(tmpStateOutputDir, globalvar.DefaultTmpStateFile) if err := os.RemoveAll(tmpStateOutputDir); err != nil { - utils.Logf("[WARN] unable to delete existing tmp state directory %s", tmpStateOutputDir) + utils.Logf("[WARN] unable to delete existing tmp state directory %s for step name %s for compartment %s", tmpStateOutputDir, r.name, *r.ctx.CompartmentId) return err } @@ -241,14 +241,17 @@ func (r *resourceDiscoveryBaseStep) writeTmpState() error { } // wait for all chunks to finish importing resources importWg.Wait() + utils.Debugf("[DEBUG] Merging Temp State Files for step name %s for compartment %s", r.name, *r.ctx.CompartmentId) // The found resource only include the data sources (ADs and namespaces) that resource discovery adds if isAllDataSources { return nil } err := r.mergeTempStateFiles(tmpStateOutputDir) if err != nil { + utils.Debugf("[DEBUG] ERROR while Merging Temp State Files for step name %s for compartment %s : %s", r.name, *r.ctx.CompartmentId, err) return err } + utils.Debugf("[DEBUG] DONE Merging Temp State Files for step name %s for compartment %s", r.name, *r.ctx.CompartmentId) return nil } diff --git a/internal/service/core/core_byoip_ranges_data_source.go b/internal/service/core/core_byoip_ranges_data_source.go index bb1b1531c86..a6895d6da9b 100644 --- a/internal/service/core/core_byoip_ranges_data_source.go +++ b/internal/service/core/core_byoip_ranges_data_source.go @@ -69,11 +69,21 @@ func CoreByoipRangesDataSource() *schema.Resource { Computed: true, Elem: schema.TypeString, }, + "ip_anycast_id": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, "ipv6cidr_block": { Type: schema.TypeString, Optional: true, Computed: true, }, + "monitor_ip": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, // Computed "byoip_range_vcn_ipv6allocations": { Type: schema.TypeList, diff --git a/internal/service/core/core_ipv6_data_source.go b/internal/service/core/core_ipv6_data_source.go index aa8d49d7ab8..5be1e2d4275 100644 --- a/internal/service/core/core_ipv6_data_source.go +++ b/internal/service/core/core_ipv6_data_source.go @@ -84,6 +84,10 @@ func (s *CoreIpv6DataSourceCrud) SetData() error { s.D.Set("ip_address", *s.Res.IpAddress) } + s.D.Set("ip_state", s.Res.IpState) + + s.D.Set("lifetime", s.Res.Lifetime) + if s.Res.RouteTableId != nil { s.D.Set("route_table_id", *s.Res.RouteTableId) } diff --git a/internal/service/core/core_ipv6_resource.go b/internal/service/core/core_ipv6_resource.go index 856100063c7..f22226abcee 100644 --- a/internal/service/core/core_ipv6_resource.go +++ b/internal/service/core/core_ipv6_resource.go @@ -26,10 +26,6 @@ func CoreIpv6Resource() *schema.Resource { Delete: deleteCoreIpv6, Schema: map[string]*schema.Schema{ // Required - "vnic_id": { - Type: schema.TypeString, - Required: true, - }, // Optional "defined_tags": { @@ -62,21 +58,36 @@ func CoreIpv6Resource() *schema.Resource { Computed: true, ForceNew: true, }, + "lifetime": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, "route_table_id": { Type: schema.TypeString, Optional: true, }, + "subnet_id": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + }, + "vnic_id": { + Type: schema.TypeString, + Optional: true, + }, // Computed "compartment_id": { Type: schema.TypeString, Computed: true, }, - "state": { + "ip_state": { Type: schema.TypeString, Computed: true, }, - "subnet_id": { + "state": { Type: schema.TypeString, Computed: true, }, @@ -186,11 +197,20 @@ func (s *CoreIpv6ResourceCrud) Create() error { request.Ipv6SubnetCidr = &tmp } + if lifetime, ok := s.D.GetOkExists("lifetime"); ok { + request.Lifetime = oci_core.CreateIpv6DetailsLifetimeEnum(lifetime.(string)) + } + if routeTableId, ok := s.D.GetOkExists("route_table_id"); ok { tmp := routeTableId.(string) request.RouteTableId = &tmp } + if subnetId, ok := s.D.GetOkExists("subnet_id"); ok { + tmp := subnetId.(string) + request.SubnetId = &tmp + } + if vnicId, ok := s.D.GetOkExists("vnic_id"); ok { tmp := vnicId.(string) request.VnicId = &tmp @@ -225,6 +245,7 @@ func (s *CoreIpv6ResourceCrud) Get() error { } func (s *CoreIpv6ResourceCrud) Update() error { + request := oci_core.UpdateIpv6Request{} if definedTags, ok := s.D.GetOkExists("defined_tags"); ok { @@ -247,14 +268,43 @@ func (s *CoreIpv6ResourceCrud) Update() error { tmp := s.D.Id() request.Ipv6Id = &tmp + if lifetime, ok := s.D.GetOkExists("lifetime"); ok { + request.Lifetime = oci_core.UpdateIpv6DetailsLifetimeEnum(lifetime.(string)) + } + if routeTableId, ok := s.D.GetOkExists("route_table_id"); ok { tmp := routeTableId.(string) request.RouteTableId = &tmp } - if vnicId, ok := s.D.GetOkExists("vnic_id"); ok { + if vnicId, ok := s.D.GetOkExists("vnic_id"); ok && vnicId != "" { tmp := vnicId.(string) request.VnicId = &tmp + } else { + // call detach + request_get := oci_core.GetIpv6Request{} + request_get.Ipv6Id = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") + + response, err := s.Client.GetIpv6(context.Background(), request_get) + if err != nil { + return err + } + if response.Lifetime == "RESERVED" { + if response.IpState == "ASSIGNED" { + err := s.Ipv6VnicDetach() + if err != nil { + return err + } + response, err := s.Client.GetIpv6(context.Background(), request_get) + s.Res = &response.Ipv6 + if err != nil { + return err + } + return nil + } + } } request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") @@ -274,6 +324,26 @@ func (s *CoreIpv6ResourceCrud) Delete() error { tmp := s.D.Id() request.Ipv6Id = &tmp + // call detach + request_get := oci_core.GetIpv6Request{} + request_get.Ipv6Id = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") + + response, err_get := s.Client.GetIpv6(context.Background(), request_get) + if err_get != nil { + return err_get + } + + if response.Lifetime == "RESERVED" { + if response.IpState == "ASSIGNED" { + err := s.Ipv6VnicDetach() + if err != nil { + return err + } + } + } + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") _, err := s.Client.DeleteIpv6(context.Background(), request) @@ -299,6 +369,10 @@ func (s *CoreIpv6ResourceCrud) SetData() error { s.D.Set("ip_address", *s.Res.IpAddress) } + s.D.Set("ip_state", s.Res.IpState) + + s.D.Set("lifetime", s.Res.Lifetime) + if s.Res.RouteTableId != nil { s.D.Set("route_table_id", *s.Res.RouteTableId) } @@ -319,3 +393,23 @@ func (s *CoreIpv6ResourceCrud) SetData() error { return nil } + +func (s *CoreIpv6ResourceCrud) Ipv6VnicDetach() error { + request := oci_core.Ipv6VnicDetachRequest{} + + idTmp := s.D.Id() + request.Ipv6Id = &idTmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") + + _, err := s.Client.Ipv6VnicDetach(context.Background(), request) + if err != nil { + return err + } + + if waitErr := tfresource.WaitForUpdatedState(s.D, s); waitErr != nil { + return waitErr + } + + return nil +} diff --git a/internal/service/core/core_ipv6s_data_source.go b/internal/service/core/core_ipv6s_data_source.go index 795b68c3ef2..ef09dd243d4 100644 --- a/internal/service/core/core_ipv6s_data_source.go +++ b/internal/service/core/core_ipv6s_data_source.go @@ -147,6 +147,9 @@ func (s *CoreIpv6sDataSourceCrud) SetData() error { ipv6["route_table_id"] = *r.RouteTableId } + ipv6["ip_state"] = r.IpState + ipv6["lifetime"] = r.Lifetime + resources = append(resources, ipv6) } diff --git a/internal/service/core/core_private_ip_data_source.go b/internal/service/core/core_private_ip_data_source.go index a9c910398fe..55ca17fbcec 100644 --- a/internal/service/core/core_private_ip_data_source.go +++ b/internal/service/core/core_private_ip_data_source.go @@ -92,10 +92,14 @@ func (s *CorePrivateIpDataSourceCrud) SetData() error { s.D.Set("ip_address", *s.Res.IpAddress) } + s.D.Set("ip_state", s.Res.IpState) + if s.Res.IsPrimary != nil { s.D.Set("is_primary", *s.Res.IsPrimary) } + s.D.Set("lifetime", s.Res.Lifetime) + if s.Res.RouteTableId != nil { s.D.Set("route_table_id", *s.Res.RouteTableId) } diff --git a/internal/service/core/core_private_ip_resource.go b/internal/service/core/core_private_ip_resource.go index 37c2ede7a08..022c2a1e4f0 100644 --- a/internal/service/core/core_private_ip_resource.go +++ b/internal/service/core/core_private_ip_resource.go @@ -58,10 +58,21 @@ func CorePrivateIpResource() *schema.Resource { Computed: true, ForceNew: true, }, + "lifetime": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, "route_table_id": { Type: schema.TypeString, Optional: true, }, + "subnet_id": { + Type: schema.TypeString, + Optional: true, + Computed: true, + ForceNew: true, + }, "vlan_id": { Type: schema.TypeString, Optional: true, @@ -71,7 +82,6 @@ func CorePrivateIpResource() *schema.Resource { "vnic_id": { Type: schema.TypeString, Optional: true, - Computed: true, }, // Computed @@ -83,6 +93,10 @@ func CorePrivateIpResource() *schema.Resource { Type: schema.TypeString, Computed: true, }, + "ip_state": { + Type: schema.TypeString, + Computed: true, + }, "is_primary": { Type: schema.TypeBool, Computed: true, @@ -91,10 +105,6 @@ func CorePrivateIpResource() *schema.Resource { Type: schema.TypeBool, Computed: true, }, - "subnet_id": { - Type: schema.TypeString, - Computed: true, - }, "time_created": { Type: schema.TypeString, Computed: true, @@ -177,11 +187,20 @@ func (s *CorePrivateIpResourceCrud) Create() error { request.IpAddress = &tmp } + if lifetime, ok := s.D.GetOkExists("lifetime"); ok { + request.Lifetime = oci_core.CreatePrivateIpDetailsLifetimeEnum(lifetime.(string)) + } + if routeTableId, ok := s.D.GetOkExists("route_table_id"); ok { tmp := routeTableId.(string) request.RouteTableId = &tmp } + if subnetId, ok := s.D.GetOkExists("subnet_id"); ok { + tmp := subnetId.(string) + request.SubnetId = &tmp + } + if vlanId, ok := s.D.GetOkExists("vlan_id"); ok { tmp := vlanId.(string) request.VlanId = &tmp @@ -245,6 +264,10 @@ func (s *CorePrivateIpResourceCrud) Update() error { request.HostnameLabel = &tmp } + if lifetime, ok := s.D.GetOkExists("lifetime"); ok { + request.Lifetime = oci_core.UpdatePrivateIpDetailsLifetimeEnum(lifetime.(string)) + } + tmp := s.D.Id() request.PrivateIpId = &tmp @@ -253,9 +276,34 @@ func (s *CorePrivateIpResourceCrud) Update() error { request.RouteTableId = &tmp } - if vnicId, ok := s.D.GetOkExists("vnic_id"); ok { + if vnicId, ok := s.D.GetOkExists("vnic_id"); ok && vnicId != "" { tmp := vnicId.(string) request.VnicId = &tmp + } else { + // call detach + request_get := oci_core.GetPrivateIpRequest{} + request_get.PrivateIpId = &tmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") + + response, err := s.Client.GetPrivateIp(context.Background(), request_get) + if err != nil { + return err + } + if response.Lifetime == "RESERVED" { + if response.IpState == "ASSIGNED" { + err := s.PrivateIpVnicDetach() + if err != nil { + return err + } + response, err := s.Client.GetPrivateIp(context.Background(), request_get) + s.Res = &response.PrivateIp + if err != nil { + return err + } + return nil + } + } } request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") @@ -275,6 +323,25 @@ func (s *CorePrivateIpResourceCrud) Delete() error { tmp := s.D.Id() request.PrivateIpId = &tmp + // use detach API + request_get := oci_core.GetPrivateIpRequest{} + request_get.PrivateIpId = &tmp + + request_get.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") + + response, err_get := s.Client.GetPrivateIp(context.Background(), request_get) + if err_get != nil { + return err_get + } + if response.Lifetime == "RESERVED" { + if response.IpState == "ASSIGNED" { + err := s.PrivateIpVnicDetach() + if err != nil { + return err + } + } + } + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") _, err := s.Client.DeletePrivateIp(context.Background(), request) @@ -308,10 +375,14 @@ func (s *CorePrivateIpResourceCrud) SetData() error { s.D.Set("ip_address", *s.Res.IpAddress) } + s.D.Set("ip_state", s.Res.IpState) + if s.Res.IsPrimary != nil { s.D.Set("is_primary", *s.Res.IsPrimary) } + s.D.Set("lifetime", s.Res.Lifetime) + if s.Res.RouteTableId != nil { s.D.Set("route_table_id", *s.Res.RouteTableId) } @@ -338,3 +409,23 @@ func (s *CorePrivateIpResourceCrud) SetData() error { return nil } + +func (s *CorePrivateIpResourceCrud) PrivateIpVnicDetach() error { + request := oci_core.PrivateIpVnicDetachRequest{} + + idTmp := s.D.Id() + request.PrivateIpId = &idTmp + + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "core") + + _, err := s.Client.PrivateIpVnicDetach(context.Background(), request) + if err != nil { + return err + } + + if waitErr := tfresource.WaitForUpdatedState(s.D, s); waitErr != nil { + return waitErr + } + + return nil +} diff --git a/internal/service/core/core_private_ips_data_source.go b/internal/service/core/core_private_ips_data_source.go index 8176ae1c6e2..69af08f7b01 100644 --- a/internal/service/core/core_private_ips_data_source.go +++ b/internal/service/core/core_private_ips_data_source.go @@ -22,6 +22,14 @@ func CorePrivateIpsDataSource() *schema.Resource { Type: schema.TypeString, Optional: true, }, + "ip_state": { + Type: schema.TypeString, + Optional: true, + }, + "lifetime": { + Type: schema.TypeString, + Optional: true, + }, "subnet_id": { Type: schema.TypeString, Optional: true, @@ -148,10 +156,14 @@ func (s *CorePrivateIpsDataSourceCrud) SetData() error { privateIp["ip_address"] = *r.IpAddress } + privateIp["ip_state"] = r.IpState + if r.IsPrimary != nil { privateIp["is_primary"] = *r.IsPrimary } + privateIp["lifetime"] = r.Lifetime + if r.RouteTableId != nil { privateIp["route_table_id"] = *r.RouteTableId } diff --git a/internal/service/functions/functions_invoke_function_resource.go b/internal/service/functions/functions_invoke_function_resource.go index ee7d650252c..d5d83a690fb 100644 --- a/internal/service/functions/functions_invoke_function_resource.go +++ b/internal/service/functions/functions_invoke_function_resource.go @@ -61,6 +61,12 @@ func FunctionsInvokeFunctionResource() *schema.Resource { Computed: true, ForceNew: true, }, + "is_dry_run": { + Type: schema.TypeBool, + Optional: true, + Computed: true, + ForceNew: true, + }, "input_body_source_path": { Type: schema.TypeString, Optional: true, @@ -190,6 +196,11 @@ func (s *FunctionsInvokeFunctionResourceCrud) Create() error { request.FunctionId = &tmp } + if isDryRun, ok := s.D.GetOkExists("is_dry_run"); ok { + tmp := isDryRun.(bool) + request.IsDryRun = &tmp + } + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(false, "functions") if endPoint, ok := s.D.GetOkExists("invoke_endpoint"); !ok { s.Client.Host = endPoint.(string) diff --git a/internal/service/golden_gate/golden_gate_pipeline_data_source.go b/internal/service/golden_gate/golden_gate_pipeline_data_source.go index a33e50e0659..42a5de42f81 100644 --- a/internal/service/golden_gate/golden_gate_pipeline_data_source.go +++ b/internal/service/golden_gate/golden_gate_pipeline_data_source.go @@ -127,6 +127,12 @@ func (s *GoldenGatePipelineDataSourceCrud) SetData() error { } s.D.Set("locks", locks) + if v.PipelineDiagnosticData != nil { + s.D.Set("pipeline_diagnostic_data", []interface{}{PipelineDiagnosticDataToMap(v.PipelineDiagnosticData)}) + } else { + s.D.Set("pipeline_diagnostic_data", nil) + } + if v.SourceConnectionDetails != nil { s.D.Set("source_connection_details", []interface{}{SourcePipelineConnectionDetailsToMap(v.SourceConnectionDetails)}) } else { diff --git a/internal/service/golden_gate/golden_gate_pipeline_resource.go b/internal/service/golden_gate/golden_gate_pipeline_resource.go index 7cf0848bd92..c05687ded27 100644 --- a/internal/service/golden_gate/golden_gate_pipeline_resource.go +++ b/internal/service/golden_gate/golden_gate_pipeline_resource.go @@ -209,6 +209,11 @@ func GoldenGatePipelineResource() *schema.Resource { }, // Optional + "start_using_default_mapping": { + Type: schema.TypeString, + Optional: true, + Computed: true, + }, // Computed }, @@ -257,6 +262,39 @@ func GoldenGatePipelineResource() *schema.Resource { }, }, }, + "pipeline_diagnostic_data": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "bucket": { + Type: schema.TypeString, + Computed: true, + }, + "diagnostic_state": { + Type: schema.TypeString, + Computed: true, + }, + "namespace": { + Type: schema.TypeString, + Computed: true, + }, + "object": { + Type: schema.TypeString, + Computed: true, + }, + "time_last_collected": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, "state": { Type: schema.TypeString, Computed: true, @@ -623,6 +661,12 @@ func (s *GoldenGatePipelineResourceCrud) SetData() error { } s.D.Set("locks", locks) + if v.PipelineDiagnosticData != nil { + s.D.Set("pipeline_diagnostic_data", []interface{}{PipelineDiagnosticDataToMap(v.PipelineDiagnosticData)}) + } else { + s.D.Set("pipeline_diagnostic_data", nil) + } + if v.SourceConnectionDetails != nil { s.D.Set("source_connection_details", []interface{}{SourcePipelineConnectionDetailsToMap(v.SourceConnectionDetails)}) } else { @@ -715,6 +759,30 @@ func MappingRuleToMap(obj oci_golden_gate.MappingRule) map[string]interface{} { return result } +func PipelineDiagnosticDataToMap(obj *oci_golden_gate.PipelineDiagnosticData) map[string]interface{} { + result := map[string]interface{}{} + + if obj.BucketName != nil { + result["bucket"] = string(*obj.BucketName) + } + + result["diagnostic_state"] = string(obj.DiagnosticState) + + if obj.NamespaceName != nil { + result["namespace"] = string(*obj.NamespaceName) + } + + if obj.ObjectName != nil { + result["object"] = string(*obj.ObjectName) + } + + if obj.TimeLastCollected != nil { + result["time_last_collected"] = obj.TimeLastCollected.String() + } + + return result +} + func PipelineSummaryToMap(obj oci_golden_gate.PipelineSummary) map[string]interface{} { result := map[string]interface{}{} switch v := (obj).(type) { @@ -765,6 +833,10 @@ func (s *GoldenGatePipelineResourceCrud) mapToProcessOptions(fieldKeyFormat stri result.ShouldRestartOnFailure = oci_golden_gate.ProcessOptionsShouldRestartOnFailureEnum(shouldRestartOnFailure.(string)) } + if startUsingDefaultMapping, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "start_using_default_mapping")); ok { + result.StartUsingDefaultMapping = oci_golden_gate.ProcessOptionsStartUsingDefaultMappingEnum(startUsingDefaultMapping.(string)) + } + return result, nil } @@ -781,6 +853,8 @@ func ProcessOptionsToMap(obj *oci_golden_gate.ProcessOptions) map[string]interfa result["should_restart_on_failure"] = string(obj.ShouldRestartOnFailure) + result["start_using_default_mapping"] = string(obj.StartUsingDefaultMapping) + return result } diff --git a/internal/service/kms/kms_vault_replication_resource.go b/internal/service/kms/kms_vault_replication_resource.go index fc021bcba4d..201f4055b84 100644 --- a/internal/service/kms/kms_vault_replication_resource.go +++ b/internal/service/kms/kms_vault_replication_resource.go @@ -2,6 +2,7 @@ package kms import ( "context" + "fmt" "strings" "github.com/oracle/terraform-provider-oci/internal/client" @@ -32,8 +33,38 @@ func KmsVaultReplicationResource() *schema.Resource { Type: schema.TypeString, Required: true, }, - - // Optional + "replica_vault_metadata": { + Type: schema.TypeList, + Optional: true, + Computed: true, + ForceNew: true, + MaxItems: 1, + MinItems: 1, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + "idcs_account_name_url": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "vault_type": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + "private_endpoint_id": { + Type: schema.TypeString, + Required: true, + ForceNew: true, + }, + + // Optional + + // Computed + }, + }, + }, // Computed }, @@ -172,6 +203,17 @@ func (s *KmsVaultReplicaResourceCrud) createVaultReplicaHelper(vaultId string, r request.ReplicaRegion = &replicaRegion } + if replicaVaultMetadata, ok := s.D.GetOkExists("replica_vault_metadata"); ok { + if tmpList := replicaVaultMetadata.([]interface{}); len(tmpList) > 0 { + fieldKeyFormat := fmt.Sprintf("%s.%d.%%s", "replica_vault_metadata", 0) + tmp, err := s.mapToReplicaVaultMetadata(fieldKeyFormat) + if err != nil { + return err + } + request.ReplicaVaultMetadata = &tmp + } + } + request.RequestMetadata.RetryPolicy = tfresource.GetRetryPolicy(s.DisableNotFoundRetries, "kms") _, err := s.Client.CreateVaultReplica(context.Background(), request) @@ -242,3 +284,19 @@ func (s *KmsVaultReplicaResourceCrud) DeletedTarget() []string { string(oci_kms.VaultReplicaSummaryStatusDeleted), } } + +func (s *KmsVaultReplicaResourceCrud) mapToReplicaVaultMetadata(fieldKeyFormat string) (oci_kms.ReplicaExternalVaultMetadata, error) { + result := oci_kms.ReplicaExternalVaultMetadata{} + + if privateEndpointId, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "private_endpoint_id")); ok { + tmp := privateEndpointId.(string) + result.PrivateEndpointId = &tmp + } + + if idcsAccountNameUrl, ok := s.D.GetOkExists(fmt.Sprintf(fieldKeyFormat, "idcs_account_name_url")); ok { + tmp := idcsAccountNameUrl.(string) + result.IdcsAccountNameUrl = &tmp + } + + return result, nil +} diff --git a/internal/service/sch/sch_service_connector_resource.go b/internal/service/sch/sch_service_connector_resource.go index 7e4de9f52ad..4f9ce23b771 100644 --- a/internal/service/sch/sch_service_connector_resource.go +++ b/internal/service/sch/sch_service_connector_resource.go @@ -209,6 +209,27 @@ func SchServiceConnectorResource() *schema.Resource { }, // Computed + "private_endpoint_metadata": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "rce_dns_proxy_ip_address": { + Type: schema.TypeString, + Computed: true, + }, + "rce_traffic_ip_address": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, }, }, }, @@ -376,6 +397,27 @@ func SchServiceConnectorResource() *schema.Resource { }, // Computed + "private_endpoint_metadata": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "rce_dns_proxy_ip_address": { + Type: schema.TypeString, + Computed: true, + }, + "rce_traffic_ip_address": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, }, }, }, @@ -439,6 +481,27 @@ func SchServiceConnectorResource() *schema.Resource { }, // Computed + "private_endpoint_metadata": { + Type: schema.TypeList, + Computed: true, + Elem: &schema.Resource{ + Schema: map[string]*schema.Schema{ + // Required + + // Optional + + // Computed + "rce_dns_proxy_ip_address": { + Type: schema.TypeString, + Computed: true, + }, + "rce_traffic_ip_address": { + Type: schema.TypeString, + Computed: true, + }, + }, + }, + }, }, }, }, @@ -1304,6 +1367,20 @@ func MonitoringSourceSelectedNamespaceToMap(obj oci_sch.MonitoringSourceSelected return result } +func PrivateEndpointMetadataToMap(obj *oci_sch.PrivateEndpointMetadata) map[string]interface{} { + result := map[string]interface{}{} + + if obj.RceDnsProxyIpAddress != nil { + result["rce_dns_proxy_ip_address"] = string(*obj.RceDnsProxyIpAddress) + } + + if obj.RceTrafficIpAddress != nil { + result["rce_traffic_ip_address"] = string(*obj.RceTrafficIpAddress) + } + + return result +} + func ServiceConnectorSummaryToMap(obj oci_sch.ServiceConnectorSummary) map[string]interface{} { result := map[string]interface{}{} @@ -1459,10 +1536,10 @@ func (s *SchServiceConnectorResourceCrud) mapToSourceDetails(fieldKeyFormat stri return baseObject, nil } -func SourceDetailsResponseToMap(obj *oci_sch.SourceDetails) map[string]interface{} { +func SourceDetailsResponseToMap(obj *oci_sch.SourceDetailsResponse) map[string]interface{} { result := map[string]interface{}{} switch v := (*obj).(type) { - case oci_sch.LoggingSourceDetails: + case oci_sch.LoggingSourceDetailsResponse: result["kind"] = "logging" logSources := []interface{}{} @@ -1470,7 +1547,12 @@ func SourceDetailsResponseToMap(obj *oci_sch.SourceDetails) map[string]interface logSources = append(logSources, LogSourceToMap(item)) } result["log_sources"] = logSources - case oci_sch.MonitoringSourceDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.MonitoringSourceDetailsResponse: result["kind"] = "monitoring" monitoringSources := []interface{}{} @@ -1478,7 +1560,11 @@ func SourceDetailsResponseToMap(obj *oci_sch.SourceDetails) map[string]interface monitoringSources = append(monitoringSources, MonitoringSourceToMap(item)) } result["monitoring_sources"] = monitoringSources - case oci_sch.PluginSourceDetails: + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.PluginSourceDetailsResponse: result["kind"] = "plugin" result["config_map"] = ConfigMapJsonObjectToString(v.ConfigMap) @@ -1486,7 +1572,12 @@ func SourceDetailsResponseToMap(obj *oci_sch.SourceDetails) map[string]interface if v.PluginName != nil { result["plugin_name"] = string(*v.PluginName) } - case oci_sch.StreamingSourceDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.StreamingSourceDetailsResponse: result["kind"] = "streaming" if v.Cursor != nil { @@ -1500,6 +1591,10 @@ func SourceDetailsResponseToMap(obj *oci_sch.SourceDetails) map[string]interface if v.StreamId != nil { result["stream_id"] = string(*v.StreamId) } + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } default: log.Printf("[WARN] Received 'kind' of unknown type %v", *obj) return nil @@ -1669,10 +1764,10 @@ func (s *SchServiceConnectorResourceCrud) mapToTargetDetails(fieldKeyFormat stri return baseObject, nil } -func TargetDetailsResponseToMap(obj *oci_sch.TargetDetails) map[string]interface{} { +func TargetDetailsResponseToMap(obj *oci_sch.TargetDetailsResponse) map[string]interface{} { result := map[string]interface{}{} switch v := (*obj).(type) { - case oci_sch.FunctionsTargetDetails: + case oci_sch.FunctionsTargetDetailsResponse: result["kind"] = "functions" if v.BatchSizeInKbs != nil { @@ -1690,7 +1785,12 @@ func TargetDetailsResponseToMap(obj *oci_sch.TargetDetails) map[string]interface if v.FunctionId != nil { result["function_id"] = string(*v.FunctionId) } - case oci_sch.LoggingAnalyticsTargetDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.LoggingAnalyticsTargetDetailsResponse: result["kind"] = "loggingAnalytics" if v.LogGroupId != nil { @@ -1700,7 +1800,12 @@ func TargetDetailsResponseToMap(obj *oci_sch.TargetDetails) map[string]interface if v.LogSourceIdentifier != nil { result["log_source_identifier"] = string(*v.LogSourceIdentifier) } - case oci_sch.MonitoringTargetDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.MonitoringTargetDetailsResponse: result["kind"] = "monitoring" if v.CompartmentId != nil { @@ -1720,7 +1825,12 @@ func TargetDetailsResponseToMap(obj *oci_sch.TargetDetails) map[string]interface if v.MetricNamespace != nil { result["metric_namespace"] = string(*v.MetricNamespace) } - case oci_sch.NotificationsTargetDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.NotificationsTargetDetailsResponse: result["kind"] = "notifications" if v.EnableFormattedMessaging != nil { @@ -1730,7 +1840,12 @@ func TargetDetailsResponseToMap(obj *oci_sch.TargetDetails) map[string]interface if v.TopicId != nil { result["topic_id"] = string(*v.TopicId) } - case oci_sch.ObjectStorageTargetDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.ObjectStorageTargetDetailsResponse: result["kind"] = "objectStorage" if v.BatchRolloverSizeInMBs != nil { @@ -1752,12 +1867,21 @@ func TargetDetailsResponseToMap(obj *oci_sch.TargetDetails) map[string]interface if v.ObjectNamePrefix != nil { result["object_name_prefix"] = string(*v.ObjectNamePrefix) } - case oci_sch.StreamingTargetDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.StreamingTargetDetailsResponse: result["kind"] = "streaming" if v.StreamId != nil { result["stream_id"] = string(*v.StreamId) } + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } default: log.Printf("[WARN] Received 'kind' of unknown type %v", *obj) return nil @@ -1805,10 +1929,10 @@ func (s *SchServiceConnectorResourceCrud) mapToTaskDetails(fieldKeyFormat string return baseObject, nil } -func TaskDetailsResponseToMap(obj oci_sch.TaskDetails) map[string]interface{} { +func TaskDetailsResponseToMap(obj oci_sch.TaskDetailsResponse) map[string]interface{} { result := map[string]interface{}{} switch v := (obj).(type) { - case oci_sch.FunctionTaskDetails: + case oci_sch.FunctionTaskDetailsResponse: result["kind"] = "function" if v.BatchSizeInKbs != nil { @@ -1822,12 +1946,21 @@ func TaskDetailsResponseToMap(obj oci_sch.TaskDetails) map[string]interface{} { if v.FunctionId != nil { result["function_id"] = string(*v.FunctionId) } - case oci_sch.LogRuleTaskDetails: + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } + + case oci_sch.LogRuleTaskDetailsResponse: result["kind"] = "logRule" if v.Condition != nil { result["condition"] = string(*v.Condition) } + + if v.PrivateEndpointMetadata != nil { + result["private_endpoint_metadata"] = []interface{}{PrivateEndpointMetadataToMap(v.PrivateEndpointMetadata)} + } default: log.Printf("[WARN] Received 'kind' of unknown type %v", obj) return nil diff --git a/internal/tfresource/retry.go b/internal/tfresource/retry.go index 6b70e2027b6..6d338a79e37 100644 --- a/internal/tfresource/retry.go +++ b/internal/tfresource/retry.go @@ -65,7 +65,23 @@ func init() { } func GetRetryBackoffDuration(response oci_common.OCIOperationResponse, disableNotFoundRetries bool, service string, startTime time.Time, optionals ...interface{}) time.Duration { - return getRetryBackoffDurationWithExpectedRetryDurationFn(response, disableNotFoundRetries, service, startTime, getExpectedRetryDuration, optionals...) + backoffDuration := getRetryBackoffDurationWithExpectedRetryDurationFn(response, disableNotFoundRetries, service, startTime, getExpectedRetryDuration, optionals...) + // Do nothing if service specific retry duration exists + if _, ok := serviceExpectedRetryDurationMap[service]; ok { + return backoffDuration + } + if response.Response != nil && response.Response.HTTPResponse() != nil { + statusCode := response.Response.HTTPResponse().StatusCode + switch statusCode { + case 429: + utils.Logf("[DEGUG] Handling Retry Timeout for API Response Error Code 429") + utils.Logf("[DEGUG] Retry Timeout before handling API Response Error Code 429 is %s", backoffDuration) + expectedRetryDuration := getExpectedRetryDuration(response, disableNotFoundRetries, service, optionals...) + backoffDuration = backoffDuration + expectedRetryDuration + utils.Logf("[DEGUG] Retry Timeout after handling API Response Error Code 429 is %s", backoffDuration) + } + } + return backoffDuration } func getRetryBackoffDurationWithExpectedRetryDurationFn(response oci_common.OCIOperationResponse, disableNotFoundRetries bool, service string, startTime time.Time, expectedRetryDurationFn expectedRetryDurationFn, optionals ...interface{}) time.Duration { 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 098ad4c670f..34d5f11e9ca 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 @@ -12,8 +12,8 @@ import ( const ( major = "65" - minor = "88" - patch = "1" + minor = "89" + patch = "0" tag = "" ) diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerinstances/container_command_health_check.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerinstances/container_command_health_check.go deleted file mode 100644 index ff4e6925c25..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerinstances/container_command_health_check.go +++ /dev/null @@ -1,133 +0,0 @@ -// Copyright (c) 2016, 2018, 2025, 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. - -// Container Instance API -// -// A description of the Container Instance API -// - -package containerinstances - -import ( - "encoding/json" - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// ContainerCommandHealthCheck Container Health Check with command type. -type ContainerCommandHealthCheck struct { - - // The list of strings that will be simplified to a single command for checking the status of the container. - Command []string `mandatory:"true" json:"command"` - - // Health check name. - Name *string `mandatory:"false" json:"name"` - - // The initial delay in seconds before start checking container health status. - InitialDelayInSeconds *int `mandatory:"false" json:"initialDelayInSeconds"` - - // Number of seconds between two consecutive runs for checking container health. - IntervalInSeconds *int `mandatory:"false" json:"intervalInSeconds"` - - // Number of consecutive failures at which we consider the check failed. - FailureThreshold *int `mandatory:"false" json:"failureThreshold"` - - // Number of consecutive successes at which we consider the check succeeded again after it was in failure state. - SuccessThreshold *int `mandatory:"false" json:"successThreshold"` - - // Length of waiting time in seconds before marking health check failed. - TimeoutInSeconds *int `mandatory:"false" json:"timeoutInSeconds"` - - // A message describing the current status in more details. - StatusDetails *string `mandatory:"false" json:"statusDetails"` - - // Status of container - Status ContainerHealthCheckStatusEnum `mandatory:"false" json:"status,omitempty"` - - // The action will be triggered when the container health check fails. There are two types of action: KILL or NONE. The default - // action is KILL. If failure action is KILL, the container will be subject to the container restart policy. - FailureAction ContainerHealthCheckFailureActionEnum `mandatory:"false" json:"failureAction,omitempty"` -} - -// GetName returns Name -func (m ContainerCommandHealthCheck) GetName() *string { - return m.Name -} - -// GetInitialDelayInSeconds returns InitialDelayInSeconds -func (m ContainerCommandHealthCheck) GetInitialDelayInSeconds() *int { - return m.InitialDelayInSeconds -} - -// GetIntervalInSeconds returns IntervalInSeconds -func (m ContainerCommandHealthCheck) GetIntervalInSeconds() *int { - return m.IntervalInSeconds -} - -// GetFailureThreshold returns FailureThreshold -func (m ContainerCommandHealthCheck) GetFailureThreshold() *int { - return m.FailureThreshold -} - -// GetSuccessThreshold returns SuccessThreshold -func (m ContainerCommandHealthCheck) GetSuccessThreshold() *int { - return m.SuccessThreshold -} - -// GetTimeoutInSeconds returns TimeoutInSeconds -func (m ContainerCommandHealthCheck) GetTimeoutInSeconds() *int { - return m.TimeoutInSeconds -} - -// GetStatus returns Status -func (m ContainerCommandHealthCheck) GetStatus() ContainerHealthCheckStatusEnum { - return m.Status -} - -// GetStatusDetails returns StatusDetails -func (m ContainerCommandHealthCheck) GetStatusDetails() *string { - return m.StatusDetails -} - -// GetFailureAction returns FailureAction -func (m ContainerCommandHealthCheck) GetFailureAction() ContainerHealthCheckFailureActionEnum { - return m.FailureAction -} - -func (m ContainerCommandHealthCheck) 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 ContainerCommandHealthCheck) ValidateEnumValue() (bool, error) { - errMessage := []string{} - - if _, ok := GetMappingContainerHealthCheckStatusEnum(string(m.Status)); !ok && m.Status != "" { - errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for Status: %s. Supported values are: %s.", m.Status, strings.Join(GetContainerHealthCheckStatusEnumStringValues(), ","))) - } - if _, ok := GetMappingContainerHealthCheckFailureActionEnum(string(m.FailureAction)); !ok && m.FailureAction != "" { - errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for FailureAction: %s. Supported values are: %s.", m.FailureAction, strings.Join(GetContainerHealthCheckFailureActionEnumStringValues(), ","))) - } - if len(errMessage) > 0 { - return true, fmt.Errorf(strings.Join(errMessage, "\n")) - } - return false, nil -} - -// MarshalJSON marshals to json representation -func (m ContainerCommandHealthCheck) MarshalJSON() (buff []byte, e error) { - type MarshalTypeContainerCommandHealthCheck ContainerCommandHealthCheck - s := struct { - DiscriminatorParam string `json:"healthCheckType"` - MarshalTypeContainerCommandHealthCheck - }{ - "COMMAND", - (MarshalTypeContainerCommandHealthCheck)(m), - } - - return json.Marshal(&s) -} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/containerinstances/create_container_command_health_check_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/containerinstances/create_container_command_health_check_details.go deleted file mode 100644 index ab989108cbd..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/containerinstances/create_container_command_health_check_details.go +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c) 2016, 2018, 2025, 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. - -// Container Instance API -// -// A description of the Container Instance API -// - -package containerinstances - -import ( - "encoding/json" - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// CreateContainerCommandHealthCheckDetails Container Health Check Command type. -type CreateContainerCommandHealthCheckDetails struct { - - // The list of strings that will be simplified to a single command for checking the status of the container. - Command []string `mandatory:"true" json:"command"` - - // Health check name. - Name *string `mandatory:"false" json:"name"` - - // The initial delay in seconds before start checking container health status. - InitialDelayInSeconds *int `mandatory:"false" json:"initialDelayInSeconds"` - - // Number of seconds between two consecutive runs for checking container health. - IntervalInSeconds *int `mandatory:"false" json:"intervalInSeconds"` - - // Number of consecutive failures at which we consider the check failed. - FailureThreshold *int `mandatory:"false" json:"failureThreshold"` - - // Number of consecutive successes at which we consider the check succeeded again after it was in failure state. - SuccessThreshold *int `mandatory:"false" json:"successThreshold"` - - // Length of waiting time in seconds before marking health check failed. - TimeoutInSeconds *int `mandatory:"false" json:"timeoutInSeconds"` - - // The action will be triggered when the container health check fails. There are two types of action: KILL or NONE. The default - // action is KILL. If failure action is KILL, the container will be subject to the container restart policy. - FailureAction ContainerHealthCheckFailureActionEnum `mandatory:"false" json:"failureAction,omitempty"` -} - -// GetName returns Name -func (m CreateContainerCommandHealthCheckDetails) GetName() *string { - return m.Name -} - -// GetInitialDelayInSeconds returns InitialDelayInSeconds -func (m CreateContainerCommandHealthCheckDetails) GetInitialDelayInSeconds() *int { - return m.InitialDelayInSeconds -} - -// GetIntervalInSeconds returns IntervalInSeconds -func (m CreateContainerCommandHealthCheckDetails) GetIntervalInSeconds() *int { - return m.IntervalInSeconds -} - -// GetFailureThreshold returns FailureThreshold -func (m CreateContainerCommandHealthCheckDetails) GetFailureThreshold() *int { - return m.FailureThreshold -} - -// GetSuccessThreshold returns SuccessThreshold -func (m CreateContainerCommandHealthCheckDetails) GetSuccessThreshold() *int { - return m.SuccessThreshold -} - -// GetTimeoutInSeconds returns TimeoutInSeconds -func (m CreateContainerCommandHealthCheckDetails) GetTimeoutInSeconds() *int { - return m.TimeoutInSeconds -} - -// GetFailureAction returns FailureAction -func (m CreateContainerCommandHealthCheckDetails) GetFailureAction() ContainerHealthCheckFailureActionEnum { - return m.FailureAction -} - -func (m CreateContainerCommandHealthCheckDetails) 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 CreateContainerCommandHealthCheckDetails) ValidateEnumValue() (bool, error) { - errMessage := []string{} - - if _, ok := GetMappingContainerHealthCheckFailureActionEnum(string(m.FailureAction)); !ok && m.FailureAction != "" { - errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for FailureAction: %s. Supported values are: %s.", m.FailureAction, strings.Join(GetContainerHealthCheckFailureActionEnumStringValues(), ","))) - } - if len(errMessage) > 0 { - return true, fmt.Errorf(strings.Join(errMessage, "\n")) - } - return false, nil -} - -// MarshalJSON marshals to json representation -func (m CreateContainerCommandHealthCheckDetails) MarshalJSON() (buff []byte, e error) { - type MarshalTypeCreateContainerCommandHealthCheckDetails CreateContainerCommandHealthCheckDetails - s := struct { - DiscriminatorParam string `json:"healthCheckType"` - MarshalTypeCreateContainerCommandHealthCheckDetails - }{ - "COMMAND", - (MarshalTypeCreateContainerCommandHealthCheckDetails)(m), - } - - return json.Marshal(&s) -} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/datasafe/create_audit_policy_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/datasafe/create_audit_policy_details.go deleted file mode 100644 index 25a7f3d16c9..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/datasafe/create_audit_policy_details.go +++ /dev/null @@ -1,56 +0,0 @@ -// Copyright (c) 2016, 2018, 2025, 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. - -// Data Safe API -// -// APIs for using Oracle Data Safe. -// - -package datasafe - -import ( - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// CreateAuditPolicyDetails Details for the new audit policy. -type CreateAuditPolicyDetails struct { - - // The OCID of the compartment where you want to create the audit policy. - CompartmentId *string `mandatory:"true" json:"compartmentId"` - - // The OCID of the target for which the audit policy has to be created. - TargetId *string `mandatory:"true" json:"targetId"` - - // The display name of the audit policy. The name does not have to be unique, and it is changeable. - DisplayName *string `mandatory:"false" json:"displayName"` - - // The description of the audit policy. - Description *string `mandatory:"false" json:"description"` - - // 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"}` - FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` - - // 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) - // Example: `{"Operations": {"CostCenter": "42"}}` - DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` -} - -func (m CreateAuditPolicyDetails) 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 CreateAuditPolicyDetails) 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/datasafe/create_audit_profile_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/datasafe/create_audit_profile_details.go deleted file mode 100644 index b060279e923..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/datasafe/create_audit_profile_details.go +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) 2016, 2018, 2025, 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. - -// Data Safe API -// -// APIs for using Oracle Data Safe. -// - -package datasafe - -import ( - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// CreateAuditProfileDetails The details used to create a new audit profile. -type CreateAuditProfileDetails struct { - - // The OCID of the compartment where you want to create the audit profile. - CompartmentId *string `mandatory:"true" json:"compartmentId"` - - // The OCID of the Data Safe target for which the audit profile is created. - TargetId *string `mandatory:"true" json:"targetId"` - - // The display name of the audit profile. The name does not have to be unique, and it's changeable. - DisplayName *string `mandatory:"false" json:"displayName"` - - // The description of the audit profile. - Description *string `mandatory:"false" json:"description"` - - // Indicates if you want to continue collecting audit records beyond the free limit of one million audit records per month per target database, - // potentially incurring additional charges. The default value is inherited from the global settings. - // You can change at the global level or at the target level. - IsPaidUsageEnabled *bool `mandatory:"false" json:"isPaidUsageEnabled"` - - // 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"}` - FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` - - // 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) - // Example: `{"Operations": {"CostCenter": "42"}}` - DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` -} - -func (m CreateAuditProfileDetails) 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 CreateAuditProfileDetails) 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/functions/invoke_function_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/functions/invoke_function_request_response.go index dab189a6b1f..4401d44ed05 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/functions/invoke_function_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/functions/invoke_function_request_response.go @@ -37,6 +37,9 @@ type InvokeFunctionRequest struct { // particular request, please provide the request ID. OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + // Indicates that the request is a dry run, if set to "true". A dry run request does not execute the function. + IsDryRun *bool `mandatory:"false" contributesTo:"header" name:"is-dry-run"` + // 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/opensearch/opensearch_pipeline_validation_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/add_deployment_local_peer_details.go similarity index 53% rename from vendor/github.com/oracle/oci-go-sdk/v65/opensearch/opensearch_pipeline_validation_response.go rename to vendor/github.com/oracle/oci-go-sdk/v65/goldengate/add_deployment_local_peer_details.go index bf40ae0ae5c..f7d87caeff3 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/opensearch/opensearch_pipeline_validation_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/add_deployment_local_peer_details.go @@ -2,12 +2,12 @@ // 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. -// OpenSearch Service API +// GoldenGate API // -// The OpenSearch service API provides access to OCI Search Service with OpenSearch. +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. // -package opensearch +package goldengate import ( "fmt" @@ -15,24 +15,24 @@ import ( "strings" ) -// OpensearchPipelineValidationResponse Details for validation of customer input pipeline configuration. -type OpensearchPipelineValidationResponse struct { +// AddDeploymentLocalPeerDetails The information about adding a deployment peer in list. +type AddDeploymentLocalPeerDetails struct { - // An array of errors in the pipeline configuration which is given for validation. - Errors []PipelineValidationErrorDetails `mandatory:"true" json:"errors"` + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"false" json:"availabilityDomain"` - // Boolean value which tells us if the pipeline configuration given by user is valid or not. - IsValid *bool `mandatory:"true" json:"isValid"` + // The fault domain of a placement. + FaultDomain *string `mandatory:"false" json:"faultDomain"` } -func (m OpensearchPipelineValidationResponse) String() string { +func (m AddDeploymentLocalPeerDetails) 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 OpensearchPipelineValidationResponse) ValidateEnumValue() (bool, error) { +func (m AddDeploymentLocalPeerDetails) ValidateEnumValue() (bool, error) { errMessage := []string{} if len(errMessage) > 0 { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/add_deployment_local_peer_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/add_deployment_local_peer_request_response.go new file mode 100644 index 00000000000..fd60a18ed46 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/add_deployment_local_peer_request_response.go @@ -0,0 +1,106 @@ +// Copyright (c) 2016, 2018, 2025, 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 goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// AddDeploymentLocalPeerRequest wrapper for the AddDeploymentLocalPeer operation +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/AddDeploymentLocalPeer.go.html to see an example of how to use AddDeploymentLocalPeerRequest. +type AddDeploymentLocalPeerRequest struct { + + // A unique Deployment identifier. + DeploymentId *string `mandatory:"true" contributesTo:"path" name:"deploymentId"` + + // Metadata to add a local deployment + AddDeploymentLocalPeerDetails `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 is 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"` + + // The client request ID for tracing. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // A token that uniquely identifies a request so it can be retried, in case of a timeout or server error, + // without the 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 was deleted and purged + // from the system, then a retry of the original creation request is rejected. + OpcRetryToken *string `mandatory:"false" contributesTo:"header" name:"opc-retry-token"` + + // 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 AddDeploymentLocalPeerRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request AddDeploymentLocalPeerRequest) 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 AddDeploymentLocalPeerRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request AddDeploymentLocalPeerRequest) 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 AddDeploymentLocalPeerRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// AddDeploymentLocalPeerResponse wrapper for the AddDeploymentLocalPeer operation +type AddDeploymentLocalPeerResponse struct { + + // The underlying http response + RawResponse *http.Response + + // A unique Oracle-assigned identifier for an asynchronous request. You can use this to query + // status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please include the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response AddDeploymentLocalPeerResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response AddDeploymentLocalPeerResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/collect_pipeline_diagnostic_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/collect_pipeline_diagnostic_details.go new file mode 100644 index 00000000000..788093bcc11 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/collect_pipeline_diagnostic_details.go @@ -0,0 +1,45 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// CollectPipelineDiagnosticDetails Details for collecting pipeline diagnostics +type CollectPipelineDiagnosticDetails struct { + + // Name of namespace that serves as a container for all of your buckets + NamespaceName *string `mandatory:"true" json:"namespaceName"` + + // Name of the bucket where the object is to be uploaded in the object storage + BucketName *string `mandatory:"true" json:"bucketName"` + + // Name of the diagnostic collected and uploaded to object storage + DiagnosticNamePrefix *string `mandatory:"false" json:"diagnosticNamePrefix"` +} + +func (m CollectPipelineDiagnosticDetails) 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 CollectPipelineDiagnosticDetails) 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/goldengate/collect_pipeline_diagnostic_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/collect_pipeline_diagnostic_request_response.go new file mode 100644 index 00000000000..2423efe7e2d --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/collect_pipeline_diagnostic_request_response.go @@ -0,0 +1,106 @@ +// Copyright (c) 2016, 2018, 2025, 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 goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// CollectPipelineDiagnosticRequest wrapper for the CollectPipelineDiagnostic operation +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/CollectPipelineDiagnostic.go.html to see an example of how to use CollectPipelineDiagnosticRequest. +type CollectPipelineDiagnosticRequest struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the pipeline created. + PipelineId *string `mandatory:"true" contributesTo:"path" name:"pipelineId"` + + // Details for collecting the diagnostic. It includes the object storage information where the diagnostic will be uploaded. + CollectPipelineDiagnosticDetails `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 is 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"` + + // The client request ID for tracing. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // A token that uniquely identifies a request so it can be retried, in case of a timeout or server error, + // without the 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 was deleted and purged + // from the system, then a retry of the original creation request is rejected. + OpcRetryToken *string `mandatory:"false" contributesTo:"header" name:"opc-retry-token"` + + // 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 CollectPipelineDiagnosticRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request CollectPipelineDiagnosticRequest) 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 CollectPipelineDiagnosticRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request CollectPipelineDiagnosticRequest) 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 CollectPipelineDiagnosticRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// CollectPipelineDiagnosticResponse wrapper for the CollectPipelineDiagnostic operation +type CollectPipelineDiagnosticResponse struct { + + // The underlying http response + RawResponse *http.Response + + // A unique Oracle-assigned identifier for an asynchronous request. You can use this to query + // status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please include the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response CollectPipelineDiagnosticResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response CollectPipelineDiagnosticResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/create_deployment_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/create_deployment_details.go index b4a733a0e66..443fcb59505 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/create_deployment_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/create_deployment_details.go @@ -21,9 +21,6 @@ type CreateDeploymentDetails struct { // An object's Display Name. DisplayName *string `mandatory:"true" json:"displayName"` - // The Oracle license model that applies to a Deployment. - LicenseModel LicenseModelEnum `mandatory:"true" json:"licenseModel"` - // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment being referenced. CompartmentId *string `mandatory:"true" json:"compartmentId"` @@ -32,16 +29,8 @@ type CreateDeploymentDetails struct { // after which the private subnet will be enforced. SubnetId *string `mandatory:"true" json:"subnetId"` - // The Minimum number of OCPUs to be made available for this Deployment. - CpuCoreCount *int `mandatory:"true" json:"cpuCoreCount"` - - // Indicates if auto scaling is enabled for the Deployment's CPU core count. - IsAutoScalingEnabled *bool `mandatory:"true" json:"isAutoScalingEnabled"` - - // The type of deployment, which can be any one of the Allowed values. - // NOTE: Use of the value 'OGG' is maintained for backward compatibility purposes. - // Its use is discouraged in favor of 'DATABASE_ORACLE'. - DeploymentType DeploymentTypeEnum `mandatory:"true" json:"deploymentType"` + // The Oracle license model that applies to a Deployment. + LicenseModel LicenseModelEnum `mandatory:"false" json:"licenseModel,omitempty"` // Specifies whether the deployment is used in a production or development/testing environment. EnvironmentType EnvironmentTypeEnum `mandatory:"false" json:"environmentType,omitempty"` @@ -49,6 +38,18 @@ type CreateDeploymentDetails struct { // Metadata about this specific object. Description *string `mandatory:"false" json:"description"` + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the deployment being referenced. + SourceDeploymentId *string `mandatory:"false" json:"sourceDeploymentId"` + + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"false" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"false" json:"faultDomain"` + + // An array of local peers of deployment + Placements []DeploymentPlacementDetails `mandatory:"false" json:"placements"` + // A simple key-value pair that is applied without any predefined name, type, or scope. Exists // for cross-compatibility only. // Example: `{"bar-key": "value"}` @@ -78,6 +79,17 @@ type CreateDeploymentDetails struct { // True if this object is publicly available. IsPublic *bool `mandatory:"false" json:"isPublic"` + // The Minimum number of OCPUs to be made available for this Deployment. + CpuCoreCount *int `mandatory:"false" json:"cpuCoreCount"` + + // Indicates if auto scaling is enabled for the Deployment's CPU core count. + IsAutoScalingEnabled *bool `mandatory:"false" json:"isAutoScalingEnabled"` + + // The type of deployment, which can be any one of the Allowed values. + // NOTE: Use of the value 'OGG' is maintained for backward compatibility purposes. + // Its use is discouraged in favor of 'DATABASE_ORACLE'. + DeploymentType DeploymentTypeEnum `mandatory:"false" json:"deploymentType,omitempty"` + OggData *CreateOggDeploymentDetails `mandatory:"false" json:"oggData"` MaintenanceWindow *CreateMaintenanceWindowDetails `mandatory:"false" json:"maintenanceWindow"` @@ -96,16 +108,16 @@ func (m CreateDeploymentDetails) String() string { // Not recommended for calling this function directly func (m CreateDeploymentDetails) ValidateEnumValue() (bool, error) { errMessage := []string{} + if _, ok := GetMappingLicenseModelEnum(string(m.LicenseModel)); !ok && m.LicenseModel != "" { errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LicenseModel: %s. Supported values are: %s.", m.LicenseModel, strings.Join(GetLicenseModelEnumStringValues(), ","))) } - if _, ok := GetMappingDeploymentTypeEnum(string(m.DeploymentType)); !ok && m.DeploymentType != "" { - errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DeploymentType: %s. Supported values are: %s.", m.DeploymentType, strings.Join(GetDeploymentTypeEnumStringValues(), ","))) - } - if _, ok := GetMappingEnvironmentTypeEnum(string(m.EnvironmentType)); !ok && m.EnvironmentType != "" { errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for EnvironmentType: %s. Supported values are: %s.", m.EnvironmentType, strings.Join(GetEnvironmentTypeEnumStringValues(), ","))) } + if _, ok := GetMappingDeploymentTypeEnum(string(m.DeploymentType)); !ok && m.DeploymentType != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DeploymentType: %s. Supported values are: %s.", m.DeploymentType, strings.Join(GetDeploymentTypeEnumStringValues(), ","))) + } if len(errMessage) > 0 { return true, fmt.Errorf(strings.Join(errMessage, "\n")) } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment.go index 4a4473cbace..ff1b01fbe88 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment.go @@ -53,6 +53,25 @@ type Deployment struct { // Metadata about this specific object. Description *string `mandatory:"false" json:"description"` + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"false" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"false" json:"faultDomain"` + + // The type of the deployment role. + DeploymentRole DeploymentRoleEnum `mandatory:"false" json:"deploymentRole,omitempty"` + + // The time of the last role change. The format is defined by + // RFC3339 (https://tools.ietf.org/html/rfc3339), such as `2016-08-25T21:10:29.600Z`. + TimeRoleChanged *common.SDKTime `mandatory:"false" json:"timeRoleChanged"` + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the deployment being referenced. + SourceDeploymentId *string `mandatory:"false" json:"sourceDeploymentId"` + + // An array of local peers of deployment + Placements []DeploymentPlacementInfo `mandatory:"false" json:"placements"` + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the backup being referenced. DeploymentBackupId *string `mandatory:"false" json:"deploymentBackupId"` @@ -201,6 +220,9 @@ func (m Deployment) ValidateEnumValue() (bool, error) { errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DeploymentType: %s. Supported values are: %s.", m.DeploymentType, strings.Join(GetDeploymentTypeEnumStringValues(), ","))) } + if _, ok := GetMappingDeploymentRoleEnum(string(m.DeploymentRole)); !ok && m.DeploymentRole != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DeploymentRole: %s. Supported values are: %s.", m.DeploymentRole, strings.Join(GetDeploymentRoleEnumStringValues(), ","))) + } if _, ok := GetMappingLifecycleStateEnum(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(GetLifecycleStateEnumStringValues(), ","))) } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opensearch/pipeline_validation_error_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_collection.go similarity index 63% rename from vendor/github.com/oracle/oci-go-sdk/v65/opensearch/pipeline_validation_error_details.go rename to vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_collection.go index 19ec4022007..eee2f10595f 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/opensearch/pipeline_validation_error_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_collection.go @@ -2,12 +2,12 @@ // 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. -// OpenSearch Service API +// GoldenGate API // -// The OpenSearch service API provides access to OCI Search Service with OpenSearch. +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. // -package opensearch +package goldengate import ( "fmt" @@ -15,19 +15,21 @@ import ( "strings" ) -// PipelineValidationErrorDetails The configuration details for validating pipeline configuration provided as input. -type PipelineValidationErrorDetails struct { - Message *string `mandatory:"true" json:"message"` +// DeploymentPeerCollection A list of DeploymentPeers. +type DeploymentPeerCollection struct { + + // An array of DeploymentPeers. + Items []DeploymentPeerSummary `mandatory:"true" json:"items"` } -func (m PipelineValidationErrorDetails) String() string { +func (m DeploymentPeerCollection) 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 PipelineValidationErrorDetails) ValidateEnumValue() (bool, error) { +func (m DeploymentPeerCollection) ValidateEnumValue() (bool, error) { errMessage := []string{} if len(errMessage) > 0 { diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_summary.go new file mode 100644 index 00000000000..743e493fff1 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_summary.go @@ -0,0 +1,136 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DeploymentPeerSummary The summary of the deployment Peer. +type DeploymentPeerSummary struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the deployment being referenced. + DeploymentId *string `mandatory:"true" json:"deploymentId"` + + // The name of the region. e.g.: us-ashburn-1 + // If the region is not provided, backend will default to the default region. + Region *string `mandatory:"true" json:"region"` + + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"true" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"true" json:"faultDomain"` + + // An object's Display Name. + DisplayName *string `mandatory:"true" json:"displayName"` + + // The type of the deployment peer. + PeerType DeploymentPeerTypeEnum `mandatory:"true" json:"peerType"` + + // The type of the deployment role. + PeerRole DeploymentRoleEnum `mandatory:"true" json:"peerRole"` + + // The time the resource was created. The format is defined by + // RFC3339 (https://tools.ietf.org/html/rfc3339), such as `2016-08-25T21:10:29.600Z`. + TimeCreated *common.SDKTime `mandatory:"true" json:"timeCreated"` + + // The time the resource was last updated. The format is defined by + // RFC3339 (https://tools.ietf.org/html/rfc3339), such as `2016-08-25T21:10:29.600Z`. + TimeUpdated *common.SDKTime `mandatory:"true" json:"timeUpdated"` + + // The time of the last role change. The format is defined by + // RFC3339 (https://tools.ietf.org/html/rfc3339), such as `2016-08-25T21:10:29.600Z`. + TimeRoleChanged *common.SDKTime `mandatory:"true" json:"timeRoleChanged"` + + // Possible lifecycle states for deployment peer. + LifecycleState DeploymentPeerSummaryLifecycleStateEnum `mandatory:"true" json:"lifecycleState"` +} + +func (m DeploymentPeerSummary) 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 DeploymentPeerSummary) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if _, ok := GetMappingDeploymentPeerTypeEnum(string(m.PeerType)); !ok && m.PeerType != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for PeerType: %s. Supported values are: %s.", m.PeerType, strings.Join(GetDeploymentPeerTypeEnumStringValues(), ","))) + } + if _, ok := GetMappingDeploymentRoleEnum(string(m.PeerRole)); !ok && m.PeerRole != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for PeerRole: %s. Supported values are: %s.", m.PeerRole, strings.Join(GetDeploymentRoleEnumStringValues(), ","))) + } + if _, ok := GetMappingDeploymentPeerSummaryLifecycleStateEnum(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(GetDeploymentPeerSummaryLifecycleStateEnumStringValues(), ","))) + } + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// DeploymentPeerSummaryLifecycleStateEnum Enum with underlying type: string +type DeploymentPeerSummaryLifecycleStateEnum string + +// Set of constants representing the allowable values for DeploymentPeerSummaryLifecycleStateEnum +const ( + DeploymentPeerSummaryLifecycleStateCreating DeploymentPeerSummaryLifecycleStateEnum = "CREATING" + DeploymentPeerSummaryLifecycleStateActive DeploymentPeerSummaryLifecycleStateEnum = "ACTIVE" + DeploymentPeerSummaryLifecycleStateFailed DeploymentPeerSummaryLifecycleStateEnum = "FAILED" + DeploymentPeerSummaryLifecycleStateUpdating DeploymentPeerSummaryLifecycleStateEnum = "UPDATING" + DeploymentPeerSummaryLifecycleStateDeleting DeploymentPeerSummaryLifecycleStateEnum = "DELETING" +) + +var mappingDeploymentPeerSummaryLifecycleStateEnum = map[string]DeploymentPeerSummaryLifecycleStateEnum{ + "CREATING": DeploymentPeerSummaryLifecycleStateCreating, + "ACTIVE": DeploymentPeerSummaryLifecycleStateActive, + "FAILED": DeploymentPeerSummaryLifecycleStateFailed, + "UPDATING": DeploymentPeerSummaryLifecycleStateUpdating, + "DELETING": DeploymentPeerSummaryLifecycleStateDeleting, +} + +var mappingDeploymentPeerSummaryLifecycleStateEnumLowerCase = map[string]DeploymentPeerSummaryLifecycleStateEnum{ + "creating": DeploymentPeerSummaryLifecycleStateCreating, + "active": DeploymentPeerSummaryLifecycleStateActive, + "failed": DeploymentPeerSummaryLifecycleStateFailed, + "updating": DeploymentPeerSummaryLifecycleStateUpdating, + "deleting": DeploymentPeerSummaryLifecycleStateDeleting, +} + +// GetDeploymentPeerSummaryLifecycleStateEnumValues Enumerates the set of values for DeploymentPeerSummaryLifecycleStateEnum +func GetDeploymentPeerSummaryLifecycleStateEnumValues() []DeploymentPeerSummaryLifecycleStateEnum { + values := make([]DeploymentPeerSummaryLifecycleStateEnum, 0) + for _, v := range mappingDeploymentPeerSummaryLifecycleStateEnum { + values = append(values, v) + } + return values +} + +// GetDeploymentPeerSummaryLifecycleStateEnumStringValues Enumerates the set of values in String for DeploymentPeerSummaryLifecycleStateEnum +func GetDeploymentPeerSummaryLifecycleStateEnumStringValues() []string { + return []string{ + "CREATING", + "ACTIVE", + "FAILED", + "UPDATING", + "DELETING", + } +} + +// GetMappingDeploymentPeerSummaryLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingDeploymentPeerSummaryLifecycleStateEnum(val string) (DeploymentPeerSummaryLifecycleStateEnum, bool) { + enum, ok := mappingDeploymentPeerSummaryLifecycleStateEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_type.go new file mode 100644 index 00000000000..a828f03aaa8 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_peer_type.go @@ -0,0 +1,56 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "strings" +) + +// DeploymentPeerTypeEnum Enum with underlying type: string +type DeploymentPeerTypeEnum string + +// Set of constants representing the allowable values for DeploymentPeerTypeEnum +const ( + DeploymentPeerTypeLocal DeploymentPeerTypeEnum = "LOCAL" + DeploymentPeerTypeRemote DeploymentPeerTypeEnum = "REMOTE" +) + +var mappingDeploymentPeerTypeEnum = map[string]DeploymentPeerTypeEnum{ + "LOCAL": DeploymentPeerTypeLocal, + "REMOTE": DeploymentPeerTypeRemote, +} + +var mappingDeploymentPeerTypeEnumLowerCase = map[string]DeploymentPeerTypeEnum{ + "local": DeploymentPeerTypeLocal, + "remote": DeploymentPeerTypeRemote, +} + +// GetDeploymentPeerTypeEnumValues Enumerates the set of values for DeploymentPeerTypeEnum +func GetDeploymentPeerTypeEnumValues() []DeploymentPeerTypeEnum { + values := make([]DeploymentPeerTypeEnum, 0) + for _, v := range mappingDeploymentPeerTypeEnum { + values = append(values, v) + } + return values +} + +// GetDeploymentPeerTypeEnumStringValues Enumerates the set of values in String for DeploymentPeerTypeEnum +func GetDeploymentPeerTypeEnumStringValues() []string { + return []string{ + "LOCAL", + "REMOTE", + } +} + +// GetMappingDeploymentPeerTypeEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingDeploymentPeerTypeEnum(val string) (DeploymentPeerTypeEnum, bool) { + enum, ok := mappingDeploymentPeerTypeEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_placement_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_placement_details.go new file mode 100644 index 00000000000..39dce74b50d --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_placement_details.go @@ -0,0 +1,44 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DeploymentPlacementDetails Specifies a possible deployment placement. +// Placement either explicitly specifies the availability and fault domain, +// or it is partial and lets Oracle to find an optimal placement. +type DeploymentPlacementDetails struct { + + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"false" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"false" json:"faultDomain"` +} + +func (m DeploymentPlacementDetails) 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 DeploymentPlacementDetails) 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/goldengate/deployment_placement_info.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_placement_info.go new file mode 100644 index 00000000000..7333b56d0b5 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_placement_info.go @@ -0,0 +1,42 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// DeploymentPlacementInfo Specifies a deployment placement with explicit availability and fault domain specification. +type DeploymentPlacementInfo struct { + + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"true" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"true" json:"faultDomain"` +} + +func (m DeploymentPlacementInfo) 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 DeploymentPlacementInfo) 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/goldengate/deployment_role.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_role.go new file mode 100644 index 00000000000..7b1028c249f --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_role.go @@ -0,0 +1,56 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "strings" +) + +// DeploymentRoleEnum Enum with underlying type: string +type DeploymentRoleEnum string + +// Set of constants representing the allowable values for DeploymentRoleEnum +const ( + DeploymentRolePrimary DeploymentRoleEnum = "PRIMARY" + DeploymentRoleStandby DeploymentRoleEnum = "STANDBY" +) + +var mappingDeploymentRoleEnum = map[string]DeploymentRoleEnum{ + "PRIMARY": DeploymentRolePrimary, + "STANDBY": DeploymentRoleStandby, +} + +var mappingDeploymentRoleEnumLowerCase = map[string]DeploymentRoleEnum{ + "primary": DeploymentRolePrimary, + "standby": DeploymentRoleStandby, +} + +// GetDeploymentRoleEnumValues Enumerates the set of values for DeploymentRoleEnum +func GetDeploymentRoleEnumValues() []DeploymentRoleEnum { + values := make([]DeploymentRoleEnum, 0) + for _, v := range mappingDeploymentRoleEnum { + values = append(values, v) + } + return values +} + +// GetDeploymentRoleEnumStringValues Enumerates the set of values in String for DeploymentRoleEnum +func GetDeploymentRoleEnumStringValues() []string { + return []string{ + "PRIMARY", + "STANDBY", + } +} + +// GetMappingDeploymentRoleEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingDeploymentRoleEnum(val string) (DeploymentRoleEnum, bool) { + enum, ok := mappingDeploymentRoleEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_type_summary.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_type_summary.go index f5a8ad98dc9..6c9eaafba62 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_type_summary.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/deployment_type_summary.go @@ -53,6 +53,9 @@ type DeploymentTypeSummary struct { // The default admin username used by deployment. DefaultUsername *string `mandatory:"false" json:"defaultUsername"` + + // Specifies supported capabilities or features by a deployment type . + SupportedCapabilities []SupportedCapabilitiesEnum `mandatory:"false" json:"supportedCapabilities,omitempty"` } func (m DeploymentTypeSummary) String() string { @@ -77,6 +80,12 @@ func (m DeploymentTypeSummary) ValidateEnumValue() (bool, error) { } } + for _, val := range m.SupportedCapabilities { + if _, ok := GetMappingSupportedCapabilitiesEnum(string(val)); !ok && val != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for SupportedCapabilities: %s. Supported values are: %s.", val, strings.Join(GetSupportedCapabilitiesEnumStringValues(), ","))) + } + } + if len(errMessage) > 0 { return true, fmt.Errorf(strings.Join(errMessage, "\n")) } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/goldengate_client.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/goldengate_client.go index 3325a263d6e..5ff2933821c 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/goldengate_client.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/goldengate_client.go @@ -207,6 +207,69 @@ func (client GoldenGateClient) addDeploymentBackupLock(ctx context.Context, requ return response, err } +// AddDeploymentLocalPeer Adds a new local peer to the deployment, this will add the given placement to deployment placement attribute. When provided, If-Match is checked against ETag values of the resource. +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/AddDeploymentLocalPeer.go.html to see an example of how to use AddDeploymentLocalPeer API. +// A default retry strategy applies to this operation AddDeploymentLocalPeer() +func (client GoldenGateClient) AddDeploymentLocalPeer(ctx context.Context, request AddDeploymentLocalPeerRequest) (response AddDeploymentLocalPeerResponse, 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.addDeploymentLocalPeer, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = AddDeploymentLocalPeerResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = AddDeploymentLocalPeerResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(AddDeploymentLocalPeerResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into AddDeploymentLocalPeerResponse") + } + return +} + +// addDeploymentLocalPeer implements the OCIOperation interface (enables retrying operations) +func (client GoldenGateClient) addDeploymentLocalPeer(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/deployments/{deploymentId}/actions/addLocalPeer", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response AddDeploymentLocalPeerResponse + 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/goldengate/20200407/Deployment/AddDeploymentLocalPeer" + err = common.PostProcessServiceError(err, "GoldenGate", "AddDeploymentLocalPeer", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // AddDeploymentLock Adds a lock to a Deployment resource. // // # See also @@ -843,6 +906,69 @@ func (client GoldenGateClient) collectDeploymentDiagnostic(ctx context.Context, return response, err } +// CollectPipelineDiagnostic Collects diagnostics for the pipeline +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/CollectPipelineDiagnostic.go.html to see an example of how to use CollectPipelineDiagnostic API. +// A default retry strategy applies to this operation CollectPipelineDiagnostic() +func (client GoldenGateClient) CollectPipelineDiagnostic(ctx context.Context, request CollectPipelineDiagnosticRequest) (response CollectPipelineDiagnosticResponse, 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.collectPipelineDiagnostic, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = CollectPipelineDiagnosticResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = CollectPipelineDiagnosticResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(CollectPipelineDiagnosticResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into CollectPipelineDiagnosticResponse") + } + return +} + +// collectPipelineDiagnostic implements the OCIOperation interface (enables retrying operations) +func (client GoldenGateClient) collectPipelineDiagnostic(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/pipelines/{pipelineId}/actions/collectDiagnostics", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response CollectPipelineDiagnosticResponse + 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/goldengate/20200407/Pipeline/CollectPipelineDiagnostic" + err = common.PostProcessServiceError(err, "GoldenGate", "CollectPipelineDiagnostic", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // CopyDeploymentBackup Creates a copy of a Deployment Backup. // // # See also @@ -2879,6 +3005,64 @@ func (client GoldenGateClient) listDeploymentEnvironments(ctx context.Context, r return response, err } +// ListDeploymentPeers Lists the local and remote peers in a deployment. +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/ListDeploymentPeers.go.html to see an example of how to use ListDeploymentPeers API. +// A default retry strategy applies to this operation ListDeploymentPeers() +func (client GoldenGateClient) ListDeploymentPeers(ctx context.Context, request ListDeploymentPeersRequest) (response ListDeploymentPeersResponse, 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.listDeploymentPeers, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = ListDeploymentPeersResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = ListDeploymentPeersResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(ListDeploymentPeersResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into ListDeploymentPeersResponse") + } + return +} + +// listDeploymentPeers implements the OCIOperation interface (enables retrying operations) +func (client GoldenGateClient) listDeploymentPeers(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodGet, "/deployments/{deploymentId}/peers", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response ListDeploymentPeersResponse + 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/goldengate/20200407/DeploymentPeerSummary/ListDeploymentPeers" + err = common.PostProcessServiceError(err, "GoldenGate", "ListDeploymentPeers", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // ListDeploymentTypes Returns an array of DeploymentTypeDescriptor // // # See also @@ -3285,7 +3469,7 @@ func (client GoldenGateClient) listPipelineInitializationSteps(ctx context.Conte return response, err } -// ListPipelineRunningProcesses Retrieves a Pipeline's running replication process's status like extracts/replicats. +// ListPipelineRunningProcesses Retrieves a Pipeline's running replication process's status like Capture/Apply. // // # See also // @@ -4041,6 +4225,69 @@ func (client GoldenGateClient) removeDeploymentBackupLock(ctx context.Context, r return response, err } +// RemoveDeploymentLocalPeer Removes a local peer of the deployment, this will remove the given placement entry from the deployment placement attribute. When provided, If-Match is checked against ETag values of the resource. +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/RemoveDeploymentLocalPeer.go.html to see an example of how to use RemoveDeploymentLocalPeer API. +// A default retry strategy applies to this operation RemoveDeploymentLocalPeer() +func (client GoldenGateClient) RemoveDeploymentLocalPeer(ctx context.Context, request RemoveDeploymentLocalPeerRequest) (response RemoveDeploymentLocalPeerResponse, 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.removeDeploymentLocalPeer, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = RemoveDeploymentLocalPeerResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = RemoveDeploymentLocalPeerResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(RemoveDeploymentLocalPeerResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into RemoveDeploymentLocalPeerResponse") + } + return +} + +// removeDeploymentLocalPeer implements the OCIOperation interface (enables retrying operations) +func (client GoldenGateClient) removeDeploymentLocalPeer(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/deployments/{deploymentId}/actions/removeLocalPeer", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response RemoveDeploymentLocalPeerResponse + 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/goldengate/20200407/Deployment/RemoveDeploymentLocalPeer" + err = common.PostProcessServiceError(err, "GoldenGate", "RemoveDeploymentLocalPeer", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // RemoveDeploymentLock Removes a lock from a Deployment resource. // // # See also @@ -4603,6 +4850,69 @@ func (client GoldenGateClient) stopPipeline(ctx context.Context, request common. return response, err } +// SwitchoverDeploymentPeer Switchover to the selected standby peer, which can be a local placement or a standby deployment in different region. When provided, If-Match is checked against ETag values of the resource. +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/SwitchoverDeploymentPeer.go.html to see an example of how to use SwitchoverDeploymentPeer API. +// A default retry strategy applies to this operation SwitchoverDeploymentPeer() +func (client GoldenGateClient) SwitchoverDeploymentPeer(ctx context.Context, request SwitchoverDeploymentPeerRequest) (response SwitchoverDeploymentPeerResponse, 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.switchoverDeploymentPeer, policy) + if err != nil { + if ociResponse != nil { + if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil { + opcRequestId := httpResponse.Header.Get("opc-request-id") + response = SwitchoverDeploymentPeerResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId} + } else { + response = SwitchoverDeploymentPeerResponse{} + } + } + return + } + if convertedResponse, ok := ociResponse.(SwitchoverDeploymentPeerResponse); ok { + response = convertedResponse + } else { + err = fmt.Errorf("failed to convert OCIResponse into SwitchoverDeploymentPeerResponse") + } + return +} + +// switchoverDeploymentPeer implements the OCIOperation interface (enables retrying operations) +func (client GoldenGateClient) switchoverDeploymentPeer(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) { + + httpRequest, err := request.HTTPRequest(http.MethodPost, "/deployments/{deploymentId}/actions/switchover", binaryReqBody, extraHeaders) + if err != nil { + return nil, err + } + + var response SwitchoverDeploymentPeerResponse + 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/goldengate/20200407/Deployment/SwitchoverDeploymentPeer" + err = common.PostProcessServiceError(err, "GoldenGate", "SwitchoverDeploymentPeer", apiReferenceLink) + return response, err + } + + err = common.UnmarshalResponse(httpResponse, &response) + return response, err +} + // TestConnectionAssignment Tests the connectivity between given GoldenGate deployment and one of the associated database / service. // When provided, If-Match is checked against ETag values of the resource. // diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/list_deployment_peers_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/list_deployment_peers_request_response.go new file mode 100644 index 00000000000..fb539de7c44 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/list_deployment_peers_request_response.go @@ -0,0 +1,294 @@ +// Copyright (c) 2016, 2018, 2025, 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 goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// ListDeploymentPeersRequest wrapper for the ListDeploymentPeers operation +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/ListDeploymentPeers.go.html to see an example of how to use ListDeploymentPeersRequest. +type ListDeploymentPeersRequest struct { + + // A unique Deployment identifier. + DeploymentId *string `mandatory:"true" contributesTo:"path" name:"deploymentId"` + + // A filter to return only the resources that match the 'lifecycleState' given. + LifecycleState ListDeploymentPeersLifecycleStateEnum `mandatory:"false" contributesTo:"query" name:"lifecycleState" omitEmpty:"true"` + + // A filter to return only the resources that match the entire 'displayName' given. + DisplayName *string `mandatory:"false" contributesTo:"query" name:"displayName"` + + // The maximum number of items to return. + Limit *int `mandatory:"false" contributesTo:"query" name:"limit"` + + // The page token representing the page at which to start retrieving results. This is usually + // retrieved from a previous list call. + Page *string `mandatory:"false" contributesTo:"query" name:"page"` + + // The sort order to use, either 'asc' or 'desc'. + SortOrder ListDeploymentPeersSortOrderEnum `mandatory:"false" contributesTo:"query" name:"sortOrder" omitEmpty:"true"` + + // The field to sort by. Only one sort order can be provided. Default order for 'timeCreated' is + // descending. Default order for 'displayName' is ascending. If no value is specified + // timeCreated is the default. + SortBy ListDeploymentPeersSortByEnum `mandatory:"false" contributesTo:"query" name:"sortBy" omitEmpty:"true"` + + // The client request ID for tracing. + 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 ListDeploymentPeersRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request ListDeploymentPeersRequest) 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 ListDeploymentPeersRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request ListDeploymentPeersRequest) 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 ListDeploymentPeersRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if _, ok := GetMappingListDeploymentPeersLifecycleStateEnum(string(request.LifecycleState)); !ok && request.LifecycleState != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for LifecycleState: %s. Supported values are: %s.", request.LifecycleState, strings.Join(GetListDeploymentPeersLifecycleStateEnumStringValues(), ","))) + } + if _, ok := GetMappingListDeploymentPeersSortOrderEnum(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(GetListDeploymentPeersSortOrderEnumStringValues(), ","))) + } + if _, ok := GetMappingListDeploymentPeersSortByEnum(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(GetListDeploymentPeersSortByEnumStringValues(), ","))) + } + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// ListDeploymentPeersResponse wrapper for the ListDeploymentPeers operation +type ListDeploymentPeersResponse struct { + + // The underlying http response + RawResponse *http.Response + + // A list of DeploymentPeerCollection instances + DeploymentPeerCollection `presentIn:"body"` + + // A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please include the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` + + // The page token represents the page to start retrieving results. This is usually retrieved + // from a previous list call. + OpcNextPage *string `presentIn:"header" name:"opc-next-page"` +} + +func (response ListDeploymentPeersResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response ListDeploymentPeersResponse) HTTPResponse() *http.Response { + return response.RawResponse +} + +// ListDeploymentPeersLifecycleStateEnum Enum with underlying type: string +type ListDeploymentPeersLifecycleStateEnum string + +// Set of constants representing the allowable values for ListDeploymentPeersLifecycleStateEnum +const ( + ListDeploymentPeersLifecycleStateCreating ListDeploymentPeersLifecycleStateEnum = "CREATING" + ListDeploymentPeersLifecycleStateUpdating ListDeploymentPeersLifecycleStateEnum = "UPDATING" + ListDeploymentPeersLifecycleStateActive ListDeploymentPeersLifecycleStateEnum = "ACTIVE" + ListDeploymentPeersLifecycleStateInactive ListDeploymentPeersLifecycleStateEnum = "INACTIVE" + ListDeploymentPeersLifecycleStateDeleting ListDeploymentPeersLifecycleStateEnum = "DELETING" + ListDeploymentPeersLifecycleStateDeleted ListDeploymentPeersLifecycleStateEnum = "DELETED" + ListDeploymentPeersLifecycleStateFailed ListDeploymentPeersLifecycleStateEnum = "FAILED" + ListDeploymentPeersLifecycleStateNeedsAttention ListDeploymentPeersLifecycleStateEnum = "NEEDS_ATTENTION" + ListDeploymentPeersLifecycleStateInProgress ListDeploymentPeersLifecycleStateEnum = "IN_PROGRESS" + ListDeploymentPeersLifecycleStateCanceling ListDeploymentPeersLifecycleStateEnum = "CANCELING" + ListDeploymentPeersLifecycleStateCanceled ListDeploymentPeersLifecycleStateEnum = "CANCELED" + ListDeploymentPeersLifecycleStateSucceeded ListDeploymentPeersLifecycleStateEnum = "SUCCEEDED" + ListDeploymentPeersLifecycleStateWaiting ListDeploymentPeersLifecycleStateEnum = "WAITING" +) + +var mappingListDeploymentPeersLifecycleStateEnum = map[string]ListDeploymentPeersLifecycleStateEnum{ + "CREATING": ListDeploymentPeersLifecycleStateCreating, + "UPDATING": ListDeploymentPeersLifecycleStateUpdating, + "ACTIVE": ListDeploymentPeersLifecycleStateActive, + "INACTIVE": ListDeploymentPeersLifecycleStateInactive, + "DELETING": ListDeploymentPeersLifecycleStateDeleting, + "DELETED": ListDeploymentPeersLifecycleStateDeleted, + "FAILED": ListDeploymentPeersLifecycleStateFailed, + "NEEDS_ATTENTION": ListDeploymentPeersLifecycleStateNeedsAttention, + "IN_PROGRESS": ListDeploymentPeersLifecycleStateInProgress, + "CANCELING": ListDeploymentPeersLifecycleStateCanceling, + "CANCELED": ListDeploymentPeersLifecycleStateCanceled, + "SUCCEEDED": ListDeploymentPeersLifecycleStateSucceeded, + "WAITING": ListDeploymentPeersLifecycleStateWaiting, +} + +var mappingListDeploymentPeersLifecycleStateEnumLowerCase = map[string]ListDeploymentPeersLifecycleStateEnum{ + "creating": ListDeploymentPeersLifecycleStateCreating, + "updating": ListDeploymentPeersLifecycleStateUpdating, + "active": ListDeploymentPeersLifecycleStateActive, + "inactive": ListDeploymentPeersLifecycleStateInactive, + "deleting": ListDeploymentPeersLifecycleStateDeleting, + "deleted": ListDeploymentPeersLifecycleStateDeleted, + "failed": ListDeploymentPeersLifecycleStateFailed, + "needs_attention": ListDeploymentPeersLifecycleStateNeedsAttention, + "in_progress": ListDeploymentPeersLifecycleStateInProgress, + "canceling": ListDeploymentPeersLifecycleStateCanceling, + "canceled": ListDeploymentPeersLifecycleStateCanceled, + "succeeded": ListDeploymentPeersLifecycleStateSucceeded, + "waiting": ListDeploymentPeersLifecycleStateWaiting, +} + +// GetListDeploymentPeersLifecycleStateEnumValues Enumerates the set of values for ListDeploymentPeersLifecycleStateEnum +func GetListDeploymentPeersLifecycleStateEnumValues() []ListDeploymentPeersLifecycleStateEnum { + values := make([]ListDeploymentPeersLifecycleStateEnum, 0) + for _, v := range mappingListDeploymentPeersLifecycleStateEnum { + values = append(values, v) + } + return values +} + +// GetListDeploymentPeersLifecycleStateEnumStringValues Enumerates the set of values in String for ListDeploymentPeersLifecycleStateEnum +func GetListDeploymentPeersLifecycleStateEnumStringValues() []string { + return []string{ + "CREATING", + "UPDATING", + "ACTIVE", + "INACTIVE", + "DELETING", + "DELETED", + "FAILED", + "NEEDS_ATTENTION", + "IN_PROGRESS", + "CANCELING", + "CANCELED", + "SUCCEEDED", + "WAITING", + } +} + +// GetMappingListDeploymentPeersLifecycleStateEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListDeploymentPeersLifecycleStateEnum(val string) (ListDeploymentPeersLifecycleStateEnum, bool) { + enum, ok := mappingListDeploymentPeersLifecycleStateEnumLowerCase[strings.ToLower(val)] + return enum, ok +} + +// ListDeploymentPeersSortOrderEnum Enum with underlying type: string +type ListDeploymentPeersSortOrderEnum string + +// Set of constants representing the allowable values for ListDeploymentPeersSortOrderEnum +const ( + ListDeploymentPeersSortOrderAsc ListDeploymentPeersSortOrderEnum = "ASC" + ListDeploymentPeersSortOrderDesc ListDeploymentPeersSortOrderEnum = "DESC" +) + +var mappingListDeploymentPeersSortOrderEnum = map[string]ListDeploymentPeersSortOrderEnum{ + "ASC": ListDeploymentPeersSortOrderAsc, + "DESC": ListDeploymentPeersSortOrderDesc, +} + +var mappingListDeploymentPeersSortOrderEnumLowerCase = map[string]ListDeploymentPeersSortOrderEnum{ + "asc": ListDeploymentPeersSortOrderAsc, + "desc": ListDeploymentPeersSortOrderDesc, +} + +// GetListDeploymentPeersSortOrderEnumValues Enumerates the set of values for ListDeploymentPeersSortOrderEnum +func GetListDeploymentPeersSortOrderEnumValues() []ListDeploymentPeersSortOrderEnum { + values := make([]ListDeploymentPeersSortOrderEnum, 0) + for _, v := range mappingListDeploymentPeersSortOrderEnum { + values = append(values, v) + } + return values +} + +// GetListDeploymentPeersSortOrderEnumStringValues Enumerates the set of values in String for ListDeploymentPeersSortOrderEnum +func GetListDeploymentPeersSortOrderEnumStringValues() []string { + return []string{ + "ASC", + "DESC", + } +} + +// GetMappingListDeploymentPeersSortOrderEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListDeploymentPeersSortOrderEnum(val string) (ListDeploymentPeersSortOrderEnum, bool) { + enum, ok := mappingListDeploymentPeersSortOrderEnumLowerCase[strings.ToLower(val)] + return enum, ok +} + +// ListDeploymentPeersSortByEnum Enum with underlying type: string +type ListDeploymentPeersSortByEnum string + +// Set of constants representing the allowable values for ListDeploymentPeersSortByEnum +const ( + ListDeploymentPeersSortByTimecreated ListDeploymentPeersSortByEnum = "timeCreated" + ListDeploymentPeersSortByDisplayname ListDeploymentPeersSortByEnum = "displayName" +) + +var mappingListDeploymentPeersSortByEnum = map[string]ListDeploymentPeersSortByEnum{ + "timeCreated": ListDeploymentPeersSortByTimecreated, + "displayName": ListDeploymentPeersSortByDisplayname, +} + +var mappingListDeploymentPeersSortByEnumLowerCase = map[string]ListDeploymentPeersSortByEnum{ + "timecreated": ListDeploymentPeersSortByTimecreated, + "displayname": ListDeploymentPeersSortByDisplayname, +} + +// GetListDeploymentPeersSortByEnumValues Enumerates the set of values for ListDeploymentPeersSortByEnum +func GetListDeploymentPeersSortByEnumValues() []ListDeploymentPeersSortByEnum { + values := make([]ListDeploymentPeersSortByEnum, 0) + for _, v := range mappingListDeploymentPeersSortByEnum { + values = append(values, v) + } + return values +} + +// GetListDeploymentPeersSortByEnumStringValues Enumerates the set of values in String for ListDeploymentPeersSortByEnum +func GetListDeploymentPeersSortByEnumStringValues() []string { + return []string{ + "timeCreated", + "displayName", + } +} + +// GetMappingListDeploymentPeersSortByEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingListDeploymentPeersSortByEnum(val string) (ListDeploymentPeersSortByEnum, bool) { + enum, ok := mappingListDeploymentPeersSortByEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/operation_type.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/operation_type.go index 9a69c47bbb2..6fecc814b13 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/operation_type.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/operation_type.go @@ -56,6 +56,8 @@ const ( OperationTypeGoldengatePipelineUpdate OperationTypeEnum = "GOLDENGATE_PIPELINE_UPDATE" OperationTypeGoldengatePipelineDelete OperationTypeEnum = "GOLDENGATE_PIPELINE_DELETE" OperationTypeGoldengatePipelineMove OperationTypeEnum = "GOLDENGATE_PIPELINE_MOVE" + OperationTypeGoldengatePipelineDiagnosticsCollect OperationTypeEnum = "GOLDENGATE_PIPELINE_DIAGNOSTICS_COLLECT" + OperationTypeGoldengateSwitchoverDeploymentPeer OperationTypeEnum = "GOLDENGATE_SWITCHOVER_DEPLOYMENT_PEER" ) var mappingOperationTypeEnum = map[string]OperationTypeEnum{ @@ -97,6 +99,8 @@ var mappingOperationTypeEnum = map[string]OperationTypeEnum{ "GOLDENGATE_PIPELINE_UPDATE": OperationTypeGoldengatePipelineUpdate, "GOLDENGATE_PIPELINE_DELETE": OperationTypeGoldengatePipelineDelete, "GOLDENGATE_PIPELINE_MOVE": OperationTypeGoldengatePipelineMove, + "GOLDENGATE_PIPELINE_DIAGNOSTICS_COLLECT": OperationTypeGoldengatePipelineDiagnosticsCollect, + "GOLDENGATE_SWITCHOVER_DEPLOYMENT_PEER": OperationTypeGoldengateSwitchoverDeploymentPeer, } var mappingOperationTypeEnumLowerCase = map[string]OperationTypeEnum{ @@ -138,6 +142,8 @@ var mappingOperationTypeEnumLowerCase = map[string]OperationTypeEnum{ "goldengate_pipeline_update": OperationTypeGoldengatePipelineUpdate, "goldengate_pipeline_delete": OperationTypeGoldengatePipelineDelete, "goldengate_pipeline_move": OperationTypeGoldengatePipelineMove, + "goldengate_pipeline_diagnostics_collect": OperationTypeGoldengatePipelineDiagnosticsCollect, + "goldengate_switchover_deployment_peer": OperationTypeGoldengateSwitchoverDeploymentPeer, } // GetOperationTypeEnumValues Enumerates the set of values for OperationTypeEnum @@ -190,6 +196,8 @@ func GetOperationTypeEnumStringValues() []string { "GOLDENGATE_PIPELINE_UPDATE", "GOLDENGATE_PIPELINE_DELETE", "GOLDENGATE_PIPELINE_MOVE", + "GOLDENGATE_PIPELINE_DIAGNOSTICS_COLLECT", + "GOLDENGATE_SWITCHOVER_DEPLOYMENT_PEER", } } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline.go index 37b201a257c..c4d6c93abc6 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline.go @@ -55,6 +55,8 @@ type Pipeline interface { // Metadata about this specific object. GetDescription() *string + GetPipelineDiagnosticData() *PipelineDiagnosticData + // A simple key-value pair that is applied without any predefined name, type, or scope. Exists // for cross-compatibility only. // Example: `{"bar-key": "value"}` @@ -84,6 +86,7 @@ type Pipeline interface { type pipeline struct { JsonData []byte Description *string `mandatory:"false" json:"description"` + PipelineDiagnosticData *PipelineDiagnosticData `mandatory:"false" json:"pipelineDiagnosticData"` FreeformTags map[string]string `mandatory:"false" json:"freeformTags"` DefinedTags map[string]map[string]interface{} `mandatory:"false" json:"definedTags"` SystemTags map[string]map[string]interface{} `mandatory:"false" json:"systemTags"` @@ -127,6 +130,7 @@ func (m *pipeline) UnmarshalJSON(data []byte) error { m.TimeCreated = s.Model.TimeCreated m.TimeUpdated = s.Model.TimeUpdated m.Description = s.Model.Description + m.PipelineDiagnosticData = s.Model.PipelineDiagnosticData m.FreeformTags = s.Model.FreeformTags m.DefinedTags = s.Model.DefinedTags m.SystemTags = s.Model.SystemTags @@ -162,6 +166,11 @@ func (m pipeline) GetDescription() *string { return m.Description } +// GetPipelineDiagnosticData returns PipelineDiagnosticData +func (m pipeline) GetPipelineDiagnosticData() *PipelineDiagnosticData { + return m.PipelineDiagnosticData +} + // GetFreeformTags returns FreeformTags func (m pipeline) GetFreeformTags() map[string]string { return m.FreeformTags diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline_diagnostic_data.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline_diagnostic_data.go new file mode 100644 index 00000000000..63f4edda125 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline_diagnostic_data.go @@ -0,0 +1,55 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// PipelineDiagnosticData Information regarding the pipeline diagnostic collection +type PipelineDiagnosticData struct { + + // Name of namespace that serves as a container for all of your buckets + NamespaceName *string `mandatory:"true" json:"namespaceName"` + + // Name of the bucket where the object is to be uploaded in the object storage + BucketName *string `mandatory:"true" json:"bucketName"` + + // Name of the diagnostic collected and uploaded to object storage + ObjectName *string `mandatory:"true" json:"objectName"` + + // The state of the pipeline diagnostics collection. + DiagnosticState PipelineDiagnosticStateEnum `mandatory:"true" json:"diagnosticState"` + + // The date and time the diagnostic data was last collected for the pipeline. The format is defined by + // RFC3339 (https://tools.ietf.org/html/rfc3339), such as `2024-07-25T21:10:29.600Z`. + TimeLastCollected *common.SDKTime `mandatory:"false" json:"timeLastCollected"` +} + +func (m PipelineDiagnosticData) 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 PipelineDiagnosticData) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if _, ok := GetMappingPipelineDiagnosticStateEnum(string(m.DiagnosticState)); !ok && m.DiagnosticState != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DiagnosticState: %s. Supported values are: %s.", m.DiagnosticState, strings.Join(GetPipelineDiagnosticStateEnumStringValues(), ","))) + } + + 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/goldengate/pipeline_diagnostic_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline_diagnostic_state.go new file mode 100644 index 00000000000..d45528336b2 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/pipeline_diagnostic_state.go @@ -0,0 +1,60 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "strings" +) + +// PipelineDiagnosticStateEnum Enum with underlying type: string +type PipelineDiagnosticStateEnum string + +// Set of constants representing the allowable values for PipelineDiagnosticStateEnum +const ( + PipelineDiagnosticStateInProgress PipelineDiagnosticStateEnum = "IN_PROGRESS" + PipelineDiagnosticStateSucceeded PipelineDiagnosticStateEnum = "SUCCEEDED" + PipelineDiagnosticStateFailed PipelineDiagnosticStateEnum = "FAILED" +) + +var mappingPipelineDiagnosticStateEnum = map[string]PipelineDiagnosticStateEnum{ + "IN_PROGRESS": PipelineDiagnosticStateInProgress, + "SUCCEEDED": PipelineDiagnosticStateSucceeded, + "FAILED": PipelineDiagnosticStateFailed, +} + +var mappingPipelineDiagnosticStateEnumLowerCase = map[string]PipelineDiagnosticStateEnum{ + "in_progress": PipelineDiagnosticStateInProgress, + "succeeded": PipelineDiagnosticStateSucceeded, + "failed": PipelineDiagnosticStateFailed, +} + +// GetPipelineDiagnosticStateEnumValues Enumerates the set of values for PipelineDiagnosticStateEnum +func GetPipelineDiagnosticStateEnumValues() []PipelineDiagnosticStateEnum { + values := make([]PipelineDiagnosticStateEnum, 0) + for _, v := range mappingPipelineDiagnosticStateEnum { + values = append(values, v) + } + return values +} + +// GetPipelineDiagnosticStateEnumStringValues Enumerates the set of values in String for PipelineDiagnosticStateEnum +func GetPipelineDiagnosticStateEnumStringValues() []string { + return []string{ + "IN_PROGRESS", + "SUCCEEDED", + "FAILED", + } +} + +// GetMappingPipelineDiagnosticStateEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingPipelineDiagnosticStateEnum(val string) (PipelineDiagnosticStateEnum, bool) { + enum, ok := mappingPipelineDiagnosticStateEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/process_options.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/process_options.go index 41cc9541184..66fc34f3d98 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/process_options.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/process_options.go @@ -23,6 +23,9 @@ type ProcessOptions struct { // If ENABLED, then the replication process restarts itself upon failure. This option applies when creating or updating a pipeline. ShouldRestartOnFailure ProcessOptionsShouldRestartOnFailureEnum `mandatory:"true" json:"shouldRestartOnFailure"` + + // If ENABLED, then the pipeline is started as part of pipeline creation. It uses default mapping. This option applies when creating or updating a pipeline. + StartUsingDefaultMapping ProcessOptionsStartUsingDefaultMappingEnum `mandatory:"false" json:"startUsingDefaultMapping,omitempty"` } func (m ProcessOptions) String() string { @@ -38,6 +41,9 @@ func (m ProcessOptions) ValidateEnumValue() (bool, error) { errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for ShouldRestartOnFailure: %s. Supported values are: %s.", m.ShouldRestartOnFailure, strings.Join(GetProcessOptionsShouldRestartOnFailureEnumStringValues(), ","))) } + if _, ok := GetMappingProcessOptionsStartUsingDefaultMappingEnum(string(m.StartUsingDefaultMapping)); !ok && m.StartUsingDefaultMapping != "" { + errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for StartUsingDefaultMapping: %s. Supported values are: %s.", m.StartUsingDefaultMapping, strings.Join(GetProcessOptionsStartUsingDefaultMappingEnumStringValues(), ","))) + } if len(errMessage) > 0 { return true, fmt.Errorf(strings.Join(errMessage, "\n")) } @@ -85,3 +91,45 @@ func GetMappingProcessOptionsShouldRestartOnFailureEnum(val string) (ProcessOpti enum, ok := mappingProcessOptionsShouldRestartOnFailureEnumLowerCase[strings.ToLower(val)] return enum, ok } + +// ProcessOptionsStartUsingDefaultMappingEnum Enum with underlying type: string +type ProcessOptionsStartUsingDefaultMappingEnum string + +// Set of constants representing the allowable values for ProcessOptionsStartUsingDefaultMappingEnum +const ( + ProcessOptionsStartUsingDefaultMappingEnabled ProcessOptionsStartUsingDefaultMappingEnum = "ENABLED" + ProcessOptionsStartUsingDefaultMappingDisabled ProcessOptionsStartUsingDefaultMappingEnum = "DISABLED" +) + +var mappingProcessOptionsStartUsingDefaultMappingEnum = map[string]ProcessOptionsStartUsingDefaultMappingEnum{ + "ENABLED": ProcessOptionsStartUsingDefaultMappingEnabled, + "DISABLED": ProcessOptionsStartUsingDefaultMappingDisabled, +} + +var mappingProcessOptionsStartUsingDefaultMappingEnumLowerCase = map[string]ProcessOptionsStartUsingDefaultMappingEnum{ + "enabled": ProcessOptionsStartUsingDefaultMappingEnabled, + "disabled": ProcessOptionsStartUsingDefaultMappingDisabled, +} + +// GetProcessOptionsStartUsingDefaultMappingEnumValues Enumerates the set of values for ProcessOptionsStartUsingDefaultMappingEnum +func GetProcessOptionsStartUsingDefaultMappingEnumValues() []ProcessOptionsStartUsingDefaultMappingEnum { + values := make([]ProcessOptionsStartUsingDefaultMappingEnum, 0) + for _, v := range mappingProcessOptionsStartUsingDefaultMappingEnum { + values = append(values, v) + } + return values +} + +// GetProcessOptionsStartUsingDefaultMappingEnumStringValues Enumerates the set of values in String for ProcessOptionsStartUsingDefaultMappingEnum +func GetProcessOptionsStartUsingDefaultMappingEnumStringValues() []string { + return []string{ + "ENABLED", + "DISABLED", + } +} + +// GetMappingProcessOptionsStartUsingDefaultMappingEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingProcessOptionsStartUsingDefaultMappingEnum(val string) (ProcessOptionsStartUsingDefaultMappingEnum, bool) { + enum, ok := mappingProcessOptionsStartUsingDefaultMappingEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/remove_deployment_local_peer_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/remove_deployment_local_peer_details.go new file mode 100644 index 00000000000..aa5a2fbe837 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/remove_deployment_local_peer_details.go @@ -0,0 +1,42 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// RemoveDeploymentLocalPeerDetails The information about removing a deployment peer. +type RemoveDeploymentLocalPeerDetails struct { + + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"true" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"true" json:"faultDomain"` +} + +func (m RemoveDeploymentLocalPeerDetails) 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 RemoveDeploymentLocalPeerDetails) 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/goldengate/remove_deployment_local_peer_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/remove_deployment_local_peer_request_response.go new file mode 100644 index 00000000000..2ecdd4226b8 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/remove_deployment_local_peer_request_response.go @@ -0,0 +1,106 @@ +// Copyright (c) 2016, 2018, 2025, 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 goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// RemoveDeploymentLocalPeerRequest wrapper for the RemoveDeploymentLocalPeer operation +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/RemoveDeploymentLocalPeer.go.html to see an example of how to use RemoveDeploymentLocalPeerRequest. +type RemoveDeploymentLocalPeerRequest struct { + + // A unique Deployment identifier. + DeploymentId *string `mandatory:"true" contributesTo:"path" name:"deploymentId"` + + // Metadata to remove a local deployment peer + RemoveDeploymentLocalPeerDetails `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 is 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"` + + // The client request ID for tracing. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // A token that uniquely identifies a request so it can be retried, in case of a timeout or server error, + // without the 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 was deleted and purged + // from the system, then a retry of the original creation request is rejected. + OpcRetryToken *string `mandatory:"false" contributesTo:"header" name:"opc-retry-token"` + + // 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 RemoveDeploymentLocalPeerRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request RemoveDeploymentLocalPeerRequest) 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 RemoveDeploymentLocalPeerRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request RemoveDeploymentLocalPeerRequest) 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 RemoveDeploymentLocalPeerRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// RemoveDeploymentLocalPeerResponse wrapper for the RemoveDeploymentLocalPeer operation +type RemoveDeploymentLocalPeerResponse struct { + + // The underlying http response + RawResponse *http.Response + + // A unique Oracle-assigned identifier for an asynchronous request. You can use this to query + // status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please include the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response RemoveDeploymentLocalPeerResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response RemoveDeploymentLocalPeerResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/supported_capabilities.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/supported_capabilities.go new file mode 100644 index 00000000000..f2a47830ac3 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/supported_capabilities.go @@ -0,0 +1,76 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "strings" +) + +// SupportedCapabilitiesEnum Enum with underlying type: string +type SupportedCapabilitiesEnum string + +// Set of constants representing the allowable values for SupportedCapabilitiesEnum +const ( + SupportedCapabilitiesPlacement SupportedCapabilitiesEnum = "PLACEMENT" + SupportedCapabilitiesDisasterRecovery SupportedCapabilitiesEnum = "DISASTER_RECOVERY" + SupportedCapabilitiesGroupToRole SupportedCapabilitiesEnum = "GROUP_TO_ROLE" + SupportedCapabilitiesBackupRestore SupportedCapabilitiesEnum = "BACKUP_RESTORE" + SupportedCapabilitiesCopyBackup SupportedCapabilitiesEnum = "COPY_BACKUP" + SupportedCapabilitiesManualBackup SupportedCapabilitiesEnum = "MANUAL_BACKUP" + SupportedCapabilitiesScheduleManualBackup SupportedCapabilitiesEnum = "SCHEDULE_MANUAL_BACKUP" +) + +var mappingSupportedCapabilitiesEnum = map[string]SupportedCapabilitiesEnum{ + "PLACEMENT": SupportedCapabilitiesPlacement, + "DISASTER_RECOVERY": SupportedCapabilitiesDisasterRecovery, + "GROUP_TO_ROLE": SupportedCapabilitiesGroupToRole, + "BACKUP_RESTORE": SupportedCapabilitiesBackupRestore, + "COPY_BACKUP": SupportedCapabilitiesCopyBackup, + "MANUAL_BACKUP": SupportedCapabilitiesManualBackup, + "SCHEDULE_MANUAL_BACKUP": SupportedCapabilitiesScheduleManualBackup, +} + +var mappingSupportedCapabilitiesEnumLowerCase = map[string]SupportedCapabilitiesEnum{ + "placement": SupportedCapabilitiesPlacement, + "disaster_recovery": SupportedCapabilitiesDisasterRecovery, + "group_to_role": SupportedCapabilitiesGroupToRole, + "backup_restore": SupportedCapabilitiesBackupRestore, + "copy_backup": SupportedCapabilitiesCopyBackup, + "manual_backup": SupportedCapabilitiesManualBackup, + "schedule_manual_backup": SupportedCapabilitiesScheduleManualBackup, +} + +// GetSupportedCapabilitiesEnumValues Enumerates the set of values for SupportedCapabilitiesEnum +func GetSupportedCapabilitiesEnumValues() []SupportedCapabilitiesEnum { + values := make([]SupportedCapabilitiesEnum, 0) + for _, v := range mappingSupportedCapabilitiesEnum { + values = append(values, v) + } + return values +} + +// GetSupportedCapabilitiesEnumStringValues Enumerates the set of values in String for SupportedCapabilitiesEnum +func GetSupportedCapabilitiesEnumStringValues() []string { + return []string{ + "PLACEMENT", + "DISASTER_RECOVERY", + "GROUP_TO_ROLE", + "BACKUP_RESTORE", + "COPY_BACKUP", + "MANUAL_BACKUP", + "SCHEDULE_MANUAL_BACKUP", + } +} + +// GetMappingSupportedCapabilitiesEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingSupportedCapabilitiesEnum(val string) (SupportedCapabilitiesEnum, bool) { + enum, ok := mappingSupportedCapabilitiesEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/switchover_deployment_peer_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/switchover_deployment_peer_details.go new file mode 100644 index 00000000000..7496353b497 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/switchover_deployment_peer_details.go @@ -0,0 +1,42 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// GoldenGate API +// +// Use the Oracle Cloud Infrastructure GoldenGate APIs to perform data replication operations. +// + +package goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// SwitchoverDeploymentPeerDetails The information about switching to deployment peer. +type SwitchoverDeploymentPeerDetails struct { + + // The availability domain of a placement. + AvailabilityDomain *string `mandatory:"true" json:"availabilityDomain"` + + // The fault domain of a placement. + FaultDomain *string `mandatory:"true" json:"faultDomain"` +} + +func (m SwitchoverDeploymentPeerDetails) 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 SwitchoverDeploymentPeerDetails) 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/goldengate/switchover_deployment_peer_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/switchover_deployment_peer_request_response.go new file mode 100644 index 00000000000..65843f3de4e --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/switchover_deployment_peer_request_response.go @@ -0,0 +1,106 @@ +// Copyright (c) 2016, 2018, 2025, 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 goldengate + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "net/http" + "strings" +) + +// SwitchoverDeploymentPeerRequest wrapper for the SwitchoverDeploymentPeer operation +// +// # See also +// +// Click https://docs.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/goldengate/SwitchoverDeploymentPeer.go.html to see an example of how to use SwitchoverDeploymentPeerRequest. +type SwitchoverDeploymentPeerRequest struct { + + // A unique Deployment identifier. + DeploymentId *string `mandatory:"true" contributesTo:"path" name:"deploymentId"` + + // Metadata to switchover a deployment to a peer + SwitchoverDeploymentPeerDetails `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 is 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"` + + // The client request ID for tracing. + OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"` + + // A token that uniquely identifies a request so it can be retried, in case of a timeout or server error, + // without the 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 was deleted and purged + // from the system, then a retry of the original creation request is rejected. + OpcRetryToken *string `mandatory:"false" contributesTo:"header" name:"opc-retry-token"` + + // 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 SwitchoverDeploymentPeerRequest) String() string { + return common.PointerString(request) +} + +// HTTPRequest implements the OCIRequest interface +func (request SwitchoverDeploymentPeerRequest) 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 SwitchoverDeploymentPeerRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) { + + return nil, false + +} + +// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy. +func (request SwitchoverDeploymentPeerRequest) 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 SwitchoverDeploymentPeerRequest) ValidateEnumValue() (bool, error) { + errMessage := []string{} + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// SwitchoverDeploymentPeerResponse wrapper for the SwitchoverDeploymentPeer operation +type SwitchoverDeploymentPeerResponse struct { + + // The underlying http response + RawResponse *http.Response + + // A unique Oracle-assigned identifier for an asynchronous request. You can use this to query + // status of the asynchronous operation. + OpcWorkRequestId *string `presentIn:"header" name:"opc-work-request-id"` + + // A unique Oracle-assigned identifier for the request. If you need to contact Oracle about a + // particular request, please include the request ID. + OpcRequestId *string `presentIn:"header" name:"opc-request-id"` +} + +func (response SwitchoverDeploymentPeerResponse) String() string { + return common.PointerString(response) +} + +// HTTPResponse implements the OCIResponse interface +func (response SwitchoverDeploymentPeerResponse) HTTPResponse() *http.Response { + return response.RawResponse +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/update_deployment_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/update_deployment_details.go index 83b5c831f8c..84f2096babe 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/update_deployment_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/update_deployment_details.go @@ -64,6 +64,9 @@ type UpdateDeploymentDetails struct { // Indicates if auto scaling is enabled for the Deployment's CPU core count. IsAutoScalingEnabled *bool `mandatory:"false" json:"isAutoScalingEnabled"` + // An array of local peers of deployment + Placements []DeploymentPlacementDetails `mandatory:"false" json:"placements"` + OggData *UpdateOggDeploymentDetails `mandatory:"false" json:"oggData"` MaintenanceWindow *UpdateMaintenanceWindowDetails `mandatory:"false" json:"maintenanceWindow"` diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/zero_etl_pipeline.go b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/zero_etl_pipeline.go index d551a4e8656..d6fdd789932 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/zero_etl_pipeline.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/goldengate/zero_etl_pipeline.go @@ -49,6 +49,8 @@ type ZeroEtlPipeline struct { // Metadata about this specific object. Description *string `mandatory:"false" json:"description"` + PipelineDiagnosticData *PipelineDiagnosticData `mandatory:"false" json:"pipelineDiagnosticData"` + // A simple key-value pair that is applied without any predefined name, type, or scope. Exists // for cross-compatibility only. // Example: `{"bar-key": "value"}` @@ -135,6 +137,11 @@ func (m ZeroEtlPipeline) GetTargetConnectionDetails() *TargetPipelineConnectionD return m.TargetConnectionDetails } +// GetPipelineDiagnosticData returns PipelineDiagnosticData +func (m ZeroEtlPipeline) GetPipelineDiagnosticData() *PipelineDiagnosticData { + return m.PipelineDiagnosticData +} + // GetFreeformTags returns FreeformTags func (m ZeroEtlPipeline) GetFreeformTags() map[string]string { return m.FreeformTags diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/create_vault_replica_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/create_vault_replica_details.go index 96bf66f40ba..c0715250d51 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/create_vault_replica_details.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/create_vault_replica_details.go @@ -10,6 +10,7 @@ package keymanagement import ( + "encoding/json" "fmt" "github.com/oracle/oci-go-sdk/v65/common" "strings" @@ -20,6 +21,8 @@ type CreateVaultReplicaDetails struct { // The region in the realm to which the vault need to be replicated to ReplicaRegion *string `mandatory:"true" json:"replicaRegion"` + + ReplicaVaultMetadata ReplicaVaultMetadata `mandatory:"false" json:"replicaVaultMetadata"` } func (m CreateVaultReplicaDetails) String() string { @@ -37,3 +40,30 @@ func (m CreateVaultReplicaDetails) ValidateEnumValue() (bool, error) { } return false, nil } + +// UnmarshalJSON unmarshals from json +func (m *CreateVaultReplicaDetails) UnmarshalJSON(data []byte) (e error) { + model := struct { + ReplicaVaultMetadata replicavaultmetadata `json:"replicaVaultMetadata"` + ReplicaRegion *string `json:"replicaRegion"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + nn, e = model.ReplicaVaultMetadata.UnmarshalPolymorphicJSON(model.ReplicaVaultMetadata.JsonData) + if e != nil { + return + } + if nn != nil { + m.ReplicaVaultMetadata = nn.(ReplicaVaultMetadata) + } else { + m.ReplicaVaultMetadata = nil + } + + m.ReplicaRegion = model.ReplicaRegion + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/replica_external_vault_metadata.go b/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/replica_external_vault_metadata.go new file mode 100644 index 00000000000..7101eca5844 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/replica_external_vault_metadata.go @@ -0,0 +1,57 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Vault Key Management API +// +// Use the Key Management API to manage vaults and keys. For more information, see Managing Vaults (https://docs.oracle.com/iaas/Content/KeyManagement/Tasks/managingvaults.htm) and Managing Keys (https://docs.oracle.com/iaas/Content/KeyManagement/Tasks/managingkeys.htm). +// + +package keymanagement + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// ReplicaExternalVaultMetadata Metadata of the replica region External Vault +type ReplicaExternalVaultMetadata struct { + + // OCID of the EKMS private endpoint in the replica region and must be in ACTIVE state + PrivateEndpointId *string `mandatory:"true" json:"privateEndpointId"` + + // Replica region URL of the IDCS domain + IdcsAccountNameUrl *string `mandatory:"true" json:"idcsAccountNameUrl"` +} + +func (m ReplicaExternalVaultMetadata) 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 ReplicaExternalVaultMetadata) 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 ReplicaExternalVaultMetadata) MarshalJSON() (buff []byte, e error) { + type MarshalTypeReplicaExternalVaultMetadata ReplicaExternalVaultMetadata + s := struct { + DiscriminatorParam string `json:"vaultType"` + MarshalTypeReplicaExternalVaultMetadata + }{ + "EXTERNAL", + (MarshalTypeReplicaExternalVaultMetadata)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/replica_vault_metadata.go b/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/replica_vault_metadata.go new file mode 100644 index 00000000000..f9b028e426f --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/keymanagement/replica_vault_metadata.go @@ -0,0 +1,115 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Vault Key Management API +// +// Use the Key Management API to manage vaults and keys. For more information, see Managing Vaults (https://docs.oracle.com/iaas/Content/KeyManagement/Tasks/managingvaults.htm) and Managing Keys (https://docs.oracle.com/iaas/Content/KeyManagement/Tasks/managingkeys.htm). +// + +package keymanagement + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// ReplicaVaultMetadata Metadata for the replica vault, needed if different from primary vault +type ReplicaVaultMetadata interface { +} + +type replicavaultmetadata struct { + JsonData []byte + VaultType string `json:"vaultType"` +} + +// UnmarshalJSON unmarshals json +func (m *replicavaultmetadata) UnmarshalJSON(data []byte) error { + m.JsonData = data + type Unmarshalerreplicavaultmetadata replicavaultmetadata + s := struct { + Model Unmarshalerreplicavaultmetadata + }{} + err := json.Unmarshal(data, &s.Model) + if err != nil { + return err + } + m.VaultType = s.Model.VaultType + + return err +} + +// UnmarshalPolymorphicJSON unmarshals polymorphic json +func (m *replicavaultmetadata) UnmarshalPolymorphicJSON(data []byte) (interface{}, error) { + + if data == nil || string(data) == "null" { + return nil, nil + } + + var err error + switch m.VaultType { + case "EXTERNAL": + mm := ReplicaExternalVaultMetadata{} + err = json.Unmarshal(data, &mm) + return mm, err + default: + common.Logf("Received unsupported enum value for ReplicaVaultMetadata: %s.", m.VaultType) + return *m, nil + } +} + +func (m replicavaultmetadata) 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 replicavaultmetadata) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// ReplicaVaultMetadataVaultTypeEnum Enum with underlying type: string +type ReplicaVaultMetadataVaultTypeEnum string + +// Set of constants representing the allowable values for ReplicaVaultMetadataVaultTypeEnum +const ( + ReplicaVaultMetadataVaultTypeExternal ReplicaVaultMetadataVaultTypeEnum = "EXTERNAL" +) + +var mappingReplicaVaultMetadataVaultTypeEnum = map[string]ReplicaVaultMetadataVaultTypeEnum{ + "EXTERNAL": ReplicaVaultMetadataVaultTypeExternal, +} + +var mappingReplicaVaultMetadataVaultTypeEnumLowerCase = map[string]ReplicaVaultMetadataVaultTypeEnum{ + "external": ReplicaVaultMetadataVaultTypeExternal, +} + +// GetReplicaVaultMetadataVaultTypeEnumValues Enumerates the set of values for ReplicaVaultMetadataVaultTypeEnum +func GetReplicaVaultMetadataVaultTypeEnumValues() []ReplicaVaultMetadataVaultTypeEnum { + values := make([]ReplicaVaultMetadataVaultTypeEnum, 0) + for _, v := range mappingReplicaVaultMetadataVaultTypeEnum { + values = append(values, v) + } + return values +} + +// GetReplicaVaultMetadataVaultTypeEnumStringValues Enumerates the set of values in String for ReplicaVaultMetadataVaultTypeEnum +func GetReplicaVaultMetadataVaultTypeEnumStringValues() []string { + return []string{ + "EXTERNAL", + } +} + +// GetMappingReplicaVaultMetadataVaultTypeEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingReplicaVaultMetadataVaultTypeEnum(val string) (ReplicaVaultMetadataVaultTypeEnum, bool) { + enum, ok := mappingReplicaVaultMetadataVaultTypeEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/opensearch/validate_opensearch_pipeline_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/opensearch/validate_opensearch_pipeline_details.go deleted file mode 100644 index 13d3d53c276..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/opensearch/validate_opensearch_pipeline_details.go +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright (c) 2016, 2018, 2025, 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. - -// OpenSearch Service API -// -// The OpenSearch service API provides access to OCI Search Service with OpenSearch. -// - -package opensearch - -import ( - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// ValidateOpensearchPipelineDetails The configuration details for validating pipeline configuration provided as input. -type ValidateOpensearchPipelineDetails struct { - - // The OCID of the compartment where the pipeline will be created. - CompartmentId *string `mandatory:"true" json:"compartmentId"` - - // The pipeline configuration in YAML format. The command accepts the pipeline configuration as a string or within a .yaml file. If you provide the configuration as a string, each new line must be escaped with \. - PipelineConfigurationBody *string `mandatory:"true" json:"pipelineConfigurationBody"` -} - -func (m ValidateOpensearchPipelineDetails) 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 ValidateOpensearchPipelineDetails) 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/sch/function_task_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/function_task_details_response.go new file mode 100644 index 00000000000..c05c63c1386 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/function_task_details_response.go @@ -0,0 +1,73 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// FunctionTaskDetailsResponse The Functions task. +// Batch input for a function can be limited by either size or time. The first limit reached determines the boundary of the batch. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type FunctionTaskDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function to be used as a task. + FunctionId *string `mandatory:"true" json:"functionId"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + // Size limit (kilobytes) for batch sent to invoke the function. + BatchSizeInKbs *int `mandatory:"false" json:"batchSizeInKbs"` + + // Time limit (seconds) for batch sent to invoke the function. + BatchTimeInSec *int `mandatory:"false" json:"batchTimeInSec"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m FunctionTaskDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m FunctionTaskDetailsResponse) 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 FunctionTaskDetailsResponse) 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 FunctionTaskDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeFunctionTaskDetailsResponse FunctionTaskDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeFunctionTaskDetailsResponse + }{ + "function", + (MarshalTypeFunctionTaskDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/functions_target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/functions_target_details_response.go new file mode 100644 index 00000000000..26febb6ff21 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/functions_target_details_response.go @@ -0,0 +1,77 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// FunctionsTargetDetailsResponse The destination function for data transferred from the source. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type FunctionsTargetDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function. + FunctionId *string `mandatory:"true" json:"functionId"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + // The batch rollover size in kilobytes. + // Only one size option can be specified: `batchSizeInKbs` or `batchSizeInNum`. + BatchSizeInKbs *int `mandatory:"false" json:"batchSizeInKbs"` + + // The batch rollover size in number of messages. + // Only one size option can be specified: `batchSizeInKbs` or `batchSizeInNum`. + BatchSizeInNum *int `mandatory:"false" json:"batchSizeInNum"` + + // The batch rollover time in seconds. + BatchTimeInSec *int `mandatory:"false" json:"batchTimeInSec"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m FunctionsTargetDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m FunctionsTargetDetailsResponse) 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 FunctionsTargetDetailsResponse) 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 FunctionsTargetDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeFunctionsTargetDetailsResponse FunctionsTargetDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeFunctionsTargetDetailsResponse + }{ + "functions", + (MarshalTypeFunctionsTargetDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/lifecycle_state.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/lifecycle_state.go index 29154e2ed90..baf379e8579 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/sch/lifecycle_state.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/lifecycle_state.go @@ -21,33 +21,36 @@ type LifecycleStateEnum string // Set of constants representing the allowable values for LifecycleStateEnum const ( - LifecycleStateCreating LifecycleStateEnum = "CREATING" - LifecycleStateUpdating LifecycleStateEnum = "UPDATING" - LifecycleStateActive LifecycleStateEnum = "ACTIVE" - LifecycleStateInactive LifecycleStateEnum = "INACTIVE" - LifecycleStateDeleting LifecycleStateEnum = "DELETING" - LifecycleStateDeleted LifecycleStateEnum = "DELETED" - LifecycleStateFailed LifecycleStateEnum = "FAILED" + LifecycleStateCreating LifecycleStateEnum = "CREATING" + LifecycleStateUpdating LifecycleStateEnum = "UPDATING" + LifecycleStateActive LifecycleStateEnum = "ACTIVE" + LifecycleStateInactive LifecycleStateEnum = "INACTIVE" + LifecycleStateNeedsAttention LifecycleStateEnum = "NEEDS_ATTENTION" + LifecycleStateDeleting LifecycleStateEnum = "DELETING" + LifecycleStateDeleted LifecycleStateEnum = "DELETED" + LifecycleStateFailed LifecycleStateEnum = "FAILED" ) var mappingLifecycleStateEnum = map[string]LifecycleStateEnum{ - "CREATING": LifecycleStateCreating, - "UPDATING": LifecycleStateUpdating, - "ACTIVE": LifecycleStateActive, - "INACTIVE": LifecycleStateInactive, - "DELETING": LifecycleStateDeleting, - "DELETED": LifecycleStateDeleted, - "FAILED": LifecycleStateFailed, + "CREATING": LifecycleStateCreating, + "UPDATING": LifecycleStateUpdating, + "ACTIVE": LifecycleStateActive, + "INACTIVE": LifecycleStateInactive, + "NEEDS_ATTENTION": LifecycleStateNeedsAttention, + "DELETING": LifecycleStateDeleting, + "DELETED": LifecycleStateDeleted, + "FAILED": LifecycleStateFailed, } var mappingLifecycleStateEnumLowerCase = map[string]LifecycleStateEnum{ - "creating": LifecycleStateCreating, - "updating": LifecycleStateUpdating, - "active": LifecycleStateActive, - "inactive": LifecycleStateInactive, - "deleting": LifecycleStateDeleting, - "deleted": LifecycleStateDeleted, - "failed": LifecycleStateFailed, + "creating": LifecycleStateCreating, + "updating": LifecycleStateUpdating, + "active": LifecycleStateActive, + "inactive": LifecycleStateInactive, + "needs_attention": LifecycleStateNeedsAttention, + "deleting": LifecycleStateDeleting, + "deleted": LifecycleStateDeleted, + "failed": LifecycleStateFailed, } // GetLifecycleStateEnumValues Enumerates the set of values for LifecycleStateEnum @@ -66,6 +69,7 @@ func GetLifecycleStateEnumStringValues() []string { "UPDATING", "ACTIVE", "INACTIVE", + "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED", diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_connector_plugins_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_connector_plugins_request_response.go index c1b301634d1..db555710b39 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_connector_plugins_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_connector_plugins_request_response.go @@ -142,33 +142,36 @@ type ListConnectorPluginsLifecycleStateEnum string // Set of constants representing the allowable values for ListConnectorPluginsLifecycleStateEnum const ( - ListConnectorPluginsLifecycleStateCreating ListConnectorPluginsLifecycleStateEnum = "CREATING" - ListConnectorPluginsLifecycleStateUpdating ListConnectorPluginsLifecycleStateEnum = "UPDATING" - ListConnectorPluginsLifecycleStateActive ListConnectorPluginsLifecycleStateEnum = "ACTIVE" - ListConnectorPluginsLifecycleStateInactive ListConnectorPluginsLifecycleStateEnum = "INACTIVE" - ListConnectorPluginsLifecycleStateDeleting ListConnectorPluginsLifecycleStateEnum = "DELETING" - ListConnectorPluginsLifecycleStateDeleted ListConnectorPluginsLifecycleStateEnum = "DELETED" - ListConnectorPluginsLifecycleStateFailed ListConnectorPluginsLifecycleStateEnum = "FAILED" + ListConnectorPluginsLifecycleStateCreating ListConnectorPluginsLifecycleStateEnum = "CREATING" + ListConnectorPluginsLifecycleStateUpdating ListConnectorPluginsLifecycleStateEnum = "UPDATING" + ListConnectorPluginsLifecycleStateActive ListConnectorPluginsLifecycleStateEnum = "ACTIVE" + ListConnectorPluginsLifecycleStateInactive ListConnectorPluginsLifecycleStateEnum = "INACTIVE" + ListConnectorPluginsLifecycleStateNeedsAttention ListConnectorPluginsLifecycleStateEnum = "NEEDS_ATTENTION" + ListConnectorPluginsLifecycleStateDeleting ListConnectorPluginsLifecycleStateEnum = "DELETING" + ListConnectorPluginsLifecycleStateDeleted ListConnectorPluginsLifecycleStateEnum = "DELETED" + ListConnectorPluginsLifecycleStateFailed ListConnectorPluginsLifecycleStateEnum = "FAILED" ) var mappingListConnectorPluginsLifecycleStateEnum = map[string]ListConnectorPluginsLifecycleStateEnum{ - "CREATING": ListConnectorPluginsLifecycleStateCreating, - "UPDATING": ListConnectorPluginsLifecycleStateUpdating, - "ACTIVE": ListConnectorPluginsLifecycleStateActive, - "INACTIVE": ListConnectorPluginsLifecycleStateInactive, - "DELETING": ListConnectorPluginsLifecycleStateDeleting, - "DELETED": ListConnectorPluginsLifecycleStateDeleted, - "FAILED": ListConnectorPluginsLifecycleStateFailed, + "CREATING": ListConnectorPluginsLifecycleStateCreating, + "UPDATING": ListConnectorPluginsLifecycleStateUpdating, + "ACTIVE": ListConnectorPluginsLifecycleStateActive, + "INACTIVE": ListConnectorPluginsLifecycleStateInactive, + "NEEDS_ATTENTION": ListConnectorPluginsLifecycleStateNeedsAttention, + "DELETING": ListConnectorPluginsLifecycleStateDeleting, + "DELETED": ListConnectorPluginsLifecycleStateDeleted, + "FAILED": ListConnectorPluginsLifecycleStateFailed, } var mappingListConnectorPluginsLifecycleStateEnumLowerCase = map[string]ListConnectorPluginsLifecycleStateEnum{ - "creating": ListConnectorPluginsLifecycleStateCreating, - "updating": ListConnectorPluginsLifecycleStateUpdating, - "active": ListConnectorPluginsLifecycleStateActive, - "inactive": ListConnectorPluginsLifecycleStateInactive, - "deleting": ListConnectorPluginsLifecycleStateDeleting, - "deleted": ListConnectorPluginsLifecycleStateDeleted, - "failed": ListConnectorPluginsLifecycleStateFailed, + "creating": ListConnectorPluginsLifecycleStateCreating, + "updating": ListConnectorPluginsLifecycleStateUpdating, + "active": ListConnectorPluginsLifecycleStateActive, + "inactive": ListConnectorPluginsLifecycleStateInactive, + "needs_attention": ListConnectorPluginsLifecycleStateNeedsAttention, + "deleting": ListConnectorPluginsLifecycleStateDeleting, + "deleted": ListConnectorPluginsLifecycleStateDeleted, + "failed": ListConnectorPluginsLifecycleStateFailed, } // GetListConnectorPluginsLifecycleStateEnumValues Enumerates the set of values for ListConnectorPluginsLifecycleStateEnum @@ -187,6 +190,7 @@ func GetListConnectorPluginsLifecycleStateEnumStringValues() []string { "UPDATING", "ACTIVE", "INACTIVE", + "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED", diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_service_connectors_request_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_service_connectors_request_response.go index b2169cda10a..55dc207610a 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_service_connectors_request_response.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/list_service_connectors_request_response.go @@ -141,33 +141,36 @@ type ListServiceConnectorsLifecycleStateEnum string // Set of constants representing the allowable values for ListServiceConnectorsLifecycleStateEnum const ( - ListServiceConnectorsLifecycleStateCreating ListServiceConnectorsLifecycleStateEnum = "CREATING" - ListServiceConnectorsLifecycleStateUpdating ListServiceConnectorsLifecycleStateEnum = "UPDATING" - ListServiceConnectorsLifecycleStateActive ListServiceConnectorsLifecycleStateEnum = "ACTIVE" - ListServiceConnectorsLifecycleStateInactive ListServiceConnectorsLifecycleStateEnum = "INACTIVE" - ListServiceConnectorsLifecycleStateDeleting ListServiceConnectorsLifecycleStateEnum = "DELETING" - ListServiceConnectorsLifecycleStateDeleted ListServiceConnectorsLifecycleStateEnum = "DELETED" - ListServiceConnectorsLifecycleStateFailed ListServiceConnectorsLifecycleStateEnum = "FAILED" + ListServiceConnectorsLifecycleStateCreating ListServiceConnectorsLifecycleStateEnum = "CREATING" + ListServiceConnectorsLifecycleStateUpdating ListServiceConnectorsLifecycleStateEnum = "UPDATING" + ListServiceConnectorsLifecycleStateActive ListServiceConnectorsLifecycleStateEnum = "ACTIVE" + ListServiceConnectorsLifecycleStateInactive ListServiceConnectorsLifecycleStateEnum = "INACTIVE" + ListServiceConnectorsLifecycleStateNeedsAttention ListServiceConnectorsLifecycleStateEnum = "NEEDS_ATTENTION" + ListServiceConnectorsLifecycleStateDeleting ListServiceConnectorsLifecycleStateEnum = "DELETING" + ListServiceConnectorsLifecycleStateDeleted ListServiceConnectorsLifecycleStateEnum = "DELETED" + ListServiceConnectorsLifecycleStateFailed ListServiceConnectorsLifecycleStateEnum = "FAILED" ) var mappingListServiceConnectorsLifecycleStateEnum = map[string]ListServiceConnectorsLifecycleStateEnum{ - "CREATING": ListServiceConnectorsLifecycleStateCreating, - "UPDATING": ListServiceConnectorsLifecycleStateUpdating, - "ACTIVE": ListServiceConnectorsLifecycleStateActive, - "INACTIVE": ListServiceConnectorsLifecycleStateInactive, - "DELETING": ListServiceConnectorsLifecycleStateDeleting, - "DELETED": ListServiceConnectorsLifecycleStateDeleted, - "FAILED": ListServiceConnectorsLifecycleStateFailed, + "CREATING": ListServiceConnectorsLifecycleStateCreating, + "UPDATING": ListServiceConnectorsLifecycleStateUpdating, + "ACTIVE": ListServiceConnectorsLifecycleStateActive, + "INACTIVE": ListServiceConnectorsLifecycleStateInactive, + "NEEDS_ATTENTION": ListServiceConnectorsLifecycleStateNeedsAttention, + "DELETING": ListServiceConnectorsLifecycleStateDeleting, + "DELETED": ListServiceConnectorsLifecycleStateDeleted, + "FAILED": ListServiceConnectorsLifecycleStateFailed, } var mappingListServiceConnectorsLifecycleStateEnumLowerCase = map[string]ListServiceConnectorsLifecycleStateEnum{ - "creating": ListServiceConnectorsLifecycleStateCreating, - "updating": ListServiceConnectorsLifecycleStateUpdating, - "active": ListServiceConnectorsLifecycleStateActive, - "inactive": ListServiceConnectorsLifecycleStateInactive, - "deleting": ListServiceConnectorsLifecycleStateDeleting, - "deleted": ListServiceConnectorsLifecycleStateDeleted, - "failed": ListServiceConnectorsLifecycleStateFailed, + "creating": ListServiceConnectorsLifecycleStateCreating, + "updating": ListServiceConnectorsLifecycleStateUpdating, + "active": ListServiceConnectorsLifecycleStateActive, + "inactive": ListServiceConnectorsLifecycleStateInactive, + "needs_attention": ListServiceConnectorsLifecycleStateNeedsAttention, + "deleting": ListServiceConnectorsLifecycleStateDeleting, + "deleted": ListServiceConnectorsLifecycleStateDeleted, + "failed": ListServiceConnectorsLifecycleStateFailed, } // GetListServiceConnectorsLifecycleStateEnumValues Enumerates the set of values for ListServiceConnectorsLifecycleStateEnum @@ -186,6 +189,7 @@ func GetListServiceConnectorsLifecycleStateEnumStringValues() []string { "UPDATING", "ACTIVE", "INACTIVE", + "NEEDS_ATTENTION", "DELETING", "DELETED", "FAILED", diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/log_rule_task_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/log_rule_task_details_response.go new file mode 100644 index 00000000000..88d12362435 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/log_rule_task_details_response.go @@ -0,0 +1,66 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// LogRuleTaskDetailsResponse The log filter task. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type LogRuleTaskDetailsResponse struct { + + // A filter or mask to limit the source used in the flow defined by the connector. + Condition *string `mandatory:"true" json:"condition"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m LogRuleTaskDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m LogRuleTaskDetailsResponse) 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 LogRuleTaskDetailsResponse) 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 LogRuleTaskDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeLogRuleTaskDetailsResponse LogRuleTaskDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeLogRuleTaskDetailsResponse + }{ + "logRule", + (MarshalTypeLogRuleTaskDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/logging_analytics_target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/logging_analytics_target_details_response.go new file mode 100644 index 00000000000..9b001d8559b --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/logging_analytics_target_details_response.go @@ -0,0 +1,71 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// LoggingAnalyticsTargetDetailsResponse The destination log group for data transferred from the source. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type LoggingAnalyticsTargetDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Logging Analytics log group. + LogGroupId *string `mandatory:"true" json:"logGroupId"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + // Identifier of the log source that you want to use for processing data received from the connector source. + // Applies to `StreamingSource` only. + // Equivalent to `name` at LogAnalyticsSource. + LogSourceIdentifier *string `mandatory:"false" json:"logSourceIdentifier"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m LoggingAnalyticsTargetDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m LoggingAnalyticsTargetDetailsResponse) 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 LoggingAnalyticsTargetDetailsResponse) 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 LoggingAnalyticsTargetDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeLoggingAnalyticsTargetDetailsResponse LoggingAnalyticsTargetDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeLoggingAnalyticsTargetDetailsResponse + }{ + "loggingAnalytics", + (MarshalTypeLoggingAnalyticsTargetDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/logging_source_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/logging_source_details_response.go new file mode 100644 index 00000000000..0c844d69202 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/logging_source_details_response.go @@ -0,0 +1,66 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// LoggingSourceDetailsResponse The Logging source. +// For configuration instructions, see +// Creating a Connector with a Logging Source (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector-logging-source.htm). +type LoggingSourceDetailsResponse struct { + + // The logs for this Logging source. + LogSources []LogSource `mandatory:"true" json:"logSources"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m LoggingSourceDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m LoggingSourceDetailsResponse) 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 LoggingSourceDetailsResponse) 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 LoggingSourceDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeLoggingSourceDetailsResponse LoggingSourceDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeLoggingSourceDetailsResponse + }{ + "logging", + (MarshalTypeLoggingSourceDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/monitoring_source_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/monitoring_source_details_response.go new file mode 100644 index 00000000000..5dd68c04255 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/monitoring_source_details_response.go @@ -0,0 +1,66 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MonitoringSourceDetailsResponse The Monitoring source. +// For configuration instructions, see +// Creating a Connector with a Monitoring Source (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector-monitoring-source.htm). +type MonitoringSourceDetailsResponse struct { + + // One or more compartment-specific lists of metric namespaces to retrieve data from. + MonitoringSources []MonitoringSource `mandatory:"true" json:"monitoringSources"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m MonitoringSourceDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m MonitoringSourceDetailsResponse) 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 MonitoringSourceDetailsResponse) 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 MonitoringSourceDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeMonitoringSourceDetailsResponse MonitoringSourceDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeMonitoringSourceDetailsResponse + }{ + "monitoring", + (MarshalTypeMonitoringSourceDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/monitoring_target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/monitoring_target_details_response.go new file mode 100644 index 00000000000..99964f087c1 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/monitoring_target_details_response.go @@ -0,0 +1,77 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// MonitoringTargetDetailsResponse The destination metric for data transferred from the source. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type MonitoringTargetDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the metric. + CompartmentId *string `mandatory:"true" json:"compartmentId"` + + // The namespace of the metric. + // Example: `oci_computeagent` + MetricNamespace *string `mandatory:"true" json:"metricNamespace"` + + // The name of the metric. + // Example: `CpuUtilization` + Metric *string `mandatory:"true" json:"metric"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + // List of dimension names and values. + Dimensions []DimensionDetails `mandatory:"false" json:"dimensions"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m MonitoringTargetDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m MonitoringTargetDetailsResponse) 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 MonitoringTargetDetailsResponse) 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 MonitoringTargetDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeMonitoringTargetDetailsResponse MonitoringTargetDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeMonitoringTargetDetailsResponse + }{ + "monitoring", + (MarshalTypeMonitoringTargetDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/notifications_target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/notifications_target_details_response.go new file mode 100644 index 00000000000..2db1cd12225 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/notifications_target_details_response.go @@ -0,0 +1,70 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// NotificationsTargetDetailsResponse The destination topic for data transferred from the source. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type NotificationsTargetDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the topic. + TopicId *string `mandatory:"true" json:"topicId"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + // Whether to apply a simplified, user-friendly format to the message. Applies only when friendly formatting is supported by the connector source and the subscription protocol. + // Example: `true` + EnableFormattedMessaging *bool `mandatory:"false" json:"enableFormattedMessaging"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m NotificationsTargetDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m NotificationsTargetDetailsResponse) 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 NotificationsTargetDetailsResponse) 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 NotificationsTargetDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeNotificationsTargetDetailsResponse NotificationsTargetDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeNotificationsTargetDetailsResponse + }{ + "notifications", + (MarshalTypeNotificationsTargetDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/object_storage_target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/object_storage_target_details_response.go new file mode 100644 index 00000000000..a5caa21aee5 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/object_storage_target_details_response.go @@ -0,0 +1,80 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// ObjectStorageTargetDetailsResponse The destination bucket for data transferred from the source. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type ObjectStorageTargetDetailsResponse struct { + + // The name of the bucket. Valid characters are letters (upper or lower case), numbers, hyphens (-), + // underscores(_), and periods (.). Bucket names must be unique within an Object Storage namespace. + // Avoid entering confidential information. Example: my-new-bucket1 + BucketName *string `mandatory:"true" json:"bucketName"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + // The namespace. + Namespace *string `mandatory:"false" json:"namespace"` + + // The prefix of the objects. Avoid entering confidential information. + ObjectNamePrefix *string `mandatory:"false" json:"objectNamePrefix"` + + // The batch rollover size in megabytes. + BatchRolloverSizeInMBs *int `mandatory:"false" json:"batchRolloverSizeInMBs"` + + // The batch rollover time in milliseconds. + BatchRolloverTimeInMs *int `mandatory:"false" json:"batchRolloverTimeInMs"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m ObjectStorageTargetDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m ObjectStorageTargetDetailsResponse) 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 ObjectStorageTargetDetailsResponse) 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 ObjectStorageTargetDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeObjectStorageTargetDetailsResponse ObjectStorageTargetDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeObjectStorageTargetDetailsResponse + }{ + "objectStorage", + (MarshalTypeObjectStorageTargetDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/plugin_source_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/plugin_source_details_response.go new file mode 100644 index 00000000000..04b788aa164 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/plugin_source_details_response.go @@ -0,0 +1,72 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// PluginSourceDetailsResponse Details about a connector plugin used to fetch data from a source. +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type PluginSourceDetailsResponse struct { + + // The name of the connector plugin. This name indicates the service to be called by the connector plugin. For example, `QueueSource` indicates the Queue service. + // To find names of connector plugins, list the plugin using ListConnectorPlugins. + PluginName *string `mandatory:"true" json:"pluginName"` + + // The configuration map for the connector plugin. This map includes parameters specific to the connector plugin type. + // For example, for `QueueSource`, the map lists the OCID of the selected queue. + // To find the parameters for a connector plugin, get the plugin using GetConnectorPlugin and review its schema value. + ConfigMap *interface{} `mandatory:"true" json:"configMap"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m PluginSourceDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m PluginSourceDetailsResponse) 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 PluginSourceDetailsResponse) 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 PluginSourceDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypePluginSourceDetailsResponse PluginSourceDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypePluginSourceDetailsResponse + }{ + "plugin", + (MarshalTypePluginSourceDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/private_endpoint_metadata.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/private_endpoint_metadata.go new file mode 100644 index 00000000000..f16bc43ca4f --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/private_endpoint_metadata.go @@ -0,0 +1,45 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// PrivateEndpointMetadata The private endpoint metadata for the connector's source or target. +type PrivateEndpointMetadata struct { + + // The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. + RceTrafficIpAddress *string `mandatory:"false" json:"rceTrafficIpAddress"` + + // The reverse connection endpoint (RCE) IP address for DNS lookups. + RceDnsProxyIpAddress *string `mandatory:"false" json:"rceDnsProxyIpAddress"` +} + +func (m PrivateEndpointMetadata) 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 PrivateEndpointMetadata) 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/sch/service_connector.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/service_connector.go index 9e0d2835854..7fa322da0ff 100644 --- a/vendor/github.com/oracle/oci-go-sdk/v65/sch/service_connector.go +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/service_connector.go @@ -61,12 +61,12 @@ type ServiceConnector struct { // information for a resource in a `FAILED` state. LifecyleDetails *string `mandatory:"false" json:"lifecyleDetails"` - Source SourceDetails `mandatory:"false" json:"source"` + Source SourceDetailsResponse `mandatory:"false" json:"source"` // The list of tasks. - Tasks []TaskDetails `mandatory:"false" json:"tasks"` + Tasks []TaskDetailsResponse `mandatory:"false" json:"tasks"` - Target TargetDetails `mandatory:"false" json:"target"` + Target TargetDetailsResponse `mandatory:"false" json:"target"` // Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. // Example: `{"bar-key": "value"}` @@ -107,9 +107,9 @@ func (m *ServiceConnector) UnmarshalJSON(data []byte) (e error) { Description *string `json:"description"` LifecycleDetails *string `json:"lifecycleDetails"` LifecyleDetails *string `json:"lifecyleDetails"` - Source sourcedetails `json:"source"` - Tasks []taskdetails `json:"tasks"` - Target targetdetails `json:"target"` + Source sourcedetailsresponse `json:"source"` + Tasks []taskdetailsresponse `json:"tasks"` + Target targetdetailsresponse `json:"target"` FreeformTags map[string]string `json:"freeformTags"` DefinedTags map[string]map[string]interface{} `json:"definedTags"` SystemTags map[string]map[string]interface{} `json:"systemTags"` @@ -137,19 +137,19 @@ func (m *ServiceConnector) UnmarshalJSON(data []byte) (e error) { return } if nn != nil { - m.Source = nn.(SourceDetails) + m.Source = nn.(SourceDetailsResponse) } else { m.Source = nil } - m.Tasks = make([]TaskDetails, len(model.Tasks)) + m.Tasks = make([]TaskDetailsResponse, len(model.Tasks)) for i, n := range model.Tasks { nn, e = n.UnmarshalPolymorphicJSON(n.JsonData) if e != nil { return e } if nn != nil { - m.Tasks[i] = nn.(TaskDetails) + m.Tasks[i] = nn.(TaskDetailsResponse) } else { m.Tasks[i] = nil } @@ -159,7 +159,7 @@ func (m *ServiceConnector) UnmarshalJSON(data []byte) (e error) { return } if nn != nil { - m.Target = nn.(TargetDetails) + m.Target = nn.(TargetDetailsResponse) } else { m.Target = nil } diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/source_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/source_details_response.go new file mode 100644 index 00000000000..630e6e5a75a --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/source_details_response.go @@ -0,0 +1,155 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// SourceDetailsResponse An object that represents the source of the flow defined by the connector. +// An example source is the VCNFlow logs within the NetworkLogs group. +// For more information about flows defined by connectors, see +// Overview of Connector Hub (https://docs.oracle.com/iaas/Content/connector-hub/overview.htm). +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type SourceDetailsResponse interface { + GetPrivateEndpointMetadata() *PrivateEndpointMetadata +} + +type sourcedetailsresponse struct { + JsonData []byte + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + Kind string `json:"kind"` +} + +// UnmarshalJSON unmarshals json +func (m *sourcedetailsresponse) UnmarshalJSON(data []byte) error { + m.JsonData = data + type Unmarshalersourcedetailsresponse sourcedetailsresponse + s := struct { + Model Unmarshalersourcedetailsresponse + }{} + err := json.Unmarshal(data, &s.Model) + if err != nil { + return err + } + m.PrivateEndpointMetadata = s.Model.PrivateEndpointMetadata + m.Kind = s.Model.Kind + + return err +} + +// UnmarshalPolymorphicJSON unmarshals polymorphic json +func (m *sourcedetailsresponse) UnmarshalPolymorphicJSON(data []byte) (interface{}, error) { + + if data == nil || string(data) == "null" { + return nil, nil + } + + var err error + switch m.Kind { + case "logging": + mm := LoggingSourceDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "monitoring": + mm := MonitoringSourceDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "streaming": + mm := StreamingSourceDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "plugin": + mm := PluginSourceDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + default: + common.Logf("Received unsupported enum value for SourceDetailsResponse: %s.", m.Kind) + return *m, nil + } +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m sourcedetailsresponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m sourcedetailsresponse) 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 sourcedetailsresponse) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// SourceDetailsResponseKindEnum Enum with underlying type: string +type SourceDetailsResponseKindEnum string + +// Set of constants representing the allowable values for SourceDetailsResponseKindEnum +const ( + SourceDetailsResponseKindLogging SourceDetailsResponseKindEnum = "logging" + SourceDetailsResponseKindMonitoring SourceDetailsResponseKindEnum = "monitoring" + SourceDetailsResponseKindStreaming SourceDetailsResponseKindEnum = "streaming" + SourceDetailsResponseKindPlugin SourceDetailsResponseKindEnum = "plugin" +) + +var mappingSourceDetailsResponseKindEnum = map[string]SourceDetailsResponseKindEnum{ + "logging": SourceDetailsResponseKindLogging, + "monitoring": SourceDetailsResponseKindMonitoring, + "streaming": SourceDetailsResponseKindStreaming, + "plugin": SourceDetailsResponseKindPlugin, +} + +var mappingSourceDetailsResponseKindEnumLowerCase = map[string]SourceDetailsResponseKindEnum{ + "logging": SourceDetailsResponseKindLogging, + "monitoring": SourceDetailsResponseKindMonitoring, + "streaming": SourceDetailsResponseKindStreaming, + "plugin": SourceDetailsResponseKindPlugin, +} + +// GetSourceDetailsResponseKindEnumValues Enumerates the set of values for SourceDetailsResponseKindEnum +func GetSourceDetailsResponseKindEnumValues() []SourceDetailsResponseKindEnum { + values := make([]SourceDetailsResponseKindEnum, 0) + for _, v := range mappingSourceDetailsResponseKindEnum { + values = append(values, v) + } + return values +} + +// GetSourceDetailsResponseKindEnumStringValues Enumerates the set of values in String for SourceDetailsResponseKindEnum +func GetSourceDetailsResponseKindEnumStringValues() []string { + return []string{ + "logging", + "monitoring", + "streaming", + "plugin", + } +} + +// GetMappingSourceDetailsResponseKindEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingSourceDetailsResponseKindEnum(val string) (SourceDetailsResponseKindEnum, bool) { + enum, ok := mappingSourceDetailsResponseKindEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/streaming_source_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/streaming_source_details_response.go new file mode 100644 index 00000000000..f6b328fc3e4 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/streaming_source_details_response.go @@ -0,0 +1,97 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// StreamingSourceDetailsResponse The Streaming source response. Private metadata is included when the target is a stream accessed through +// a private endpoint (https://docs.oracle.com/iaas/Content/Streaming/Concepts/streamsecurity.htm#private_endpoints). +type StreamingSourceDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. + StreamId *string `mandatory:"true" json:"streamId"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + + Cursor StreamingCursorDetails `mandatory:"false" json:"cursor"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m StreamingSourceDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m StreamingSourceDetailsResponse) 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 StreamingSourceDetailsResponse) 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 StreamingSourceDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeStreamingSourceDetailsResponse StreamingSourceDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeStreamingSourceDetailsResponse + }{ + "streaming", + (MarshalTypeStreamingSourceDetailsResponse)(m), + } + + return json.Marshal(&s) +} + +// UnmarshalJSON unmarshals from json +func (m *StreamingSourceDetailsResponse) UnmarshalJSON(data []byte) (e error) { + model := struct { + PrivateEndpointMetadata *PrivateEndpointMetadata `json:"privateEndpointMetadata"` + Cursor streamingcursordetails `json:"cursor"` + StreamId *string `json:"streamId"` + }{} + + e = json.Unmarshal(data, &model) + if e != nil { + return + } + var nn interface{} + m.PrivateEndpointMetadata = model.PrivateEndpointMetadata + + nn, e = model.Cursor.UnmarshalPolymorphicJSON(model.Cursor.JsonData) + if e != nil { + return + } + if nn != nil { + m.Cursor = nn.(StreamingCursorDetails) + } else { + m.Cursor = nil + } + + m.StreamId = model.StreamId + + return +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/streaming_target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/streaming_target_details_response.go new file mode 100644 index 00000000000..e57c18973b2 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/streaming_target_details_response.go @@ -0,0 +1,65 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// StreamingTargetDetailsResponse The Streaming target response. Private metadata is included when the target is a stream accessed through +// a private endpoint (https://docs.oracle.com/iaas/Content/Streaming/Concepts/streamsecurity.htm#private_endpoints). +type StreamingTargetDetailsResponse struct { + + // The OCID (https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. + StreamId *string `mandatory:"true" json:"streamId"` + + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m StreamingTargetDetailsResponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m StreamingTargetDetailsResponse) 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 StreamingTargetDetailsResponse) 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 StreamingTargetDetailsResponse) MarshalJSON() (buff []byte, e error) { + type MarshalTypeStreamingTargetDetailsResponse StreamingTargetDetailsResponse + s := struct { + DiscriminatorParam string `json:"kind"` + MarshalTypeStreamingTargetDetailsResponse + }{ + "streaming", + (MarshalTypeStreamingTargetDetailsResponse)(m), + } + + return json.Marshal(&s) +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/target_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/target_details_response.go new file mode 100644 index 00000000000..5c3e60df66d --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/target_details_response.go @@ -0,0 +1,171 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// TargetDetailsResponse An object that represents the target of the flow defined by the connector. +// An example target is a stream (Streaming service). +// For more information about flows defined by connectors, see +// Overview of Connector Hub (https://docs.oracle.com/iaas/Content/connector-hub/overview.htm). +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type TargetDetailsResponse interface { + GetPrivateEndpointMetadata() *PrivateEndpointMetadata +} + +type targetdetailsresponse struct { + JsonData []byte + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + Kind string `json:"kind"` +} + +// UnmarshalJSON unmarshals json +func (m *targetdetailsresponse) UnmarshalJSON(data []byte) error { + m.JsonData = data + type Unmarshalertargetdetailsresponse targetdetailsresponse + s := struct { + Model Unmarshalertargetdetailsresponse + }{} + err := json.Unmarshal(data, &s.Model) + if err != nil { + return err + } + m.PrivateEndpointMetadata = s.Model.PrivateEndpointMetadata + m.Kind = s.Model.Kind + + return err +} + +// UnmarshalPolymorphicJSON unmarshals polymorphic json +func (m *targetdetailsresponse) UnmarshalPolymorphicJSON(data []byte) (interface{}, error) { + + if data == nil || string(data) == "null" { + return nil, nil + } + + var err error + switch m.Kind { + case "monitoring": + mm := MonitoringTargetDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "loggingAnalytics": + mm := LoggingAnalyticsTargetDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "functions": + mm := FunctionsTargetDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "objectStorage": + mm := ObjectStorageTargetDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "streaming": + mm := StreamingTargetDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "notifications": + mm := NotificationsTargetDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + default: + common.Logf("Received unsupported enum value for TargetDetailsResponse: %s.", m.Kind) + return *m, nil + } +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m targetdetailsresponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m targetdetailsresponse) 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 targetdetailsresponse) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// TargetDetailsResponseKindEnum Enum with underlying type: string +type TargetDetailsResponseKindEnum string + +// Set of constants representing the allowable values for TargetDetailsResponseKindEnum +const ( + TargetDetailsResponseKindFunctions TargetDetailsResponseKindEnum = "functions" + TargetDetailsResponseKindLogginganalytics TargetDetailsResponseKindEnum = "loggingAnalytics" + TargetDetailsResponseKindMonitoring TargetDetailsResponseKindEnum = "monitoring" + TargetDetailsResponseKindNotifications TargetDetailsResponseKindEnum = "notifications" + TargetDetailsResponseKindObjectstorage TargetDetailsResponseKindEnum = "objectStorage" + TargetDetailsResponseKindStreaming TargetDetailsResponseKindEnum = "streaming" +) + +var mappingTargetDetailsResponseKindEnum = map[string]TargetDetailsResponseKindEnum{ + "functions": TargetDetailsResponseKindFunctions, + "loggingAnalytics": TargetDetailsResponseKindLogginganalytics, + "monitoring": TargetDetailsResponseKindMonitoring, + "notifications": TargetDetailsResponseKindNotifications, + "objectStorage": TargetDetailsResponseKindObjectstorage, + "streaming": TargetDetailsResponseKindStreaming, +} + +var mappingTargetDetailsResponseKindEnumLowerCase = map[string]TargetDetailsResponseKindEnum{ + "functions": TargetDetailsResponseKindFunctions, + "logginganalytics": TargetDetailsResponseKindLogginganalytics, + "monitoring": TargetDetailsResponseKindMonitoring, + "notifications": TargetDetailsResponseKindNotifications, + "objectstorage": TargetDetailsResponseKindObjectstorage, + "streaming": TargetDetailsResponseKindStreaming, +} + +// GetTargetDetailsResponseKindEnumValues Enumerates the set of values for TargetDetailsResponseKindEnum +func GetTargetDetailsResponseKindEnumValues() []TargetDetailsResponseKindEnum { + values := make([]TargetDetailsResponseKindEnum, 0) + for _, v := range mappingTargetDetailsResponseKindEnum { + values = append(values, v) + } + return values +} + +// GetTargetDetailsResponseKindEnumStringValues Enumerates the set of values in String for TargetDetailsResponseKindEnum +func GetTargetDetailsResponseKindEnumStringValues() []string { + return []string{ + "functions", + "loggingAnalytics", + "monitoring", + "notifications", + "objectStorage", + "streaming", + } +} + +// GetMappingTargetDetailsResponseKindEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingTargetDetailsResponseKindEnum(val string) (TargetDetailsResponseKindEnum, bool) { + enum, ok := mappingTargetDetailsResponseKindEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/sch/task_details_response.go b/vendor/github.com/oracle/oci-go-sdk/v65/sch/task_details_response.go new file mode 100644 index 00000000000..4938bfc5153 --- /dev/null +++ b/vendor/github.com/oracle/oci-go-sdk/v65/sch/task_details_response.go @@ -0,0 +1,139 @@ +// Copyright (c) 2016, 2018, 2025, 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. + +// Connector Hub API +// +// Use the Connector Hub API to transfer data between services in Oracle Cloud Infrastructure. +// For more information about Connector Hub, see +// the Connector Hub documentation (https://docs.oracle.com/iaas/Content/connector-hub/home.htm). +// Connector Hub is formerly known as Service Connector Hub. +// + +package sch + +import ( + "encoding/json" + "fmt" + "github.com/oracle/oci-go-sdk/v65/common" + "strings" +) + +// TaskDetailsResponse An object that represents a task within the flow defined by the connector. +// An example task is a filter for error logs. +// For more information about flows defined by connectors, see +// Overview of Connector Hub (https://docs.oracle.com/iaas/Content/connector-hub/overview.htm). +// For configuration instructions, see +// Creating a Connector (https://docs.oracle.com/iaas/Content/connector-hub/create-service-connector.htm). +type TaskDetailsResponse interface { + GetPrivateEndpointMetadata() *PrivateEndpointMetadata +} + +type taskdetailsresponse struct { + JsonData []byte + PrivateEndpointMetadata *PrivateEndpointMetadata `mandatory:"false" json:"privateEndpointMetadata"` + Kind string `json:"kind"` +} + +// UnmarshalJSON unmarshals json +func (m *taskdetailsresponse) UnmarshalJSON(data []byte) error { + m.JsonData = data + type Unmarshalertaskdetailsresponse taskdetailsresponse + s := struct { + Model Unmarshalertaskdetailsresponse + }{} + err := json.Unmarshal(data, &s.Model) + if err != nil { + return err + } + m.PrivateEndpointMetadata = s.Model.PrivateEndpointMetadata + m.Kind = s.Model.Kind + + return err +} + +// UnmarshalPolymorphicJSON unmarshals polymorphic json +func (m *taskdetailsresponse) UnmarshalPolymorphicJSON(data []byte) (interface{}, error) { + + if data == nil || string(data) == "null" { + return nil, nil + } + + var err error + switch m.Kind { + case "logRule": + mm := LogRuleTaskDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + case "function": + mm := FunctionTaskDetailsResponse{} + err = json.Unmarshal(data, &mm) + return mm, err + default: + common.Logf("Received unsupported enum value for TaskDetailsResponse: %s.", m.Kind) + return *m, nil + } +} + +// GetPrivateEndpointMetadata returns PrivateEndpointMetadata +func (m taskdetailsresponse) GetPrivateEndpointMetadata() *PrivateEndpointMetadata { + return m.PrivateEndpointMetadata +} + +func (m taskdetailsresponse) 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 taskdetailsresponse) ValidateEnumValue() (bool, error) { + errMessage := []string{} + + if len(errMessage) > 0 { + return true, fmt.Errorf(strings.Join(errMessage, "\n")) + } + return false, nil +} + +// TaskDetailsResponseKindEnum Enum with underlying type: string +type TaskDetailsResponseKindEnum string + +// Set of constants representing the allowable values for TaskDetailsResponseKindEnum +const ( + TaskDetailsResponseKindFunction TaskDetailsResponseKindEnum = "function" + TaskDetailsResponseKindLogrule TaskDetailsResponseKindEnum = "logRule" +) + +var mappingTaskDetailsResponseKindEnum = map[string]TaskDetailsResponseKindEnum{ + "function": TaskDetailsResponseKindFunction, + "logRule": TaskDetailsResponseKindLogrule, +} + +var mappingTaskDetailsResponseKindEnumLowerCase = map[string]TaskDetailsResponseKindEnum{ + "function": TaskDetailsResponseKindFunction, + "logrule": TaskDetailsResponseKindLogrule, +} + +// GetTaskDetailsResponseKindEnumValues Enumerates the set of values for TaskDetailsResponseKindEnum +func GetTaskDetailsResponseKindEnumValues() []TaskDetailsResponseKindEnum { + values := make([]TaskDetailsResponseKindEnum, 0) + for _, v := range mappingTaskDetailsResponseKindEnum { + values = append(values, v) + } + return values +} + +// GetTaskDetailsResponseKindEnumStringValues Enumerates the set of values in String for TaskDetailsResponseKindEnum +func GetTaskDetailsResponseKindEnumStringValues() []string { + return []string{ + "function", + "logRule", + } +} + +// GetMappingTaskDetailsResponseKindEnum performs case Insensitive comparison on enum value and return the desired enum +func GetMappingTaskDetailsResponseKindEnum(val string) (TaskDetailsResponseKindEnum, bool) { + enum, ok := mappingTaskDetailsResponseKindEnumLowerCase[strings.ToLower(val)] + return enum, ok +} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/tenantmanagercontrolplane/classic_subscription_environment_name.go b/vendor/github.com/oracle/oci-go-sdk/v65/tenantmanagercontrolplane/classic_subscription_environment_name.go deleted file mode 100644 index 356f4329669..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/tenantmanagercontrolplane/classic_subscription_environment_name.go +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright (c) 2016, 2018, 2025, 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. - -// Organizations API -// -// Use the Organizations API to consolidate multiple OCI tenancies into an organization, and centrally manage your tenancies and organization resources. For more information, see Organization Management Overview (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/organization_management_overview.htm). -// - -package tenantmanagercontrolplane - -import ( - "strings" -) - -// ClassicSubscriptionEnvironmentNameEnum Enum with underlying type: string -type ClassicSubscriptionEnvironmentNameEnum string - -// Set of constants representing the allowable values for ClassicSubscriptionEnvironmentNameEnum -const ( - ClassicSubscriptionEnvironmentNameProd ClassicSubscriptionEnvironmentNameEnum = "PROD" - ClassicSubscriptionEnvironmentNamePreprod ClassicSubscriptionEnvironmentNameEnum = "PREPROD" - ClassicSubscriptionEnvironmentNamePreprod1 ClassicSubscriptionEnvironmentNameEnum = "PREPROD1" - ClassicSubscriptionEnvironmentNamePintlab ClassicSubscriptionEnvironmentNameEnum = "PINTLAB" - ClassicSubscriptionEnvironmentNameMiglab ClassicSubscriptionEnvironmentNameEnum = "MIGLAB" - ClassicSubscriptionEnvironmentNamePool2 ClassicSubscriptionEnvironmentNameEnum = "POOL2" - ClassicSubscriptionEnvironmentNamePintlab2 ClassicSubscriptionEnvironmentNameEnum = "PINTLAB2" - ClassicSubscriptionEnvironmentNameMylab0 ClassicSubscriptionEnvironmentNameEnum = "MYLAB0" - ClassicSubscriptionEnvironmentNameMylab1 ClassicSubscriptionEnvironmentNameEnum = "MYLAB1" - ClassicSubscriptionEnvironmentNameMylab2 ClassicSubscriptionEnvironmentNameEnum = "MYLAB2" - ClassicSubscriptionEnvironmentNameMylab3 ClassicSubscriptionEnvironmentNameEnum = "MYLAB3" - ClassicSubscriptionEnvironmentNameMylab4 ClassicSubscriptionEnvironmentNameEnum = "MYLAB4" - ClassicSubscriptionEnvironmentNameMylab5 ClassicSubscriptionEnvironmentNameEnum = "MYLAB5" -) - -var mappingClassicSubscriptionEnvironmentNameEnum = map[string]ClassicSubscriptionEnvironmentNameEnum{ - "PROD": ClassicSubscriptionEnvironmentNameProd, - "PREPROD": ClassicSubscriptionEnvironmentNamePreprod, - "PREPROD1": ClassicSubscriptionEnvironmentNamePreprod1, - "PINTLAB": ClassicSubscriptionEnvironmentNamePintlab, - "MIGLAB": ClassicSubscriptionEnvironmentNameMiglab, - "POOL2": ClassicSubscriptionEnvironmentNamePool2, - "PINTLAB2": ClassicSubscriptionEnvironmentNamePintlab2, - "MYLAB0": ClassicSubscriptionEnvironmentNameMylab0, - "MYLAB1": ClassicSubscriptionEnvironmentNameMylab1, - "MYLAB2": ClassicSubscriptionEnvironmentNameMylab2, - "MYLAB3": ClassicSubscriptionEnvironmentNameMylab3, - "MYLAB4": ClassicSubscriptionEnvironmentNameMylab4, - "MYLAB5": ClassicSubscriptionEnvironmentNameMylab5, -} - -var mappingClassicSubscriptionEnvironmentNameEnumLowerCase = map[string]ClassicSubscriptionEnvironmentNameEnum{ - "prod": ClassicSubscriptionEnvironmentNameProd, - "preprod": ClassicSubscriptionEnvironmentNamePreprod, - "preprod1": ClassicSubscriptionEnvironmentNamePreprod1, - "pintlab": ClassicSubscriptionEnvironmentNamePintlab, - "miglab": ClassicSubscriptionEnvironmentNameMiglab, - "pool2": ClassicSubscriptionEnvironmentNamePool2, - "pintlab2": ClassicSubscriptionEnvironmentNamePintlab2, - "mylab0": ClassicSubscriptionEnvironmentNameMylab0, - "mylab1": ClassicSubscriptionEnvironmentNameMylab1, - "mylab2": ClassicSubscriptionEnvironmentNameMylab2, - "mylab3": ClassicSubscriptionEnvironmentNameMylab3, - "mylab4": ClassicSubscriptionEnvironmentNameMylab4, - "mylab5": ClassicSubscriptionEnvironmentNameMylab5, -} - -// GetClassicSubscriptionEnvironmentNameEnumValues Enumerates the set of values for ClassicSubscriptionEnvironmentNameEnum -func GetClassicSubscriptionEnvironmentNameEnumValues() []ClassicSubscriptionEnvironmentNameEnum { - values := make([]ClassicSubscriptionEnvironmentNameEnum, 0) - for _, v := range mappingClassicSubscriptionEnvironmentNameEnum { - values = append(values, v) - } - return values -} - -// GetClassicSubscriptionEnvironmentNameEnumStringValues Enumerates the set of values in String for ClassicSubscriptionEnvironmentNameEnum -func GetClassicSubscriptionEnvironmentNameEnumStringValues() []string { - return []string{ - "PROD", - "PREPROD", - "PREPROD1", - "PINTLAB", - "MIGLAB", - "POOL2", - "PINTLAB2", - "MYLAB0", - "MYLAB1", - "MYLAB2", - "MYLAB3", - "MYLAB4", - "MYLAB5", - } -} - -// GetMappingClassicSubscriptionEnvironmentNameEnum performs case Insensitive comparison on enum value and return the desired enum -func GetMappingClassicSubscriptionEnvironmentNameEnum(val string) (ClassicSubscriptionEnvironmentNameEnum, bool) { - enum, ok := mappingClassicSubscriptionEnvironmentNameEnumLowerCase[strings.ToLower(val)] - return enum, ok -} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/visualbuilder/attachment_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/visualbuilder/attachment_details.go deleted file mode 100644 index c0c4596ef0d..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/visualbuilder/attachment_details.go +++ /dev/null @@ -1,100 +0,0 @@ -// 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. - -// Visual Builder API -// -// Oracle Visual Builder enables developers to quickly build web and mobile applications. With a visual development environment that makes it easy to connect to Oracle data and third-party REST services, developers can build modern, consumer-grade applications in a fraction of the time it would take in other tools. -// The Visual Builder Instance Management API allows users to create and manage a Visual Builder instance. -// - -package visualbuilder - -import ( - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// AttachmentDetails Description of an attachments for this instance -type AttachmentDetails struct { - - // The role of the target attachment. - // * `PARENT` - The target instance is the parent of this attachment. - // * `CHILD` - The target instance is the child of this attachment. - TargetRole AttachmentDetailsTargetRoleEnum `mandatory:"true" json:"targetRole"` - - // * If role == `PARENT`, the attached instance was created by this service instance - // * If role == `CHILD`, this instance was created from attached instance on behalf of a user - IsImplicit *bool `mandatory:"true" json:"isImplicit"` - - // The OCID of the target instance (which could be any other OCI PaaS/SaaS resource), to which this instance is attached. - TargetId *string `mandatory:"true" json:"targetId"` - - // The dataplane instance URL of the attached instance - TargetInstanceUrl *string `mandatory:"true" json:"targetInstanceUrl"` - - // The type of the target instance, such as "FUSION". - TargetServiceType *string `mandatory:"true" json:"targetServiceType"` -} - -func (m AttachmentDetails) 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 AttachmentDetails) ValidateEnumValue() (bool, error) { - errMessage := []string{} - if _, ok := GetMappingAttachmentDetailsTargetRoleEnum(string(m.TargetRole)); !ok && m.TargetRole != "" { - errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for TargetRole: %s. Supported values are: %s.", m.TargetRole, strings.Join(GetAttachmentDetailsTargetRoleEnumStringValues(), ","))) - } - - if len(errMessage) > 0 { - return true, fmt.Errorf(strings.Join(errMessage, "\n")) - } - return false, nil -} - -// AttachmentDetailsTargetRoleEnum Enum with underlying type: string -type AttachmentDetailsTargetRoleEnum string - -// Set of constants representing the allowable values for AttachmentDetailsTargetRoleEnum -const ( - AttachmentDetailsTargetRoleParent AttachmentDetailsTargetRoleEnum = "PARENT" - AttachmentDetailsTargetRoleChild AttachmentDetailsTargetRoleEnum = "CHILD" -) - -var mappingAttachmentDetailsTargetRoleEnum = map[string]AttachmentDetailsTargetRoleEnum{ - "PARENT": AttachmentDetailsTargetRoleParent, - "CHILD": AttachmentDetailsTargetRoleChild, -} - -var mappingAttachmentDetailsTargetRoleEnumLowerCase = map[string]AttachmentDetailsTargetRoleEnum{ - "parent": AttachmentDetailsTargetRoleParent, - "child": AttachmentDetailsTargetRoleChild, -} - -// GetAttachmentDetailsTargetRoleEnumValues Enumerates the set of values for AttachmentDetailsTargetRoleEnum -func GetAttachmentDetailsTargetRoleEnumValues() []AttachmentDetailsTargetRoleEnum { - values := make([]AttachmentDetailsTargetRoleEnum, 0) - for _, v := range mappingAttachmentDetailsTargetRoleEnum { - values = append(values, v) - } - return values -} - -// GetAttachmentDetailsTargetRoleEnumStringValues Enumerates the set of values in String for AttachmentDetailsTargetRoleEnum -func GetAttachmentDetailsTargetRoleEnumStringValues() []string { - return []string{ - "PARENT", - "CHILD", - } -} - -// GetMappingAttachmentDetailsTargetRoleEnum performs case Insensitive comparison on enum value and return the desired enum -func GetMappingAttachmentDetailsTargetRoleEnum(val string) (AttachmentDetailsTargetRoleEnum, bool) { - enum, ok := mappingAttachmentDetailsTargetRoleEnumLowerCase[strings.ToLower(val)] - return enum, ok -} diff --git a/vendor/github.com/oracle/oci-go-sdk/v65/visualbuilder/idcs_info_details.go b/vendor/github.com/oracle/oci-go-sdk/v65/visualbuilder/idcs_info_details.go deleted file mode 100644 index a0695e4b513..00000000000 --- a/vendor/github.com/oracle/oci-go-sdk/v65/visualbuilder/idcs_info_details.go +++ /dev/null @@ -1,53 +0,0 @@ -// 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. - -// Visual Builder API -// -// Oracle Visual Builder enables developers to quickly build web and mobile applications. With a visual development environment that makes it easy to connect to Oracle data and third-party REST services, developers can build modern, consumer-grade applications in a fraction of the time it would take in other tools. -// The Visual Builder Instance Management API allows users to create and manage a Visual Builder instance. -// - -package visualbuilder - -import ( - "fmt" - "github.com/oracle/oci-go-sdk/v65/common" - "strings" -) - -// IdcsInfoDetails Information for IDCS access -type IdcsInfoDetails struct { - - // URL for the location of the IDCS Application (used by IDCS APIs) - IdcsAppLocationUrl *string `mandatory:"true" json:"idcsAppLocationUrl"` - - // The IDCS application display name associated with the instance - IdcsAppDisplayName *string `mandatory:"true" json:"idcsAppDisplayName"` - - // The IDCS application ID associated with the instance - IdcsAppId *string `mandatory:"true" json:"idcsAppId"` - - // The IDCS application name associated with the instance - IdcsAppName *string `mandatory:"true" json:"idcsAppName"` - - // The URL used as the primary audience for visual builder flows in this instance - // type: string - InstancePrimaryAudienceUrl *string `mandatory:"true" json:"instancePrimaryAudienceUrl"` -} - -func (m IdcsInfoDetails) 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 IdcsInfoDetails) ValidateEnumValue() (bool, error) { - errMessage := []string{} - - if len(errMessage) > 0 { - return true, fmt.Errorf(strings.Join(errMessage, "\n")) - } - return false, nil -} diff --git a/vendor/modules.txt b/vendor/modules.txt index a93af98b64d..5bbd1090cf1 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -282,7 +282,7 @@ github.com/mitchellh/reflectwalk # github.com/oklog/run v1.0.0 ## explicit github.com/oklog/run -# github.com/oracle/oci-go-sdk/v65 v65.88.1 +# github.com/oracle/oci-go-sdk/v65 v65.88.1 => ./vendor/github.com/oracle/oci-go-sdk ## explicit; go 1.13 github.com/oracle/oci-go-sdk/v65/adm github.com/oracle/oci-go-sdk/v65/aianomalydetection diff --git a/website/docs/d/core_ipv6.html.markdown b/website/docs/d/core_ipv6.html.markdown index 4015c092954..4e8aca88df0 100644 --- a/website/docs/d/core_ipv6.html.markdown +++ b/website/docs/d/core_ipv6.html.markdown @@ -42,7 +42,11 @@ The following attributes are exported: * `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"}` * `id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the IPv6. * `ip_address` - The IPv6 address of the `IPv6` object. The address is within the IPv6 prefix of the VNIC's subnet (see the `ipv6CidrBlock` attribute for the [Subnet](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Subnet/) object. Example: `2001:0db8:0123:1111:abcd:ef01:2345:6789` -* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use. +* `ip_state` - State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE. +* `lifetime` - Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). * `state` - The IPv6's current state. * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. * `time_created` - The date and time the IPv6 was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z` diff --git a/website/docs/d/core_private_ip.html.markdown b/website/docs/d/core_private_ip.html.markdown index 1de07673ae7..7d69b38e0ac 100644 --- a/website/docs/d/core_private_ip.html.markdown +++ b/website/docs/d/core_private_ip.html.markdown @@ -51,9 +51,13 @@ The following attributes are exported: However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the address is from the range specified by the `cidrBlock` attribute for the VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). - Example: `10.0.3.3` -* `is_primary` - Whether this private IP is the primary one on the VNIC. Primary private IPs are unassigned and deleted automatically when the VNIC is terminated. Example: `true` -* `is_reserved` - true if the IP is reserved and can exist detached from vnic + Example: `10.0.3.3` +* `ip_state` - State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE. +* `is_primary` - Whether this private IP is the primary one on the VNIC. Primary private IPs are unassigned and deleted automatically when the VNIC is terminated. Example: `true` +* `lifetime` - Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the `subnetId` is null. diff --git a/website/docs/d/core_private_ips.html.markdown b/website/docs/d/core_private_ips.html.markdown index 029bfe2c732..ebd14feb744 100644 --- a/website/docs/d/core_private_ips.html.markdown +++ b/website/docs/d/core_private_ips.html.markdown @@ -49,6 +49,8 @@ data "oci_core_private_ips" "test_private_ips_by_vnic" { data "oci_core_private_ips" "test_private_ips_by_ip_address" { #Optional ip_address = var.private_ip_ip_address + ip_state = var.private_ip_ip_state + lifetime = var.private_ip_lifetime subnet_id = oci_core_subnet.test_subnet.id vlan_id = oci_core_vlan.test_vlan.id vnic_id = oci_core_vnic_attachment.test_vnic_attachment.id @@ -60,6 +62,10 @@ data "oci_core_private_ips" "test_private_ips_by_ip_address" { The following arguments are supported: * `ip_address` - (Optional) An IP address. This could be either IPv4 or IPv6, depending on the resource. Example: `10.0.3.3` +* `ip_state` - (Optional) State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED otherwise AVAILABLE +* `lifetime` - (Optional) Lifetime of the IP address. There are two types of IPs: + * Ephemeral + * Reserved * `subnet_id` - (Optional) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet. * `vlan_id` - (Optional) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VLAN. * `vnic_id` - (Optional) The OCID of the VNIC. @@ -90,9 +96,13 @@ The following attributes are exported: However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the address is from the range specified by the `cidrBlock` attribute for the VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). - Example: `10.0.3.3` -* `is_primary` - Whether this private IP is the primary one on the VNIC. Primary private IPs are unassigned and deleted automatically when the VNIC is terminated. Example: `true` -* `is_reserved` - true if the IP is reserved and can exist detached from vnic + Example: `10.0.3.3` +* `ip_state` - State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE. +* `is_primary` - Whether this private IP is the primary one on the VNIC. Primary private IPs are unassigned and deleted automatically when the VNIC is terminated. Example: `true` +* `lifetime` - Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the `subnetId` is null. diff --git a/website/docs/d/core_vnic.html.markdown b/website/docs/d/core_vnic.html.markdown index 8ba00a1e29d..908150e9ddd 100644 --- a/website/docs/d/core_vnic.html.markdown +++ b/website/docs/d/core_vnic.html.markdown @@ -59,9 +59,10 @@ The following attributes are exported: If the VNIC belongs to a VLAN as part of the Oracle Cloud VMware Solution (instead of belonging to a subnet), the value of the `nsgIds` attribute is ignored. Instead, the VNIC belongs to the NSGs that are associated with the VLAN itself. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). 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"}` +* `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. +* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). +* `security_attributes` - [Security attributes](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/zpr-artifacts.htm#security-attributes) are labels for a resource that can be referenced in a [Zero Trust Packet Routing](https://docs.cloud.oracle.com/iaas/Content/zero-trust-packet-routing/overview.htm) (ZPR) policy to control access to ZPR-supported resources. Example: `{"Oracle-DataSecurity-ZPR": {"MaxEgressCount": {"value":"42","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/golden_gate_pipeline.html.markdown b/website/docs/d/golden_gate_pipeline.html.markdown index 7ff08e92210..ab029e0068a 100644 --- a/website/docs/d/golden_gate_pipeline.html.markdown +++ b/website/docs/d/golden_gate_pipeline.html.markdown @@ -53,6 +53,12 @@ The following attributes are exported: * `mapping_type` - Defines the exclude/include rules of source and target schemas and tables when replicating from source to target. This option applies when creating and updating a pipeline. * `source` - The source schema/table combination for replication to target. * `target` - The target schema/table combination for replication from the source. +* `pipeline_diagnostic_data` - Information regarding the pipeline diagnostic collection + * `bucket` - Name of the bucket where the object is to be uploaded in the object storage + * `diagnostic_state` - The state of the pipeline diagnostics collection. + * `namespace` - Name of namespace that serves as a container for all of your buckets + * `object` - Name of the diagnostic collected and uploaded to object storage + * `time_last_collected` - The date and time the diagnostic data was last collected for the pipeline. The format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339), such as `2024-07-25T21:10:29.600Z`. * `process_options` - Required pipeline options to configure the replication process (Extract or Replicat). * `initial_data_load` - Options required for the pipeline Initial Data Load. If enabled, copies existing data from source to target before replication. * `action_on_existing_table` - Action upon existing tables in target when initial Data Load is set i.e., isInitialLoad=true. @@ -62,6 +68,7 @@ The following attributes are exported: * `action_on_dml_error` - Action upon DML Error (active only if 'Replicate schema changes (DDL)' is selected) i.e canReplicateSchemaChange=true * `can_replicate_schema_change` - If ENABLED, then addition or removal of schema is also replicated, apart from individual tables and records when creating or updating the pipeline. * `should_restart_on_failure` - If ENABLED, then the replication process restarts itself upon failure. This option applies when creating or updating a pipeline. + * `start_using_default_mapping` - If ENABLED, then the pipeline is started as part of pipeline creation. It uses default mapping. This option applies when creating or updating a pipeline. * `recipe_type` - The type of the recipe * `source_connection_details` - The source connection details for creating a pipeline. * `connection_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the connection being referenced. diff --git a/website/docs/d/golden_gate_pipeline_running_processes.html.markdown b/website/docs/d/golden_gate_pipeline_running_processes.html.markdown index 37f6e340cf6..04b490fb639 100644 --- a/website/docs/d/golden_gate_pipeline_running_processes.html.markdown +++ b/website/docs/d/golden_gate_pipeline_running_processes.html.markdown @@ -10,7 +10,7 @@ description: |- # Data Source: oci_golden_gate_pipeline_running_processes This data source provides the list of Pipeline Running Processes in Oracle Cloud Infrastructure Golden Gate service. -Retrieves a Pipeline's running replication process's status like extracts/replicats. +Retrieves a Pipeline's running replication process's status like Capture/Apply. ## Example Usage diff --git a/website/docs/d/golden_gate_pipelines.html.markdown b/website/docs/d/golden_gate_pipelines.html.markdown index c51151be940..42dd471bf22 100644 --- a/website/docs/d/golden_gate_pipelines.html.markdown +++ b/website/docs/d/golden_gate_pipelines.html.markdown @@ -67,6 +67,12 @@ The following attributes are exported: * `mapping_type` - Defines the exclude/include rules of source and target schemas and tables when replicating from source to target. This option applies when creating and updating a pipeline. * `source` - The source schema/table combination for replication to target. * `target` - The target schema/table combination for replication from the source. +* `pipeline_diagnostic_data` - Information regarding the pipeline diagnostic collection + * `bucket` - Name of the bucket where the object is to be uploaded in the object storage + * `diagnostic_state` - The state of the pipeline diagnostics collection. + * `namespace` - Name of namespace that serves as a container for all of your buckets + * `object` - Name of the diagnostic collected and uploaded to object storage + * `time_last_collected` - The date and time the diagnostic data was last collected for the pipeline. The format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339), such as `2024-07-25T21:10:29.600Z`. * `process_options` - Required pipeline options to configure the replication process (Extract or Replicat). * `initial_data_load` - Options required for the pipeline Initial Data Load. If enabled, copies existing data from source to target before replication. * `action_on_existing_table` - Action upon existing tables in target when initial Data Load is set i.e., isInitialLoad=true. @@ -76,6 +82,7 @@ The following attributes are exported: * `action_on_dml_error` - Action upon DML Error (active only if 'Replicate schema changes (DDL)' is selected) i.e canReplicateSchemaChange=true * `can_replicate_schema_change` - If ENABLED, then addition or removal of schema is also replicated, apart from individual tables and records when creating or updating the pipeline. * `should_restart_on_failure` - If ENABLED, then the replication process restarts itself upon failure. This option applies when creating or updating a pipeline. + * `start_using_default_mapping` - If ENABLED, then the pipeline is started as part of pipeline creation. It uses default mapping. This option applies when creating or updating a pipeline. * `recipe_type` - The type of the recipe * `source_connection_details` - The source connection details for creating a pipeline. * `connection_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the connection being referenced. diff --git a/website/docs/d/sch_service_connector.html.markdown b/website/docs/d/sch_service_connector.html.markdown index 250058ea5e2..57df0652a2f 100644 --- a/website/docs/d/sch_service_connector.html.markdown +++ b/website/docs/d/sch_service_connector.html.markdown @@ -47,7 +47,6 @@ The following attributes are exported: * `config_map` - The configuration map for the connector plugin. This map includes parameters specific to the connector plugin type. For example, for `QueueSource`, the map lists the OCID of the selected queue. To find the parameters for a connector plugin, get the plugin using [GetConnectorPlugin](https://docs.cloud.oracle.com/iaas/api/#/en/serviceconnectors/latest/ConnectorPlugin/GetConnectorPlugin) and review its schema value. * `cursor` - The [read setting](https://docs.cloud.oracle.com/iaas/Content/connector-hub/create-service-connector-streaming-source.htm), which determines where in the stream to start moving data. For configuration instructions, see [Creating a Connector with a Streaming Source](https://docs.cloud.oracle.com/iaas/Content/connector-hub/create-service-connector-streaming-source.htm). * `kind` - The type discriminator. - * `kind` - The type discriminator. * `log_sources` - The logs for this Logging source. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the log source. * `log_group_id` - Identifier of the log group. Either `_Audit` or the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group. Note: For the Notifications target, only `_Audit` is allowed. @@ -61,6 +60,9 @@ The following attributes are exported: * `kind` - The type discriminator. * `namespace` - The source service or application to use when querying for metric data points. Must begin with `oci_`. Example: `oci_computeagent` * `plugin_name` - The name of the connector plugin. This name indicates the service to be called by the connector plugin. For example, `QueueSource` indicates the Queue service. To find names of connector plugins, list the plugin using [ListConnectorPlugin](https://docs.cloud.oracle.com/iaas/api/#/en/serviceconnectors/latest/ConnectorPluginSummary/ListConnectorPlugins). + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `stream_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. * `state` - The current state of the connector. * `system_tags` - The system tags associated with this resource, if any. The system tags are set by Oracle Cloud Infrastructure services. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{orcl-cloud: {free-tier-retain: true}}` @@ -80,13 +82,15 @@ The following attributes are exported: * `name` - Dimension key. A valid dimension key includes only printable ASCII, excluding periods (.) and spaces. Custom dimension keys are acceptable. Avoid entering confidential information. Due to use by Connector Hub, the following dimension names are reserved: `connectorId`, `connectorName`, `connectorSourceType`. For information on valid dimension keys and values, see [MetricDataDetails Reference](https://docs.cloud.oracle.com/iaas/api/#/en/monitoring/latest/datatypes/MetricDataDetails). Example: `type` * `enable_formatted_messaging` - Whether to apply a simplified, user-friendly format to the message. Applies only when friendly formatting is supported by the connector source and the subscription protocol. Example: `true` * `function_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function. - * `kind` - The type discriminator. * `log_group_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Logging Analytics log group. * `log_source_identifier` - Identifier of the log source that you want to use for processing data received from the connector source. Applies to `StreamingSource` only. Equivalent to `name` at [LogAnalyticsSource](https://docs.cloud.oracle.com/iaas/api/#/en/logan-api-spec/latest/LogAnalyticsSource/). * `metric` - The name of the metric. Example: `CpuUtilization` * `metric_namespace` - The namespace of the metric. Example: `oci_computeagent` * `namespace` - The namespace. * `object_name_prefix` - The prefix of the objects. Avoid entering confidential information. + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `stream_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. * `topic_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the topic. * `tasks` - The list of tasks. @@ -94,7 +98,9 @@ The following attributes are exported: * `batch_time_in_sec` - Time limit (seconds) for batch sent to invoke the function. * `condition` - A filter or mask to limit the source used in the flow defined by the connector. * `function_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function to be used as a task. - * `kind` - The type discriminator. + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `time_created` - The date and time when the connector was created. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` * `time_updated` - The date and time when the connector was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` diff --git a/website/docs/d/sch_service_connectors.html.markdown b/website/docs/d/sch_service_connectors.html.markdown index f322a4ff577..b8b73297b35 100644 --- a/website/docs/d/sch_service_connectors.html.markdown +++ b/website/docs/d/sch_service_connectors.html.markdown @@ -59,7 +59,6 @@ The following attributes are exported: * `config_map` - The configuration map for the connector plugin. This map includes parameters specific to the connector plugin type. For example, for `QueueSource`, the map lists the OCID of the selected queue. To find the parameters for a connector plugin, get the plugin using [GetConnectorPlugin](https://docs.cloud.oracle.com/iaas/api/#/en/serviceconnectors/latest/ConnectorPlugin/GetConnectorPlugin) and review its schema value. * `cursor` - The [read setting](https://docs.cloud.oracle.com/iaas/Content/connector-hub/create-service-connector-streaming-source.htm), which determines where in the stream to start moving data. For configuration instructions, see [Creating a Connector with a Streaming Source](https://docs.cloud.oracle.com/iaas/Content/connector-hub/create-service-connector-streaming-source.htm). * `kind` - The type discriminator. - * `kind` - The type discriminator. * `log_sources` - The logs for this Logging source. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the log source. * `log_group_id` - Identifier of the log group. Either `_Audit` or the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group. Note: For the Notifications target, only `_Audit` is allowed. @@ -73,6 +72,9 @@ The following attributes are exported: * `kind` - The type discriminator. * `namespace` - The source service or application to use when querying for metric data points. Must begin with `oci_`. Example: `oci_computeagent` * `plugin_name` - The name of the connector plugin. This name indicates the service to be called by the connector plugin. For example, `QueueSource` indicates the Queue service. To find names of connector plugins, list the plugin using [ListConnectorPlugin](https://docs.cloud.oracle.com/iaas/api/#/en/serviceconnectors/latest/ConnectorPluginSummary/ListConnectorPlugins). + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `stream_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. * `state` - The current state of the connector. * `system_tags` - The system tags associated with this resource, if any. The system tags are set by Oracle Cloud Infrastructure services. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{orcl-cloud: {free-tier-retain: true}}` @@ -92,13 +94,15 @@ The following attributes are exported: * `name` - Dimension key. A valid dimension key includes only printable ASCII, excluding periods (.) and spaces. Custom dimension keys are acceptable. Avoid entering confidential information. Due to use by Connector Hub, the following dimension names are reserved: `connectorId`, `connectorName`, `connectorSourceType`. For information on valid dimension keys and values, see [MetricDataDetails Reference](https://docs.cloud.oracle.com/iaas/api/#/en/monitoring/latest/datatypes/MetricDataDetails). Example: `type` * `enable_formatted_messaging` - Whether to apply a simplified, user-friendly format to the message. Applies only when friendly formatting is supported by the connector source and the subscription protocol. Example: `true` * `function_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function. - * `kind` - The type discriminator. * `log_group_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Logging Analytics log group. * `log_source_identifier` - Identifier of the log source that you want to use for processing data received from the connector source. Applies to `StreamingSource` only. Equivalent to `name` at [LogAnalyticsSource](https://docs.cloud.oracle.com/iaas/api/#/en/logan-api-spec/latest/LogAnalyticsSource/). * `metric` - The name of the metric. Example: `CpuUtilization` * `metric_namespace` - The namespace of the metric. Example: `oci_computeagent` * `namespace` - The namespace. * `object_name_prefix` - The prefix of the objects. Avoid entering confidential information. + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `stream_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. * `topic_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the topic. * `tasks` - The list of tasks. @@ -106,7 +110,9 @@ The following attributes are exported: * `batch_time_in_sec` - Time limit (seconds) for batch sent to invoke the function. * `condition` - A filter or mask to limit the source used in the flow defined by the connector. * `function_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function to be used as a task. - * `kind` - The type discriminator. + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `time_created` - The date and time when the connector was created. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` * `time_updated` - The date and time when the connector was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` diff --git a/website/docs/r/core_instance.html.markdown b/website/docs/r/core_instance.html.markdown index 3d82258a7e3..50946c6db32 100644 --- a/website/docs/r/core_instance.html.markdown +++ b/website/docs/r/core_instance.html.markdown @@ -291,11 +291,11 @@ The following arguments are supported: * `defined_tags` - (Optional) (Updatable) 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). Example: `{"Operations.CostCenter": "42"}` * `display_name` - (Optional) (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. * `freeform_tags` - (Optional) (Updatable) 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"}` - * `hostname_label` - (Optional) (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, `bminstance1` in FQDN `bminstance1.subnet123.vcn1.oraclevcn.com`). Must be unique across all VNICs in the subnet and comply with [RFC 952](https://tools.ietf.org/html/rfc952) and [RFC 1123](https://tools.ietf.org/html/rfc1123). The value appears in the `[Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/)` object and also the `[PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/)` object returned by `[ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps)` and `[GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp)`. + * `hostname_label` - (Optional) (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, `bminstance1` in FQDN `bminstance1.subnet123.vcn1.oraclevcn.com`). Must be unique across all VNICs in the subnet and comply with [RFC 952](https://tools.ietf.org/html/rfc952) and [RFC 1123](https://tools.ietf.org/html/rfc1123). The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp). For more information, see [DNS in Your Virtual Cloud Network](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm). - When launching an instance, use this `hostnameLabel` instead of the deprecated `hostnameLabel` in `[LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails)`. If you provide both, the values must match. + When launching an instance, use this `hostnameLabel` instead of the deprecated `hostnameLabel` in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match. Example: `bminstance1` @@ -304,7 +304,7 @@ The following arguments are supported: * `nsg_ids` - (Optional) (Updatable) 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/). If a `vlanId` is specified, the `nsgIds` cannot be specified. The `vlanId` indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). - * `private_ip` - (Optional) A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's *primary* private IP address. The value appears in the `[Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/)` object and also the `[PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/)` object returned by `[ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps)` and `[GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp)`. + * `private_ip` - (Optional) A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's *primary* private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp). If you specify a `vlanId`, the `privateIp` cannot be specified. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). @@ -406,7 +406,7 @@ The following arguments are supported: * `10`: Represents Balanced option. * `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". + * `type` - (Required) The type of volume attachment. Currently, 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. * `volume_id` - (Optional) The OCID of the volume. If CreateVolumeDetails is specified, this field must be omitted from the request. * `licensing_configs` - (Optional) (Updatable) List of licensing configurations associated with target launch values. diff --git a/website/docs/r/core_ipv6.html.markdown b/website/docs/r/core_ipv6.html.markdown index 6067b115a00..e84d8855147 100644 --- a/website/docs/r/core_ipv6.html.markdown +++ b/website/docs/r/core_ipv6.html.markdown @@ -17,8 +17,6 @@ Creates an IPv6 for the specified VNIC. ```hcl resource "oci_core_ipv6" "test_ipv6" { - #Required - vnic_id = oci_core_vnic_attachment.test_vnic_attachment.id #Optional defined_tags = {"Operations.CostCenter"= "42"} @@ -26,7 +24,10 @@ resource "oci_core_ipv6" "test_ipv6" { freeform_tags = {"Department"= "Finance"} ip_address = var.ipv6_ip_address ipv6subnet_cidr = var.ipv6_ipv6subnet_cidr + lifetime = var.ipv6_lifetime route_table_id = oci_core_route_table.test_route_table.id + subnet_id = oci_core_subnet.test_subnet.id + vnic_id = oci_core_vnic_attachment.test_vnic_attachment.id } ``` @@ -39,8 +40,12 @@ The following arguments are supported: * `freeform_tags` - (Optional) (Updatable) 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"}` * `ip_address` - (Optional) An IPv6 address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns an IPv6 address from the subnet. The subnet is the one that contains the VNIC you specify in `vnicId`. Example: `2001:DB8::` * `ipv6subnet_cidr` - (Optional) The IPv6 prefix allocated to the subnet. This is required if more than one IPv6 prefix exists on the subnet. -* `route_table_id` - (Optional) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use. -* `vnic_id` - (Required) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet. +* `lifetime` - (Optional) (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - (Optional) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). +* `subnet_id` - (Optional) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the IPv6 is to be drawn. The IP address, *if supplied*, must be valid for the given subnet, only valid for reserved IPs currently. +* `vnic_id` - (Optional) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VNIC to assign the IPv6 to. The IPv6 will be in the VNIC's subnet. ** IMPORTANT ** @@ -56,7 +61,11 @@ The following attributes are exported: * `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"}` * `id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the IPv6. * `ip_address` - The IPv6 address of the `IPv6` object. The address is within the IPv6 prefix of the VNIC's subnet (see the `ipv6CidrBlock` attribute for the [Subnet](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Subnet/) object. Example: `2001:0db8:0123:1111:abcd:ef01:2345:6789` -* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use. +* `ip_state` - State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE. +* `lifetime` - Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). * `state` - The IPv6's current state. * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. * `time_created` - The date and time the IPv6 was created, in the format defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2016-08-25T21:10:29.600Z` diff --git a/website/docs/r/core_private_ip.html.markdown b/website/docs/r/core_private_ip.html.markdown index fbed9a72829..d0eb89cef9c 100644 --- a/website/docs/r/core_private_ip.html.markdown +++ b/website/docs/r/core_private_ip.html.markdown @@ -26,7 +26,9 @@ resource "oci_core_private_ip" "test_private_ip" { freeform_tags = {"Department"= "Finance"} hostname_label = var.private_ip_hostname_label ip_address = var.private_ip_ip_address + lifetime = var.private_ip_lifetime route_table_id = oci_core_route_table.test_route_table.id + subnet_id = oci_core_subnet.test_subnet.id vlan_id = oci_core_vlan.test_vlan.id vnic_id = oci_core_vnic_attachment.test_vnic_attachment.vnic_id } @@ -45,7 +47,11 @@ The following arguments are supported: Example: `bminstance1` * `ip_address` - (Optional) A private IP address of your choice. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. Example: `10.0.3.3` -* `route_table_id` - (Optional) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the PrivateIp will use. +* `lifetime` - (Optional) (Updatable) Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - (Optional) (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). +* `subnet_id` - (Optional) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet from which the private IP is to be drawn. The IP address, *if supplied*, must be valid for the given subnet. * `vlan_id` - (Optional) Use this attribute only with the Oracle Cloud VMware Solution. The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VLAN from which the private IP is to be drawn. The IP address, *if supplied*, must be valid for the given VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). @@ -74,9 +80,13 @@ The following attributes are exported: However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the address is from the range specified by the `cidrBlock` attribute for the VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). - Example: `10.0.3.3` -* `is_primary` - Whether this private IP is the primary one on the VNIC. Primary private IPs are unassigned and deleted automatically when the VNIC is terminated. Example: `true` -* `is_reserved` - true if the IP is reserved and can exist detached from vnic + Example: `10.0.3.3` +* `ip_state` - State of the IP address. If an IP address is assigned to a VNIC it is ASSIGNED, otherwise it is AVAILABLE. +* `is_primary` - Whether this private IP is the primary one on the VNIC. Primary private IPs are unassigned and deleted automatically when the VNIC is terminated. Example: `true` +* `lifetime` - Lifetime of the IP address. There are two types of IPv6 IPs: + * Ephemeral + * Reserved +* `route_table_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the route table the IP address or VNIC will use. For more information, see [Source Based Routing](https://docs.oracle.com/iaas/Content/Network/Tasks/managingroutetables.htm#Overview_of_Routing_for_Your_VCN__source_routing). * `subnet_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the subnet the VNIC is in. However, if the `PrivateIp` object is being used with a VLAN as part of the Oracle Cloud VMware Solution, the `subnetId` is null. diff --git a/website/docs/r/core_vnic_attachment.html.markdown b/website/docs/r/core_vnic_attachment.html.markdown index 9ce633b94a4..e829e8b0d38 100644 --- a/website/docs/r/core_vnic_attachment.html.markdown +++ b/website/docs/r/core_vnic_attachment.html.markdown @@ -68,11 +68,11 @@ The following arguments are supported: * `defined_tags` - (Optional) (Updatable) 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). Example: `{"Operations.CostCenter": "42"}` * `display_name` - (Optional) (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. * `freeform_tags` - (Optional) (Updatable) 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"}` - * `hostname_label` - (Optional) (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, `bminstance1` in FQDN `bminstance1.subnet123.vcn1.oraclevcn.com`). Must be unique across all VNICs in the subnet and comply with [RFC 952](https://tools.ietf.org/html/rfc952) and [RFC 1123](https://tools.ietf.org/html/rfc1123). The value appears in the `[Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/)` object and also the `[PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/)` object returned by `[ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps)` and `[GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp)`. + * `hostname_label` - (Optional) (Updatable) The hostname for the VNIC's primary private IP. Used for DNS. The value is the hostname portion of the primary private IP's fully qualified domain name (FQDN) (for example, `bminstance1` in FQDN `bminstance1.subnet123.vcn1.oraclevcn.com`). Must be unique across all VNICs in the subnet and comply with [RFC 952](https://tools.ietf.org/html/rfc952) and [RFC 1123](https://tools.ietf.org/html/rfc1123). The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp). For more information, see [DNS in Your Virtual Cloud Network](https://docs.cloud.oracle.com/iaas/Content/Network/Concepts/dns.htm). - When launching an instance, use this `hostnameLabel` instead of the deprecated `hostnameLabel` in `[LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails)`. If you provide both, the values must match. + When launching an instance, use this `hostnameLabel` instead of the deprecated `hostnameLabel` in [LaunchInstanceDetails](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/requests/LaunchInstanceDetails). If you provide both, the values must match. Example: `bminstance1` @@ -81,7 +81,7 @@ The following arguments are supported: * `nsg_ids` - (Optional) (Updatable) 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/). If a `vlanId` is specified, the `nsgIds` cannot be specified. The `vlanId` indicates that the VNIC will belong to a VLAN instead of a subnet. With VLANs, all VNICs in the VLAN belong to the NSGs that are associated with the VLAN. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). - * `private_ip` - (Optional) A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's *primary* private IP address. The value appears in the `[Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/)` object and also the `[PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/)` object returned by `[ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps)` and `[GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp)`. + * `private_ip` - (Optional) A private IP address of your choice to assign to the VNIC. Must be an available IP address within the subnet's CIDR. If you don't specify a value, Oracle automatically assigns a private IP address from the subnet. This is the VNIC's *primary* private IP address. The value appears in the [Vnic](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vnic/) object and also the [PrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/) object returned by [ListPrivateIps](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/ListPrivateIps) and [GetPrivateIp](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/PrivateIp/GetPrivateIp). If you specify a `vlanId`, the `privateIp` cannot be specified. See [Vlan](https://docs.cloud.oracle.com/iaas/api/#/en/iaas/latest/Vlan). diff --git a/website/docs/r/functions_invoke_function.html.markdown b/website/docs/r/functions_invoke_function.html.markdown index a2ee667cf95..04f47335cd1 100644 --- a/website/docs/r/functions_invoke_function.html.markdown +++ b/website/docs/r/functions_invoke_function.html.markdown @@ -23,6 +23,7 @@ resource "oci_functions_invoke_function" "test_invoke_function" { invoke_function_body = var.invoke_function_invoke_function_body fn_intent = var.invoke_function_fn_intent fn_invoke_type = var.invoke_function_fn_invoke_type + is_dry_run = var.invoke_function_is_dry_run base64_encode_content = false } ``` @@ -36,6 +37,8 @@ The following arguments are supported: * `fn_intent` - (Optional) An optional intent header that indicates to the FDK the way the event should be interpreted. E.g. 'httprequest', 'cloudevent'. * `fn_invoke_type` - (Optional) Indicates whether Oracle Functions should execute the request and return the result ('sync') of the execution, or whether Oracle Functions should return as soon as processing has begun ('detached') and leave result handling to the function. * `function_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of this function. +* `is_dry_run` - (Optional) Indicates that the request is a dry run, if set to "true". A dry run request does not execute the function. + * `invoke_function_body_base64_encoded` - (Optional) The Base64 encoded body of the function invocation. Base64 encoded input avoids corruption in Terraform state. Cannot be defined if `invoke_function_body` or `input_body_source_path` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit. * `input_body_source_path` - (Optional) An absolute path to a file on the local system that contains the input to be provided to the function. Cannot be defined if `invoke_function_body` or `invoke_function_body_base64_encoded` is defined. Note: The maximum size of the request is limited. This limit is currently 6MB and the endpoint will not accept requests that are bigger than this limit. diff --git a/website/docs/r/golden_gate_pipeline.html.markdown b/website/docs/r/golden_gate_pipeline.html.markdown index 486957fd696..c29c217e718 100644 --- a/website/docs/r/golden_gate_pipeline.html.markdown +++ b/website/docs/r/golden_gate_pipeline.html.markdown @@ -62,6 +62,9 @@ resource "oci_golden_gate_pipeline" "test_pipeline" { action_on_dml_error = var.pipeline_process_options_replicate_schema_change_action_on_dml_error } should_restart_on_failure = var.pipeline_process_options_should_restart_on_failure + + #Optional + start_using_default_mapping = var.pipeline_process_options_start_using_default_mapping } } ``` @@ -90,6 +93,7 @@ The following arguments are supported: * `action_on_dml_error` - (Optional) (Updatable) Action upon DML Error (active only if 'Replicate schema changes (DDL)' is selected) i.e canReplicateSchemaChange=true * `can_replicate_schema_change` - (Required) (Updatable) If ENABLED, then addition or removal of schema is also replicated, apart from individual tables and records when creating or updating the pipeline. * `should_restart_on_failure` - (Required) (Updatable) If ENABLED, then the replication process restarts itself upon failure. This option applies when creating or updating a pipeline. + * `start_using_default_mapping` - (Optional) (Updatable) If ENABLED, then the pipeline is started as part of pipeline creation. It uses default mapping. This option applies when creating or updating a pipeline. * `recipe_type` - (Required) (Updatable) The type of the recipe * `source_connection_details` - (Required) The source connection details for creating a pipeline. * `connection_id` - (Required) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the connection being referenced. @@ -124,6 +128,12 @@ The following attributes are exported: * `mapping_type` - Defines the exclude/include rules of source and target schemas and tables when replicating from source to target. This option applies when creating and updating a pipeline. * `source` - The source schema/table combination for replication to target. * `target` - The target schema/table combination for replication from the source. +* `pipeline_diagnostic_data` - Information regarding the pipeline diagnostic collection + * `bucket` - Name of the bucket where the object is to be uploaded in the object storage + * `diagnostic_state` - The state of the pipeline diagnostics collection. + * `namespace` - Name of namespace that serves as a container for all of your buckets + * `object` - Name of the diagnostic collected and uploaded to object storage + * `time_last_collected` - The date and time the diagnostic data was last collected for the pipeline. The format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339), such as `2024-07-25T21:10:29.600Z`. * `process_options` - Required pipeline options to configure the replication process (Extract or Replicat). * `initial_data_load` - Options required for the pipeline Initial Data Load. If enabled, copies existing data from source to target before replication. * `action_on_existing_table` - Action upon existing tables in target when initial Data Load is set i.e., isInitialLoad=true. @@ -133,6 +143,7 @@ The following attributes are exported: * `action_on_dml_error` - Action upon DML Error (active only if 'Replicate schema changes (DDL)' is selected) i.e canReplicateSchemaChange=true * `can_replicate_schema_change` - If ENABLED, then addition or removal of schema is also replicated, apart from individual tables and records when creating or updating the pipeline. * `should_restart_on_failure` - If ENABLED, then the replication process restarts itself upon failure. This option applies when creating or updating a pipeline. + * `start_using_default_mapping` - If ENABLED, then the pipeline is started as part of pipeline creation. It uses default mapping. This option applies when creating or updating a pipeline. * `recipe_type` - The type of the recipe * `source_connection_details` - The source connection details for creating a pipeline. * `connection_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the connection being referenced. diff --git a/website/docs/r/sch_service_connector.html.markdown b/website/docs/r/sch_service_connector.html.markdown index 6b4d7d0d326..64aa7e9142b 100644 --- a/website/docs/r/sch_service_connector.html.markdown +++ b/website/docs/r/sch_service_connector.html.markdown @@ -212,7 +212,6 @@ The following attributes are exported: * `config_map` - The configuration map for the connector plugin. This map includes parameters specific to the connector plugin type. For example, for `QueueSource`, the map lists the OCID of the selected queue. To find the parameters for a connector plugin, get the plugin using [GetConnectorPlugin](https://docs.cloud.oracle.com/iaas/api/#/en/serviceconnectors/latest/ConnectorPlugin/GetConnectorPlugin) and review its schema value. * `cursor` - The [read setting](https://docs.cloud.oracle.com/iaas/Content/connector-hub/create-service-connector-streaming-source.htm), which determines where in the stream to start moving data. For configuration instructions, see [Creating a Connector with a Streaming Source](https://docs.cloud.oracle.com/iaas/Content/connector-hub/create-service-connector-streaming-source.htm). * `kind` - The type discriminator. - * `kind` - The type discriminator. * `log_sources` - The logs for this Logging source. * `compartment_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment containing the log source. * `log_group_id` - Identifier of the log group. Either `_Audit` or the [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the log group. Note: For the Notifications target, only `_Audit` is allowed. @@ -226,6 +225,9 @@ The following attributes are exported: * `kind` - The type discriminator. * `namespace` - The source service or application to use when querying for metric data points. Must begin with `oci_`. Example: `oci_computeagent` * `plugin_name` - The name of the connector plugin. This name indicates the service to be called by the connector plugin. For example, `QueueSource` indicates the Queue service. To find names of connector plugins, list the plugin using [ListConnectorPlugin](https://docs.cloud.oracle.com/iaas/api/#/en/serviceconnectors/latest/ConnectorPluginSummary/ListConnectorPlugins). + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `stream_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. * `state` - The current state of the connector. * `system_tags` - The system tags associated with this resource, if any. The system tags are set by Oracle Cloud Infrastructure services. Each key is predefined and scoped to namespaces. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{orcl-cloud: {free-tier-retain: true}}` @@ -245,13 +247,15 @@ The following attributes are exported: * `name` - Dimension key. A valid dimension key includes only printable ASCII, excluding periods (.) and spaces. Custom dimension keys are acceptable. Avoid entering confidential information. Due to use by Connector Hub, the following dimension names are reserved: `connectorId`, `connectorName`, `connectorSourceType`. For information on valid dimension keys and values, see [MetricDataDetails Reference](https://docs.cloud.oracle.com/iaas/api/#/en/monitoring/latest/datatypes/MetricDataDetails). Example: `type` * `enable_formatted_messaging` - Whether to apply a simplified, user-friendly format to the message. Applies only when friendly formatting is supported by the connector source and the subscription protocol. Example: `true` * `function_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function. - * `kind` - The type discriminator. * `log_group_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Logging Analytics log group. * `log_source_identifier` - Identifier of the log source that you want to use for processing data received from the connector source. Applies to `StreamingSource` only. Equivalent to `name` at [LogAnalyticsSource](https://docs.cloud.oracle.com/iaas/api/#/en/logan-api-spec/latest/LogAnalyticsSource/). * `metric` - The name of the metric. Example: `CpuUtilization` * `metric_namespace` - The namespace of the metric. Example: `oci_computeagent` * `namespace` - The namespace. * `object_name_prefix` - The prefix of the objects. Avoid entering confidential information. + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `stream_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the stream. * `topic_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the topic. * `tasks` - The list of tasks. @@ -259,7 +263,9 @@ The following attributes are exported: * `batch_time_in_sec` - Time limit (seconds) for batch sent to invoke the function. * `condition` - A filter or mask to limit the source used in the flow defined by the connector. * `function_id` - The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the function to be used as a task. - * `kind` - The type discriminator. + * `private_endpoint_metadata` - The private endpoint metadata for the connector's source or target. + * `rce_dns_proxy_ip_address` - The reverse connection endpoint (RCE) IP address for DNS lookups. + * `rce_traffic_ip_address` - The reverse connection endpoint (RCE) IP address for primary flow of traffic in the subnet. * `time_created` - The date and time when the connector was created. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` * `time_updated` - The date and time when the connector was updated. Format is defined by [RFC3339](https://tools.ietf.org/html/rfc3339). Example: `2020-01-25T21:10:29.600Z` diff --git a/website/oci.erb b/website/oci.erb index 2cac0eb3523..08761f257b0 100644 --- a/website/oci.erb +++ b/website/oci.erb @@ -1111,6 +1111,9 @@
  • oci_cloud_bridge_inventory
  • +
  • + oci_cloud_bridge_supported_cloud_regions +
  • >