Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Releasing version 4.96.0 #1678

Merged
merged 17 commits into from
Oct 5, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 4.96.0 (October 05, 2022)

### Added
- resource discovery for private DNS zones and rrsets
- Support for BDS - Start/Stop Cluster
- Support for OPSI Windows/Solaris support
- Support for OCI Bastions - DNS Support
- Generate terraform config for services with non zero resource only
- Id based RD without resourceType
- Support for EXACC Elastic Compute
### Bug Fix
- Support for repeated Deployments on each apply
- canaryStrategy code added to fix the issue

## 4.95.0 (September 28, 2022)

### Added
Expand Down
4 changes: 2 additions & 2 deletions examples/bastion/instance.tf
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ resource "oci_core_instance" "test_instance" {
availability_domain = data.oci_identity_availability_domain.bastion_ad.name
compartment_id = var.compartment_ocid
display_name = "TestInstance"
shape = "VM.Standard1.1"
shape = "VM.Standard2.1"

agent_config {
are_all_plugins_disabled = false
Expand All @@ -27,7 +27,7 @@ resource "oci_core_instance" "test_instance" {
create_vnic_details {
subnet_id = oci_core_subnet.test_subnet.id
display_name = "Primaryvnic"
assign_public_ip = true
assign_public_ip = false
hostname_label = "testinstance"
}

Expand Down
4 changes: 2 additions & 2 deletions examples/bastion/network.tf
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ resource "oci_core_service_gateway" "test_bastion_service_gateway" {
display_name = "sgw"

services {
service_id = data.oci_core_services.test_bastion_services.services[1]["id"]
service_id = data.oci_core_services.test_bastion_services.services[0]["id"]
}

vcn_id = oci_core_vcn.test_bastion_vcn.id
Expand All @@ -21,7 +21,7 @@ resource "oci_core_default_route_table" "bastion_default_route_table" {
display_name = "DefaultRouteTable"

route_rules {
destination = lookup(data.oci_core_services.test_bastion_services.services[1], "cidr_block")
destination = lookup(data.oci_core_services.test_bastion_services.services[0], "cidr_block")
destination_type = "SERVICE_CIDR_BLOCK"
network_entity_id = oci_core_service_gateway.test_bastion_service_gateway.id
}
Expand Down
2 changes: 1 addition & 1 deletion examples/bastion/session.tf
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ variable "session_target_resource_details_target_resource_port" {
resource "time_sleep" "wait_3_minutes_for_bastion_plugin" {
depends_on = [oci_core_instance.test_instance]

create_duration = "3m"
create_duration = "5m"
}

resource "oci_bastion_session" "test_session_managed_ssh" {
Expand Down
2 changes: 1 addition & 1 deletion examples/database/exadata_cc/exadata-infrastructure.tf
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ resource "oci_database_exadata_infrastructure" "test_exadata_infrastructure" {
infini_band_network_cidr = "10.31.8.0/21"
netmask = "255.255.255.0"
ntp_server = ["10.231.225.76"]
shape = "ExadataCC.Quarter3.100"
shape = "ExadataCC.X7"
time_zone = "US/Pacific"
activation_file = "activation.zip"
storage_count = 3
Expand Down
12 changes: 12 additions & 0 deletions examples/database/exadata_cc/vm_cluster.tf
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,13 @@ resource "oci_database_vm_cluster_network" "test_vm_cluster_network" {
nodes {
hostname = "myprefix2-cghdm1"
ip = "192.169.19.18"
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.0.id
}

nodes {
hostname = "myprefix2-cghdm2"
ip = "192.169.19.20"
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.1.id
}

vlan_id = "11"
Expand All @@ -52,13 +54,15 @@ resource "oci_database_vm_cluster_network" "test_vm_cluster_network" {
ip = "192.168.19.10"
vip = "192.168.19.11"
vip_hostname = "myprefix1-r64zc1-vip"
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.0.id
}

nodes {
hostname = "myprefix1-r64zc2"
ip = "192.168.19.14"
vip = "192.168.19.15"
vip_hostname = "myprefix1-r64zc2-vip"
db_server_id = data.oci_database_db_servers.test_db_servers.db_servers.1.id
}

vlan_id = "10"
Expand All @@ -74,6 +78,14 @@ resource "oci_database_vm_cluster_network" "test_vm_cluster_network" {
}

validate_vm_cluster_network = true

action = "ADD_DBSERVER_NETWORK"

lifecycle {
ignore_changes = [
vm_networks,
]
}
}

data "oci_database_gi_versions" "gi_version" {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ variable "region" {
}

provider "oci" {
#version = "4.62.0"
#version = "4.92.0"
region = var.region
tenancy_ocid = var.tenancy_ocid
user_ocid = var.user_ocid
Expand Down Expand Up @@ -58,8 +58,8 @@ resource "oci_devops_deploy_pipeline" "test_deploy_pipeline" {
#Required
project_id = oci_devops_project.test_project.id

description = "description"
display_name = "displayName"
description = "description"
display_name = "displayName"
}

resource "oci_devops_deploy_stage" "test_wait_deploy_stage" {
Expand All @@ -74,8 +74,8 @@ resource "oci_devops_deploy_stage" "test_wait_deploy_stage" {
}
deploy_stage_type = "WAIT"

description = "description"
display_name = "displayName"
description = "description"
display_name = "displayName"
wait_criteria {
#Required
wait_duration = "PT5S"
Expand All @@ -89,5 +89,6 @@ resource "oci_devops_deployment" "test_deployment" {
deployment_type = "PIPELINE_DEPLOYMENT"

#Optional
display_name = "test_deployment"
display_name = "test_deployment"
trigger_new_devops_deployment = false
}
23 changes: 23 additions & 0 deletions examples/storage/fss/data_sources.tf
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,26 @@ data "oci_core_private_ips" "ip_mount_target1" {
}
}

# Gets a list of replications in a compartment and availability domain
data "oci_file_storage_replications" "test_replications" {
#Required
availability_domain = data.oci_identity_availability_domain.ad.name
compartment_id = var.compartment_ocid

#Optional
#display_name = var.replication_display_name
#file_system_id = oci_file_storage_file_system.test_file_system.id
#id = var.replication_id
#state = var.replication_state
}

data "oci_file_storage_replication_targets" "test_replication_targets" {
#Required
availability_domain = data.oci_identity_availability_domain.ad.name
compartment_id = var.compartment_ocid

#Optional
#display_name = var.replication_target_display_name
#id = var.replication_target_id
#state = var.replication_target_state
}
Binary file modified examples/zips/adm.zip
Binary file not shown.
Binary file modified examples/zips/aiAnomalyDetection.zip
Binary file not shown.
Binary file modified examples/zips/aiVision.zip
Binary file not shown.
Binary file modified examples/zips/always_free.zip
Binary file not shown.
Binary file modified examples/zips/analytics.zip
Binary file not shown.
Binary file modified examples/zips/announcements_service.zip
Binary file not shown.
Binary file modified examples/zips/api_gateway.zip
Binary file not shown.
Binary file modified examples/zips/apm.zip
Binary file not shown.
Binary file modified examples/zips/appmgmt_control.zip
Binary file not shown.
Binary file modified examples/zips/artifacts.zip
Binary file not shown.
Binary file modified examples/zips/audit.zip
Binary file not shown.
Binary file modified examples/zips/autoscaling.zip
Binary file not shown.
Binary file modified examples/zips/bastion.zip
Binary file not shown.
Binary file modified examples/zips/big_data_service.zip
Binary file not shown.
Binary file modified examples/zips/blockchain.zip
Binary file not shown.
Binary file modified examples/zips/budget.zip
Binary file not shown.
Binary file modified examples/zips/certificatesManagement.zip
Binary file not shown.
Binary file modified examples/zips/cloudBridge.zip
Binary file not shown.
Binary file modified examples/zips/cloudMigrations.zip
Binary file not shown.
Binary file modified examples/zips/cloudguard.zip
Binary file not shown.
Binary file modified examples/zips/compute.zip
Binary file not shown.
Binary file modified examples/zips/computeinstanceagent.zip
Binary file not shown.
Binary file modified examples/zips/concepts.zip
Binary file not shown.
Binary file modified examples/zips/container_engine.zip
Binary file not shown.
Binary file modified examples/zips/dataConnectivity.zip
Binary file not shown.
Binary file modified examples/zips/database.zip
Binary file not shown.
Binary file modified examples/zips/databaseTools.zip
Binary file not shown.
Binary file modified examples/zips/databasemanagement.zip
Binary file not shown.
Binary file modified examples/zips/databasemigration.zip
Binary file not shown.
Binary file modified examples/zips/datacatalog.zip
Binary file not shown.
Binary file modified examples/zips/dataflow.zip
Binary file not shown.
Binary file modified examples/zips/dataintegration.zip
Binary file not shown.
Binary file modified examples/zips/datalabeling.zip
Binary file not shown.
Binary file modified examples/zips/datasafe.zip
Binary file not shown.
Binary file modified examples/zips/datascience.zip
Binary file not shown.
Binary file modified examples/zips/devops.zip
Binary file not shown.
Binary file modified examples/zips/dns.zip
Binary file not shown.
Binary file modified examples/zips/em_warehouse.zip
Binary file not shown.
Binary file modified examples/zips/email.zip
Binary file not shown.
Binary file modified examples/zips/events.zip
Binary file not shown.
Binary file modified examples/zips/fast_connect.zip
Binary file not shown.
Binary file modified examples/zips/functions.zip
Binary file not shown.
Binary file modified examples/zips/fusionapps.zip
Binary file not shown.
Binary file modified examples/zips/goldengate.zip
Binary file not shown.
Binary file modified examples/zips/health_checks.zip
Binary file not shown.
Binary file modified examples/zips/id6.zip
Binary file not shown.
Binary file modified examples/zips/identity.zip
Binary file not shown.
Binary file modified examples/zips/identity_data_plane.zip
Binary file not shown.
Binary file modified examples/zips/integration.zip
Binary file not shown.
Binary file modified examples/zips/jms.zip
Binary file not shown.
Binary file modified examples/zips/kms.zip
Binary file not shown.
Binary file modified examples/zips/license_manager.zip
Binary file not shown.
Binary file modified examples/zips/limits.zip
Binary file not shown.
Binary file modified examples/zips/load_balancer.zip
Binary file not shown.
Binary file modified examples/zips/log_analytics.zip
Binary file not shown.
Binary file modified examples/zips/logging.zip
Binary file not shown.
Binary file modified examples/zips/management_agent.zip
Binary file not shown.
Binary file modified examples/zips/management_dashboard.zip
Binary file not shown.
Binary file modified examples/zips/marketplace.zip
Binary file not shown.
Binary file modified examples/zips/metering_computation.zip
Binary file not shown.
Binary file modified examples/zips/monitoring.zip
Binary file not shown.
Binary file modified examples/zips/mysql.zip
Binary file not shown.
Binary file modified examples/zips/network_firewall.zip
Binary file not shown.
Binary file modified examples/zips/network_load_balancer.zip
Binary file not shown.
Binary file modified examples/zips/networking.zip
Binary file not shown.
Binary file modified examples/zips/nosql.zip
Binary file not shown.
Binary file modified examples/zips/notifications.zip
Binary file not shown.
Binary file modified examples/zips/object_storage.zip
Binary file not shown.
Binary file modified examples/zips/ocvp.zip
Binary file not shown.
Binary file modified examples/zips/onesubscription.zip
Binary file not shown.
Binary file modified examples/zips/opensearch.zip
Binary file not shown.
Binary file modified examples/zips/operator_access_control.zip
Binary file not shown.
Binary file modified examples/zips/opsi.zip
Binary file not shown.
Binary file modified examples/zips/optimizer.zip
Binary file not shown.
Binary file modified examples/zips/oracle_cloud_vmware_solution.zip
Binary file not shown.
Binary file modified examples/zips/oracle_content_experience.zip
Binary file not shown.
Binary file modified examples/zips/oracle_digital_assistant.zip
Binary file not shown.
Binary file modified examples/zips/osmanagement.zip
Binary file not shown.
Binary file modified examples/zips/osp_gateway.zip
Binary file not shown.
Binary file modified examples/zips/osub_billing_schedule.zip
Binary file not shown.
Binary file modified examples/zips/osub_organization_subscription.zip
Binary file not shown.
Binary file modified examples/zips/osub_subscription.zip
Binary file not shown.
Binary file modified examples/zips/osub_usage.zip
Binary file not shown.
Binary file modified examples/zips/pic.zip
Binary file not shown.
Binary file modified examples/zips/resourcemanager.zip
Binary file not shown.
Binary file modified examples/zips/serviceManagerProxy.zip
Binary file not shown.
Binary file modified examples/zips/service_catalog.zip
Binary file not shown.
Binary file modified examples/zips/service_connector_hub.zip
Binary file not shown.
Binary file modified examples/zips/service_mesh.zip
Binary file not shown.
Binary file modified examples/zips/stack_monitoring.zip
Binary file not shown.
Binary file modified examples/zips/storage.zip
Binary file not shown.
Binary file modified examples/zips/streaming.zip
Binary file not shown.
Binary file modified examples/zips/usage_proxy.zip
Binary file not shown.
Binary file modified examples/zips/vault_secret.zip
Binary file not shown.
Binary file modified examples/zips/visual_builder.zip
Binary file not shown.
Binary file modified examples/zips/vn_monitoring.zip
Binary file not shown.
Binary file modified examples/zips/vulnerability_scanning_service.zip
Binary file not shown.
Binary file modified examples/zips/web_app_acceleration.zip
Binary file not shown.
Binary file modified examples/zips/web_app_firewall.zip
Binary file not shown.
Binary file modified examples/zips/web_application_acceleration_and_security.zip
Binary file not shown.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ require (
github.com/mitchellh/mapstructure v1.1.2 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/oklog/run v1.0.0 // indirect
github.com/oracle/oci-go-sdk/v65 v65.22.0
github.com/oracle/oci-go-sdk/v65 v65.23.0
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/sony/gobreaker v0.5.0 // indirect
github.com/ulikunitz/xz v0.5.8 // indirect
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -289,8 +289,8 @@ 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.22.0 h1:lCv8gxFOVI8sG0vCjxZ8CuXy3QOUM+JspcAdzsPkjcs=
github.com/oracle/oci-go-sdk/v65 v65.22.0/go.mod h1:oyMrMa1vOzzKTmPN+kqrTR9y9kPA2tU1igN3NUSNTIE=
github.com/oracle/oci-go-sdk/v65 v65.23.0 h1:v+nyukczQQ05xXzF+AdmjR9TQMRrWQENF+jVFZiyEQg=
github.com/oracle/oci-go-sdk/v65 v65.23.0/go.mod h1:oyMrMa1vOzzKTmPN+kqrTR9y9kPA2tU1igN3NUSNTIE=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
Expand Down
4 changes: 2 additions & 2 deletions internal/globalvar/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
"log"
)

const Version = "4.95.0"
const ReleaseDate = "2022-09-28"
const Version = "4.96.0"
const ReleaseDate = "2022-10-05"

func PrintVersion() {
log.Printf("[INFO] terraform-provider-oci %s\n", Version)
Expand Down
6 changes: 6 additions & 0 deletions internal/integrationtest/bastion_bastion_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ var (
"target_subnet_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_subnet.test_subnet.id}`},
"client_cidr_block_allow_list": acctest.Representation{RepType: acctest.Required, Create: []string{`0.0.0.0/0`}, Update: []string{`0.0.0.0/0`}},
"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")}`},
"dns_proxy_status": acctest.Representation{RepType: acctest.Optional, Create: `DISABLED`},
"freeform_tags": acctest.Representation{RepType: acctest.Optional, Create: map[string]string{"bar-key": "value"}, Update: map[string]string{"Department": "Accounting"}},
"max_session_ttl_in_seconds": acctest.Representation{RepType: acctest.Optional, Create: `1800`, Update: `3600`},
"name": acctest.Representation{RepType: acctest.Required, Create: bastionName},
Expand Down Expand Up @@ -116,6 +117,7 @@ func TestBastionBastionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(resourceName, "bastion_type", "STANDARD"),
resource.TestCheckResourceAttr(resourceName, "client_cidr_block_allow_list.#", "1"),
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
resource.TestCheckResourceAttr(resourceName, "dns_proxy_status", "DISABLED"),
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
resource.TestCheckResourceAttrSet(resourceName, "id"),
resource.TestCheckResourceAttr(resourceName, "max_session_ttl_in_seconds", "1800"),
Expand Down Expand Up @@ -148,6 +150,7 @@ func TestBastionBastionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(resourceName, "bastion_type", "STANDARD"),
resource.TestCheckResourceAttr(resourceName, "client_cidr_block_allow_list.#", "1"),
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentIdU),
resource.TestCheckResourceAttr(resourceName, "dns_proxy_status", "DISABLED"),
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
resource.TestCheckResourceAttrSet(resourceName, "id"),
resource.TestCheckResourceAttr(resourceName, "max_session_ttl_in_seconds", "1800"),
Expand Down Expand Up @@ -175,6 +178,7 @@ func TestBastionBastionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(resourceName, "bastion_type", "STANDARD"),
resource.TestCheckResourceAttr(resourceName, "client_cidr_block_allow_list.#", "1"),
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
resource.TestCheckResourceAttr(resourceName, "dns_proxy_status", "DISABLED"),
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
resource.TestCheckResourceAttrSet(resourceName, "id"),
resource.TestCheckResourceAttr(resourceName, "max_session_ttl_in_seconds", "3600"),
Expand Down Expand Up @@ -208,6 +212,7 @@ func TestBastionBastionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(datasourceName, "bastions.#", "1"),
resource.TestCheckResourceAttr(datasourceName, "bastions.0.bastion_type", "STANDARD"),
resource.TestCheckResourceAttr(datasourceName, "bastions.0.compartment_id", compartmentId),
resource.TestCheckResourceAttr(datasourceName, "bastions.0.dns_proxy_status", "DISABLED"),
resource.TestCheckResourceAttr(datasourceName, "bastions.0.freeform_tags.%", "1"),
resource.TestCheckResourceAttrSet(datasourceName, "bastions.0.id"),
resource.TestCheckResourceAttr(datasourceName, "bastions.0.name", bastionName),
Expand All @@ -229,6 +234,7 @@ func TestBastionBastionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(singularDatasourceName, "bastion_type", "STANDARD"),
resource.TestCheckResourceAttr(singularDatasourceName, "client_cidr_block_allow_list.#", "1"),
resource.TestCheckResourceAttr(singularDatasourceName, "compartment_id", compartmentId),
resource.TestCheckResourceAttr(singularDatasourceName, "dns_proxy_status", "DISABLED"),
resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"),
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
resource.TestCheckResourceAttr(singularDatasourceName, "max_session_ttl_in_seconds", "3600"),
Expand Down
13 changes: 8 additions & 5 deletions internal/integrationtest/bastion_session_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,16 @@ var (
BastionsessionRepresentation = map[string]interface{}{
"bastion_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_bastion_bastion.test_bastion.id}`},
"key_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: BastionsessionKeyDetailsRepresentation},
"target_resource_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: BastionsessionTargetResourceDetailsRepresentation},
"target_resource_details": acctest.RepresentationGroup{RepType: acctest.Required, Group: BastionSessionTargetResourceDetailsRepresentation},
"display_name": acctest.Representation{RepType: acctest.Optional, Create: `managed_ssh`, Update: `managed_ssh2`},
"key_type": acctest.Representation{RepType: acctest.Optional, Create: `PUB`},
"session_ttl_in_seconds": acctest.Representation{RepType: acctest.Optional, Create: `1800`},
}
BastionsessionTargetResourceDetailsRepresentation = map[string]interface{}{
"session_type": acctest.Representation{RepType: acctest.Required, Create: `MANAGED_SSH`},
"target_resource_id": acctest.Representation{RepType: acctest.Required, Create: `${oci_core_instance.test_instance.id}`},
"target_resource_operating_system_user_name": acctest.Representation{RepType: acctest.Required, Create: `opc`},
BastionSessionTargetResourceDetailsRepresentation = map[string]interface{}{
"session_type": acctest.Representation{RepType: acctest.Required, Create: `MANAGED_SSH`},
"target_resource_fqdn": acctest.Representation{RepType: acctest.Optional, Create: `targetResourceFqdn`},
"target_resource_id": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_instance.test_instance.id}`},
"target_resource_operating_system_user_name": acctest.Representation{RepType: acctest.Optional, Create: `opc`},
"target_resource_port": acctest.Representation{RepType: acctest.Optional, Create: `22`},
"target_resource_private_ip_address": acctest.Representation{RepType: acctest.Optional, Create: `${oci_core_instance.test_instance.private_ip}`},
}
Expand Down Expand Up @@ -270,6 +271,7 @@ func TestBastionSessionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(datasourceName, "sessions.0.target_resource_details.#", "1"),
resource.TestCheckResourceAttr(datasourceName, "sessions.0.target_resource_details.0.session_type", "MANAGED_SSH"),
resource.TestCheckResourceAttrSet(datasourceName, "sessions.0.target_resource_details.0.target_resource_display_name"),
resource.TestCheckResourceAttr(datasourceName, "sessions.0.target_resource_details.0.target_resource_fqdn", "targetResourceFqdn"),
resource.TestCheckResourceAttrSet(datasourceName, "sessions.0.target_resource_details.0.target_resource_id"),
resource.TestCheckResourceAttrSet(datasourceName, "sessions.0.target_resource_details.0.target_resource_operating_system_user_name"),
resource.TestCheckResourceAttr(datasourceName, "sessions.0.target_resource_details.0.target_resource_port", "22"),
Expand Down Expand Up @@ -298,6 +300,7 @@ func TestBastionSessionResource_basic(t *testing.T) {
resource.TestCheckResourceAttr(singularDatasourceName, "target_resource_details.#", "1"),
resource.TestCheckResourceAttr(singularDatasourceName, "target_resource_details.0.session_type", "MANAGED_SSH"),
resource.TestCheckResourceAttrSet(singularDatasourceName, "target_resource_details.0.target_resource_display_name"),
resource.TestCheckResourceAttr(singularDatasourceName, "target_resource_details.0.target_resource_fqdn", "targetResourceFqdn"),
resource.TestCheckResourceAttr(singularDatasourceName, "target_resource_details.0.target_resource_port", "22"),
resource.TestCheckResourceAttrSet(singularDatasourceName, "target_resource_details.0.target_resource_private_ip_address"),
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
Expand Down
32 changes: 30 additions & 2 deletions internal/integrationtest/bds_odh_instance_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,14 @@ func TestResourceBdsOdhInstance(t *testing.T) {
acctest.GenerateResourceFromRepresentationMap("oci_bds_bds_instance", "test_bds_instance", acctest.Optional, acctest.Create, bdsInstanceOdhRepresentation), "bds", "bdsInstanceOdh", t)

acctest.ResourceTest(t, testAccCheckBdsBdsInstanceOdhDestroy, []resource.TestStep{
// verify Create
// verify Create, cluster will be force stopped after create
{
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + subnetIdVariableStr + BdsInstanceOdhResourceDependencies + bootstrapScriptUrlVariableStr +
acctest.GenerateResourceFromRepresentationMap("oci_bds_bds_instance", "test_bds_instance", acctest.Required, acctest.Create, bdsInstanceOdhRepresentation),
acctest.GenerateResourceFromRepresentationMap("oci_bds_bds_instance", "test_bds_instance", acctest.Required, acctest.Create,
acctest.RepresentationCopyWithNewProperties(bdsInstanceOdhRepresentation, map[string]interface{}{
"is_force_stop_jobs": acctest.Representation{RepType: acctest.Required, Create: `true`},
"state": acctest.Representation{RepType: acctest.Required, Create: `INACTIVE`},
})),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(resourceName, "cluster_admin_password", "T3JhY2xlVGVhbVVTQSExMjM="),
resource.TestCheckResourceAttrSet(resourceName, "cluster_public_key"),
Expand All @@ -188,6 +192,7 @@ func TestResourceBdsOdhInstance(t *testing.T) {
resource.TestCheckResourceAttrSet(resourceName, "nodes.0.node_type"),
resource.TestCheckResourceAttrSet(resourceName, "nodes.0.shape"),
resource.TestCheckResourceAttrSet(resourceName, "nodes.0.subnet_id"),
resource.TestCheckResourceAttr(resourceName, "state", "INACTIVE"),

func(s *terraform.State) (err error) {
resId, err = acctest.FromInstanceState(s, resourceName, "id")
Expand All @@ -196,6 +201,29 @@ func TestResourceBdsOdhInstance(t *testing.T) {
),
},

// start the cluster
{
Config: config + compartmentIdVariableStr + kmsKeyIdVariableStr + subnetIdVariableStr + BdsInstanceOdhResourceDependencies + bootstrapScriptUrlVariableStr +
acctest.GenerateResourceFromRepresentationMap("oci_bds_bds_instance", "test_bds_instance", acctest.Required, acctest.Create,
acctest.RepresentationCopyWithNewProperties(bdsInstanceOdhRepresentation, map[string]interface{}{
"is_force_stop_jobs": acctest.Representation{RepType: acctest.Required, Create: `true`},
"state": acctest.Representation{RepType: acctest.Required, Create: `ACTIVE`},
})),
Check: resource.ComposeAggregateTestCheckFunc(
resource.TestCheckResourceAttr(resourceName, "cluster_admin_password", "T3JhY2xlVGVhbVVTQSExMjM="),
resource.TestCheckResourceAttrSet(resourceName, "cluster_public_key"),
resource.TestCheckResourceAttr(resourceName, "cluster_version", "ODH1"),
resource.TestCheckResourceAttr(resourceName, "compartment_id", compartmentId),
resource.TestCheckResourceAttr(resourceName, "is_high_availability", "true"),
resource.TestCheckResourceAttr(resourceName, "is_secure", "true"),
resource.TestCheckResourceAttr(resourceName, "nodes.#", "9"),
resource.TestCheckResourceAttrSet(resourceName, "nodes.0.node_type"),
resource.TestCheckResourceAttrSet(resourceName, "nodes.0.shape"),
resource.TestCheckResourceAttrSet(resourceName, "nodes.0.subnet_id"),
resource.TestCheckResourceAttr(resourceName, "state", "ACTIVE"),
),
},

// delete before next Create
{
Config: config + compartmentIdVariableStr + BdsInstanceOdhResourceDependencies + bootstrapScriptUrlVariableStr,
Expand Down
Loading