Skip to content

Commit 28a4e82

Browse files
Terraform Team AutomationNishtha Goel
authored andcommitted
Added - Support for OS Management Hub - OCI Instance Support & ALX Support
1 parent b0e1014 commit 28a4e82

File tree

210 files changed

+29385
-1016
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

210 files changed

+29385
-1016
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable "tenancy_ocid" {}
5+
variable "user_ocid" {}
6+
variable "fingerprint" {}
7+
variable "private_key_path" {}
8+
variable "region" {}
9+
variable "compartment_id" {}
10+
variable "lifecycle_stage_id" {}
11+
12+
13+
provider "oci" {
14+
tenancy_ocid = var.tenancy_ocid
15+
user_ocid = var.user_ocid
16+
fingerprint = var.fingerprint
17+
private_key_path = var.private_key_path
18+
region = var.region
19+
}
20+
21+
# List all entitlements in a compartment
22+
# --------------------------------------
23+
data "oci_os_management_hub_entitlements" "test_entitlements" {
24+
compartment_id = "${var.compartment_id}"
25+
}
26+
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable "tenancy_ocid" {}
5+
variable "user_ocid" {}
6+
variable "fingerprint" {}
7+
variable "private_key_path" {}
8+
variable "region" {}
9+
variable "compartment_id" {}
10+
11+
provider "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
17+
}
18+
19+
20+
data "oci_os_management_hub_errata" "test_errata" {
21+
#Required
22+
compartment_id = "${var.compartment_id}"
23+
24+
#Optional
25+
name = ["ELBA-2024-12244"]
26+
name_contains = "ELBA-2024-12244"
27+
}
28+
29+
data "oci_os_management_hub_errata" "test_errata_2" {
30+
#Required
31+
compartment_id = "${var.compartment_id}"
32+
33+
#Optional
34+
classification_type = ["BUGFIX"]
35+
name = ["ELBA-2024-12244"]
36+
name_contains = "ELBA-2024-12244"
37+
os_family = "ORACLE_LINUX_9"
38+
time_issue_date_end = "2024-04-01T00:00:00.000Z"
39+
time_issue_date_start = "2024-03-20T00:00:00.000Z"
40+
}
41+
42+
43+
data "oci_os_management_hub_erratum" "test_erratum" {
44+
compartment_id = "${var.compartment_id}"
45+
name = "ELBA-2024-12244"
46+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
variable "tenancy_ocid" {}
4+
variable "user_ocid" {}
5+
variable "fingerprint" {}
6+
variable "private_key_path" {}
7+
variable "region" {}
8+
variable "compartment_id" {}
9+
variable "event_id" {}
10+
variable "osmh_managed_instance_ocid" {}
11+
12+
provider "oci" {
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
18+
}
19+
20+
21+
# Event has no public create API. Refer to https://confluence.oci.oraclecorp.com/x/Q5W15Q for creating events.
22+
23+
### Event
24+
# Update tag and compartment
25+
resource "oci_os_management_hub_event" "test_event" {
26+
compartment_id = "${var.compartment_id}"
27+
event_id = "${var.event_id}"
28+
freeform_tags = {
29+
"Department" = "Finance"
30+
}
31+
}
32+
33+
# List Event
34+
35+
data "oci_os_management_hub_events" "test_events" {
36+
compartment_id = "${var.compartment_id}"
37+
event_summary = "Manually created event 2 for testing caused by <Yijiu>"
38+
event_summary_contains = "testing"
39+
filter {
40+
name = "id"
41+
values = ["${var.event_id}"]
42+
}
43+
id = "${var.event_id}"
44+
is_managed_by_autonomous_linux = "true"
45+
resource_id = "${var.osmh_managed_instance_ocid}"
46+
state = "ACTIVE"
47+
time_created_greater_than_or_equal_to = "2018-01-01T00:00:00.000Z"
48+
time_created_less_than = "2088-01-01T00:00:00.000Z"
49+
type = ["EXPLOIT_ATTEMPT"]
50+
}
51+
52+
# Get Event
53+
data "oci_os_management_hub_event" "test_event" {
54+
# Required
55+
event_id = "${var.event_id}"
56+
}

examples/os_management_hub/lifecycle_environment/main.tf

Lines changed: 57 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,34 @@ variable "fingerprint" {}
77
variable "private_key_path" {}
88
variable "region" {}
99
variable "compartment_id" {}
10+
variable "osmh_managed_instance_ocid" {}
1011

1112
provider "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)
1938
resource "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
5172
data "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
5678
data "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
6184
data "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
6690
data "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

Comments
 (0)