@@ -7,15 +7,34 @@ variable "fingerprint" {}
77variable "private_key_path" {}
88variable "region" {}
99variable "compartment_id" {}
10+ variable "osmh_managed_instance_ocid" {}
1011
1112provider "oci" {
12- tenancy_ocid = var. tenancy_ocid
13- user_ocid = var. user_ocid
14- fingerprint = var. fingerprint
15- private_key_path = var. private_key_path
16- region = var. region
13+ tenancy_ocid = var. tenancy_ocid
14+ user_ocid = var. user_ocid
15+ fingerprint = var. fingerprint
16+ private_key_path = var. private_key_path
17+ region = var. region
1718}
1819
20+ # ## Dependency resources
21+ # OL8 instance to attach
22+ resource "oci_os_management_hub_managed_instance" "test_managed_instance" {
23+ managed_instance_id = var. osmh_managed_instance_ocid
24+ }
25+
26+ # Referencing OL8 Versioned Custom Software Source
27+ data "oci_os_management_hub_software_sources" "versioned_ol8_addons-x86_64" {
28+ arch_type = [" X86_64" ]
29+ availability = [" SELECTED" ]
30+ compartment_id = var. compartment_id
31+ display_name = " tf-vcss-to-promote-1"
32+ os_family = [" ORACLE_LINUX_8" ]
33+ software_source_type = [" VERSIONED" ]
34+ state = [" ACTIVE" ]
35+ }
36+
37+ # 1. Create a Lifecycle Environment with two Lifecycle Stages (min 2, max 5, cannot be created individually)
1938resource "oci_os_management_hub_lifecycle_environment" "test_lifecycle_environment" {
2039 # Required
2140 arch_type = " X86_64"
@@ -46,25 +65,58 @@ resource "oci_os_management_hub_lifecycle_environment" "test_lifecycle_environme
4665 defined_tags = {" Operations.CostCenter" = " 42" }
4766 description = " description"
4867 freeform_tags = {" Department" = " Finance" }
68+ location = " OCI_COMPUTE"
4969}
5070
71+ # 2. Get Lifecycle Environment by id
5172data "oci_os_management_hub_lifecycle_environment" "test_lifecycle_environment" {
5273 # Required
5374 lifecycle_environment_id = oci_os_management_hub_lifecycle_environment. test_lifecycle_environment . id
5475}
5576
77+ # 3. List Lifecycle Environments
5678data "oci_os_management_hub_lifecycle_environments" "test_lifecycle_environments" {
5779 # Optional
5880 compartment_id = var. compartment_id
5981}
6082
83+ # 4. Get Lifecycle Stage by id
6184data "oci_os_management_hub_lifecycle_stage" "test_lifecycle_stage" {
6285 # Required
6386 lifecycle_stage_id = oci_os_management_hub_lifecycle_environment. test_lifecycle_environment . stages [0 ]. id
6487}
6588
89+ # 5. List Lifecycle Stages
6690data "oci_os_management_hub_lifecycle_stages" "test_lifecycle_stages" {
6791 # Optional
6892 compartment_id = var. compartment_id
6993}
7094
95+ # 6. Attach Managed Instance to a Lifecycle Stage
96+ resource "oci_os_management_hub_lifecycle_stage_attach_managed_instances_management" "test_lifecycle_stage_attach_managed_instances_management" {
97+ lifecycle_stage_id = data. oci_os_management_hub_lifecycle_stage . test_lifecycle_stage . lifecycle_stage_id
98+ managed_instance_details {
99+ managed_instances = [
100+ oci_os_management_hub_managed_instance . test_managed_instance . id
101+ ]
102+ }
103+ depends_on = [oci_os_management_hub_lifecycle_environment . test_lifecycle_environment ]
104+ }
105+
106+ # 7. Detach Managed Instance from a Lifecycle Stage
107+ resource "oci_os_management_hub_lifecycle_stage_detach_managed_instances_management" "test_lifecycle_stage_detach_managed_instances_management" {
108+ lifecycle_stage_id = data. oci_os_management_hub_lifecycle_stage . test_lifecycle_stage . lifecycle_stage_id
109+ managed_instance_details {
110+ managed_instances = [
111+ oci_os_management_hub_managed_instance . test_managed_instance . id
112+ ]
113+ }
114+ depends_on = [oci_os_management_hub_lifecycle_stage_attach_managed_instances_management . test_lifecycle_stage_attach_managed_instances_management ]
115+ }
116+
117+ # 8. Promote Versioned Custom Software Source to a Lifecycle Stage
118+ resource "oci_os_management_hub_lifecycle_stage_promote_software_source_management" "test_lifecycle_stage_promote_software_source_management" {
119+ lifecycle_stage_id = data. oci_os_management_hub_lifecycle_stage . test_lifecycle_stage . lifecycle_stage_id
120+ software_source_id = data. oci_os_management_hub_software_sources . versioned_ol8_addons-x86_64 . software_source_collection [0 ]. items [0 ]. id
121+ depends_on = [oci_os_management_hub_lifecycle_stage_detach_managed_instances_management . test_lifecycle_stage_detach_managed_instances_management ]
122+ }
0 commit comments