Skip to content

Commit 8c879c3

Browse files
Terraform Team Automationjotruon
authored andcommitted
Added - Support for Dev and Deployment of Site Guard as Service in OCI
1 parent 60ab0af commit 8c879c3

File tree

176 files changed

+20655
-0
lines changed

Some content is hidden

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

176 files changed

+20655
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
variable "bucket_name" {
2+
default = "testBucketName_2"
3+
}
4+
5+
variable "bucket_namespace" {
6+
default = "ansh8lvru1zp"
7+
}
8+
9+
data "oci_identity_tenancy" "test_tenancy" {
10+
#Required
11+
tenancy_id = var.tenancy_ocid
12+
}
13+
14+
data "oci_objectstorage_namespace" "test_namespace" {
15+
16+
#Optional
17+
compartment_id = var.compartment_id
18+
}
19+
20+
resource "oci_objectstorage_bucket" "test_bucket" {
21+
#Required
22+
compartment_id = var.compartment_id
23+
name = var.bucket_name
24+
namespace = data.oci_objectstorage_namespace.test_namespace.namespace
25+
}
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// Copyright (c) 2017, 2021, 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+
default = "ocid1.compartment.oc1..aaaaaaaaaq4dqogd2ktatzmuekujkasvwendyhisgfqdky3ojru47w3f634a"
11+
}
12+
13+
variable "dr_plan_defined_tags_value" {
14+
default = "value"
15+
}
16+
17+
variable "dr_plan_display_name" {
18+
default = "displayName"
19+
}
20+
21+
variable "dr_plan_dr_plan_type" {
22+
default = "SWITCHOVER"
23+
}
24+
25+
variable "dr_plan_freeform_tags" {
26+
default = { "Department" = "Finance" }
27+
}
28+
29+
variable "dr_plan_state" {
30+
default = "ACTIVE"
31+
}
32+
33+
variable "dr_plan_type" {
34+
default = "SWITCHOVER"
35+
}
36+
37+
38+
39+
provider "oci" {
40+
tenancy_ocid = var.tenancy_ocid
41+
user_ocid = var.user_ocid
42+
fingerprint = var.fingerprint
43+
private_key_path = var.private_key_path
44+
region = var.region
45+
}
46+
47+
resource "oci_disaster_recovery_dr_plan" "test_dr_plan" {
48+
#Required
49+
display_name = var.dr_plan_display_name
50+
dr_protection_group_id = oci_disaster_recovery_dr_protection_group.test_dr_protection_group.id
51+
type = var.dr_plan_type
52+
53+
#Optional
54+
defined_tags = map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "${var.dr_plan_defined_tags_value}")
55+
freeform_tags = var.dr_plan_freeform_tags
56+
}
57+
58+
data "oci_disaster_recovery_dr_plans" "test_dr_plans" {
59+
#Required
60+
dr_protection_group_id = oci_disaster_recovery_dr_protection_group.test_dr_protection_group.id
61+
62+
#Optional
63+
display_name = var.dr_plan_display_name
64+
dr_plan_id = oci_disaster_recovery_dr_plan.test_dr_plan.id
65+
dr_plan_type = var.dr_plan_dr_plan_type
66+
state = var.dr_plan_state
67+
}
68+
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable "dr_protection_group_association_peer_region" {
5+
default = "us-ashburn-1"
6+
}
7+
8+
variable "dr_protection_group_association_role" {
9+
default = "STANDBY"
10+
}
11+
12+
variable "dr_protection_group_defined_tags_value" {
13+
default = "value"
14+
}
15+
16+
variable "dr_protection_group_display_name" {
17+
default = "displayName"
18+
}
19+
20+
variable "dr_protection_group_freeform_tags" {
21+
default = { "Department" = "Finance" }
22+
}
23+
24+
variable "dr_protection_group_log_location_bucket" {
25+
default = "bucket"
26+
}
27+
28+
variable "dr_protection_group_log_location_namespace" {
29+
default = "namespace"
30+
}
31+
32+
variable "dr_protection_group_members_is_movable" {
33+
default = false
34+
}
35+
36+
variable "dr_protection_group_members_member_type" {
37+
default = "VOLUME_GROUP"
38+
}
39+
40+
variable "dr_protection_group_state" {
41+
default = "ACTIVE"
42+
}
43+
44+
resource "oci_disaster_recovery_dr_protection_group" "test_peer" {
45+
#Required
46+
compartment_id = var.compartment_id
47+
display_name = var.dr_protection_group_display_name
48+
log_location {
49+
#Required
50+
bucket = oci_objectstorage_bucket.test_bucket.name
51+
namespace = data.oci_objectstorage_namespace.test_namespace.namespace
52+
}
53+
54+
#Optional
55+
members {
56+
#Required
57+
member_id = oci_core_volume_group.test_volume_group.id
58+
member_type = var.dr_protection_group_members_member_type
59+
60+
#Optional
61+
is_movable = var.dr_protection_group_members_is_movable
62+
}
63+
}
64+
65+
resource "oci_disaster_recovery_dr_protection_group" "test_dr_protection_group" {
66+
#Required
67+
compartment_id = var.compartment_id
68+
display_name = var.dr_protection_group_display_name
69+
log_location {
70+
#Required
71+
bucket = oci_objectstorage_bucket.test_bucket.name
72+
namespace = data.oci_objectstorage_namespace.test_namespace.namespace
73+
}
74+
75+
#Optional
76+
association {
77+
#Required
78+
role = var.dr_protection_group_association_role
79+
80+
#Optional
81+
peer_id = oci_disaster_recovery_dr_protection_group.test_peer.id
82+
peer_region = var.dr_protection_group_association_peer_region
83+
}
84+
defined_tags = map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "${var.dr_protection_group_defined_tags_value}")
85+
freeform_tags = var.dr_protection_group_freeform_tags
86+
}
87+
88+
data "oci_disaster_recovery_dr_protection_groups" "test_dr_protection_groups" {
89+
#Required
90+
compartment_id = var.compartment_id
91+
92+
#Optional
93+
display_name = var.dr_protection_group_display_name
94+
dr_protection_group_id = oci_disaster_recovery_dr_protection_group.test_dr_protection_group.id
95+
state = var.dr_protection_group_state
96+
}
97+
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable "tag_namespace_defined_tags_value" {
5+
default = "value"
6+
}
7+
8+
variable "tag_namespace_description" {
9+
default = "This namespace contains tags that will be used in billing."
10+
}
11+
12+
variable "tag_namespace_freeform_tags" {
13+
default = { "Department" = "Finance" }
14+
}
15+
16+
variable "tag_namespace_include_subcompartments" {
17+
default = false
18+
}
19+
20+
variable "tag_namespace_name" {
21+
default = "BillingTags"
22+
}
23+
24+
variable "tag_namespace_state" {
25+
default = "ACTIVE"
26+
}
27+
28+
variable defined_tag_namespace_name { default = "" }
29+
30+
resource "oci_identity_tag_namespace" "tag-namespace1" {
31+
#Required
32+
compartment_id = var.tenancy_ocid
33+
description = "example tag namespace"
34+
name = var.defined_tag_namespace_name != "" ? var.defined_tag_namespace_name : "example-tag-namespace-all"
35+
36+
is_retired = false
37+
}
38+
39+
resource "oci_identity_tag" "tag1" {
40+
#Required
41+
description = "example tag"
42+
name = "example-tag"
43+
tag_namespace_id = oci_identity_tag_namespace.tag-namespace1.id
44+
45+
is_retired = false
46+
}
47+
48+
resource "oci_identity_tag_namespace" "test_tag_namespace" {
49+
#Required
50+
compartment_id = var.compartment_id
51+
description = var.tag_namespace_description
52+
name = var.tag_namespace_name
53+
54+
#Optional
55+
defined_tags = map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "${var.tag_namespace_defined_tags_value}")
56+
freeform_tags = var.tag_namespace_freeform_tags
57+
}
58+
59+
data "oci_identity_tag_namespaces" "test_tag_namespaces" {
60+
#Required
61+
compartment_id = var.compartment_id
62+
63+
#Optional
64+
include_subcompartments = var.tag_namespace_include_subcompartments
65+
state = var.tag_namespace_state
66+
}
67+
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
// Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
variable "volume_group_defined_tags_value" {
5+
default = "value"
6+
}
7+
8+
variable "volume_group_display_name" {
9+
default = "displayName"
10+
}
11+
12+
variable "volume_group_freeform_tags" {
13+
default = { "Department" = "Finance" }
14+
}
15+
16+
variable "volume_group_source_details_type" {
17+
default = "volumeIds"
18+
}
19+
20+
variable "volume_group_source_details_volume_ids" {
21+
default = []
22+
}
23+
24+
variable "volume_group_state" {
25+
default = "AVAILABLE"
26+
}
27+
28+
variable "volume_group_volume_group_replicas_availability_domain" {
29+
default = "availabilityDomain"
30+
}
31+
32+
variable "volume_group_volume_group_replicas_display_name" {
33+
default = "displayName"
34+
}
35+
36+
data "oci_identity_availability_domains" "test_availability_domains" {
37+
compartment_id = var.tenancy_ocid
38+
}
39+
40+
resource "oci_core_volume" "source_volume_list" {
41+
count = 2
42+
display_name = format("source-volume-%d", count.index + 1)
43+
44+
#Required
45+
availability_domain = data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name
46+
compartment_id = var.compartment_id
47+
}
48+
49+
resource "oci_core_volume_group" "test_volume_group" {
50+
#Required
51+
availability_domain = data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name
52+
compartment_id = var.compartment_id
53+
source_details {
54+
#Required
55+
type = var.volume_group_source_details_type
56+
57+
#Optional
58+
volume_ids = oci_core_volume.source_volume_list.*.id
59+
}
60+
61+
#Optional
62+
defined_tags = map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "${var.volume_group_defined_tags_value}")
63+
display_name = var.volume_group_display_name
64+
freeform_tags = var.volume_group_freeform_tags
65+
volume_group_replicas {
66+
#Required
67+
availability_domain = data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name
68+
69+
#Optional
70+
display_name = var.volume_group_volume_group_replicas_display_name
71+
}
72+
}
73+
74+
data "oci_core_volume_groups" "test_volume_groups" {
75+
#Required
76+
compartment_id = var.compartment_id
77+
78+
#Optional
79+
availability_domain = "${data.oci_identity_availability_domains.test_availability_domains.availability_domains.0.name}"
80+
display_name = var.volume_group_display_name
81+
state = var.volume_group_state
82+
}
83+
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
variable "bucket_name" {
2+
default = "testBucketName"
3+
}
4+
5+
variable "bucket_namespace" {
6+
default = "ansh8lvru1zp"
7+
}
8+
9+
data "oci_identity_tenancy" "test_tenancy" {
10+
#Required
11+
tenancy_id = var.tenancy_ocid
12+
}
13+
14+
data "oci_objectstorage_namespace" "test_namespace" {
15+
16+
#Optional
17+
compartment_id = var.compartment_id
18+
}
19+
20+
resource "oci_objectstorage_bucket" "test_bucket" {
21+
#Required
22+
compartment_id = var.compartment_id
23+
name = var.bucket_name
24+
namespace = data.oci_objectstorage_namespace.test_namespace.namespace
25+
}

0 commit comments

Comments
 (0)