Skip to content

Commit e1d0a7d

Browse files
Merge pull request #1189 from terraform-providers/release_gh
Releasing version 3.95.0
2 parents fee6ec4 + e5954b8 commit e1d0a7d

File tree

157 files changed

+8904
-177
lines changed

Some content is hidden

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

157 files changed

+8904
-177
lines changed

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## 3.95.0 (Unreleased)
2+
- Support for query parameters added to `object_storage` `object` resource
3+
- Support for custom certificates added to `apigateway` `certificate` resource
4+
- Support added for update Instance Console Connections
5+
- Support added for `oci_core_public_ip_pool` resource and `byoip` data source
6+
7+
### Fixed
8+
- Fix resizing of boot_volume in `oci_core_instance` resource for `source_type` bootVolume
9+
110
## 3.94.0 (September 23, 2020)
211

312
### Added
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
// Copyright (c) 2017, 2020, 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+
variable "certificate_certificate" {
12+
default = "-----BEGIN CERTIFICATE-----\nMIIFZTCCBE2gAwIBAgISA6/vHTH2+uHo4BFuKgs90rQ2MA0GCSqGSIb3DQEBCwUA\nMEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD\nExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MDMxMzIwMTNaFw0y\nMDEwMDExMzIwMTNaMBsxGTAXBgNVBAMTEHd3dy5wYXRyaWNoaS5jb20wggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDWOPcmSEgjKK9o13/FYtJ5U4pzGTbE\n1EuaFPLC9KVFRcIN+16f72BdNjDGxm5b9CzfkfjcgKJpunCGWE7r6ukFch8JDKxn\nyNu6XDrgjhymm0cWn+UxaipzronT9A8RDUllXTD8UJzJjYi/x6/bsds5u0C03CIc\ni0ig5jwJrCKvKGUhsjX1vx8mKibjvETjmkLhZJ+50PYuDUW4MFFqjIKxwIKh+szm\ne2B+lCJQGYhiAY9R7R0J41M7tzYZj4IzuYh7mDt/+t+JOuz1OUenMwAFMauXS9yW\nL0oY7sNEW1cnC2QWH4EHQfyOdN0HkYbsy/0Eia7KzcbgK8zvipjRzbO3AgMBAAGj\nggJyMIICbjAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG\nAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFFHRKpBm95oY9EIO164b+cou\n6qHiMB8GA1UdIwQYMBaAFKhKamMEfd265tE5t6ZFZe/zqOyhMG8GCCsGAQUFBwEB\nBGMwYTAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuaW50LXgzLmxldHNlbmNyeXB0\nLm9yZzAvBggrBgEFBQcwAoYjaHR0cDovL2NlcnQuaW50LXgzLmxldHNlbmNyeXB0\nLm9yZy8wKQYDVR0RBCIwIIIMcGF0cmljaGkuY29tghB3d3cucGF0cmljaGkuY29t\nMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUH\nAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAwYKKwYBBAHWeQIEAgSB\n9ASB8QDvAHUAsh4FzIuizYogTodm+Su5iiUgZ2va+nDnsklTLe+LkF4AAAFzFQyZ\nUAAABAMARjBEAiBNyGhSkSA/QAV8O/z4p1sZxUbHX2LFaYhRn2gnRAmkRwIge9JC\nxsrSGMBtSOwN/mGBCr2yWsO7Xq0mFa7HvdyT5N0AdgBvU3asMfAxGdiZAKRRFf93\nFRwR2QLBACkGjbIImjfZEwAAAXMVDJl7AAAEAwBHMEUCICz3LqARn2byH91k3RZ/\nXloOaCPFI1hhzGk4LZbB7ZxOAiEA9CIbpEytmD0WctjD3HEsLHgpKtFCyFdOMrcS\n3W7+jh0wDQYJKoZIhvcNAQELBQADggEBAIBNvSrPD+01gTK64c6DkUix1xkdkzK6\nbMzjGU6lvcONhCSJGi4WZyl1m/nJfjuJ66xJSVlw0bcTbBmSYQCKWodkDPgR3HFM\nVJPXQuuLW7uNCMjqgz4h6o3WEWI1mKP5Vf5mPHVfgErgfk7TYtVWdqnB2/zJ72Tw\nvJwiSZjbEUBaxlw8BVdK224taStb1i1fM+xP+GOEaVlr6I59E1GpfOp1iwPBPzZi\nrb/w/03eCJn0P1+yTwBskvdsFRJaBbvd5mCGzAHcaAgMvbqv+u/7e01XgzPs8U7t\nHQ+a1q07HAmnobmXvkljO68T7MuUomFLmEX3RnRoNcXxqhNnMQnbQZ4=\n-----END CERTIFICATE-----"
13+
}
14+
15+
variable "certificate_defined_tags_value" {
16+
default = "value"
17+
}
18+
19+
variable "certificate_display_name" {
20+
default = "displayName"
21+
}
22+
23+
variable "certificate_freeform_tags" {
24+
default = {
25+
"Department" = "Finance"
26+
}
27+
}
28+
29+
variable "certificate_intermediate_certificates" {
30+
default = "-----BEGIN CERTIFICATE-----\nMIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/\nMSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT\nDkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow\nSjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT\nGkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC\nAQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF\nq6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8\nSMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0\nZ8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA\na6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj\n/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T\nAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG\nCCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv\nbTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k\nc3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw\nVAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC\nARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz\nMDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu\nY3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF\nAAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo\nuM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/\nwApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu\nX4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG\nPfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6\nKOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==\n-----END CERTIFICATE-----"
31+
}
32+
33+
variable "certificate_private_key" {
34+
default = "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA1jj3JkhIIyivaNd/xWLSeVOKcxk2xNRLmhTywvSlRUXCDfte\nn+9gXTYwxsZuW/Qs35H43ICiabpwhlhO6+rpBXIfCQysZ8jbulw64I4cpptHFp/l\nMWoqc66J0/QPEQ1JZV0w/FCcyY2Iv8ev27HbObtAtNwiHItIoOY8CawiryhlIbI1\n9b8fJiom47xE45pC4WSfudD2Lg1FuDBRaoyCscCCofrM5ntgfpQiUBmIYgGPUe0d\nCeNTO7c2GY+CM7mIe5g7f/rfiTrs9TlHpzMABTGrl0vcli9KGO7DRFtXJwtkFh+B\nB0H8jnTdB5GG7Mv9BImuys3G4CvM74qY0c2ztwIDAQABAoIBAQCgnYtor48ulUWX\nFOQeqW5nOyS2EXSH9ShN+WDenTEBFEFf3FVhEsgsewHtNz/tP9EZO0fcg7HCFeBi\nSfm6VqGpzJvKXC8zjVx5iMc4MDT5EbkmFHJyL0hu/bEnMnjNbynVjx64PvSfBbg/\nGkgXL23QBj6Im/gTcLbetGDVW7ORoRetRUxgOAGq+rrVrZI2k2n3q2Q+yfMhfcoC\ni9bi62tPeroDfrh4sy5EpkTL8ddIzy3Mz0EdRWpyu17lml+rUgceoLSjZVZVc0Cs\n5mre6Q8m5W0590Rd12yubLliq2E66cKom/wuIaGGy36+8zYbM1wiT8svylfzif4W\nAUSIGWRJAoGBAOwEMuxCoYvcJREG1R7QVc/egR8UrWlM6SXsbc5D96mHBT+DaaPw\nPXReFx9wIQ5J+uNRgTJ2GRfDS05t6i3kHtxDRGmz+qtaakAClmWcKjRBq6gdGg1j\nBcb86aVb7zr/x/x4jL9DQV5CJfC8Qs3Q966BbKzxP0zrPTPs0jLbmNC1AoGBAOhc\nXuZOqTeu4cSvWbcrvYZpoGIuhLCTV3x5OEPF847tEQ/U7m2gYQLpKU5oQPDIboCi\nYdSOs8tszefSW/438+VFPmUaClVVsEOU3hmkRjHPji6eX/pdDmWglZly4egoJNHM\nCtzDSiXU/uf9C1UaIjgnI0BW/jxdnC8Scn0eMXI7AoGAYfNwKuuQXho0a/eY9Zvj\nMU0X641KVvxreqi//a3pmDsIK47fhgFLkAMIt6xym5qKfFM0OnwW9+y+UUN+wCL/\nx8xHFVNzwi/ZDs3EG1GPlnZ2xmOlj068dBQ857ra83J6Tka9qxc/ht4PHvUTCJYk\nZREjyDarXcH3eZhcuGy45E0CgYEA1B222EHIwjdYjIeSu98nNbPpIJfcs6DeBZhX\nX68uZzRNFgnI2rTEuraE6bnMRsKB9dXGvxbCVRrvYQgsyIbllE/A5OR/uGTv8tHM\natYG6mPSJQaZEWGvyeBtkNZKGffDnO3KoLt6Tc0CIl9i3/5qbJ511L9VeV/vOx14\n/HT6qI8CgYA+BTF/aS9iQGrRI1LpMTQh5sbSnMz39Ri2VWulp/MLAOBCTKEpB9+W\neL+z52ZKn/kqo9hP/Ysl1Pt+JymPY1tP0TMJ4QCpVHnrmbx0xyNwZldR5kvgc/DN\neRzKmOYlhMF5LcqqdOaOOP4fbPAReq+FudAZuhrL4iReWnOR+I1Stw==\n-----END RSA PRIVATE KEY-----"
35+
}
36+
37+
variable "certificate_state" {
38+
default = "ACTIVE"
39+
}
40+
41+
provider "oci" {
42+
tenancy_ocid = "${var.tenancy_ocid}"
43+
user_ocid = "${var.user_ocid}"
44+
fingerprint = "${var.fingerprint}"
45+
private_key_path = "${var.private_key_path}"
46+
region = "${var.region}"
47+
}
48+
49+
resource "oci_apigateway_certificate" "test_certificate" {
50+
#Required
51+
certificate = "${var.certificate_certificate}"
52+
compartment_id = "${var.compartment_id}"
53+
private_key = "${var.certificate_private_key}"
54+
55+
#Optional
56+
defined_tags = "${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "${var.certificate_defined_tags_value}")}"
57+
display_name = "${var.certificate_display_name}"
58+
freeform_tags = "${var.certificate_freeform_tags}"
59+
intermediate_certificates = "${var.certificate_intermediate_certificates}"
60+
}
61+
62+
data "oci_apigateway_certificates" "test_certificates" {
63+
#Required
64+
compartment_id = "${var.compartment_id}"
65+
66+
#Optional
67+
display_name = "${var.certificate_display_name}"
68+
state = "${var.certificate_state}"
69+
}

examples/container_engine/main.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,8 @@ resource "oci_containerengine_node_pool" "test_node_pool" {
167167

168168
node_source_details {
169169
#Required
170-
image_id = data.oci_containerengine_node_pool_option.test_node_pool_option.sources[0].image_id
171-
source_type = data.oci_containerengine_node_pool_option.test_node_pool_option.sources[0].source_type
170+
image_id = local.oracle_linux_images.0
171+
source_type = "IMAGE"
172172

173173
#Optional
174174
boot_volume_size_in_gbs = "60"
@@ -234,6 +234,12 @@ data "oci_containerengine_node_pool_option" "test_node_pool_option" {
234234
node_pool_option_id = "all"
235235
}
236236

237+
locals {
238+
all_sources = "${data.oci_containerengine_node_pool_option.test_node_pool_option.sources}"
239+
240+
oracle_linux_images = [for source in local.all_sources : source.image_id if length(regexall("Oracle-Linux-[0-9]*.[0-9]*-20[0-9]*",source.source_name)) > 0]
241+
}
242+
237243
output "cluster_kubernetes_versions" {
238244
value = [data.oci_containerengine_cluster_option.test_cluster_option.kubernetes_versions]
239245
}

examples/container_engine/regional_subnet/cluster.tf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ resource "oci_containerengine_node_pool" "test_node_pool" {
4444

4545
node_source_details {
4646
#Required
47-
image_id = data.oci_containerengine_node_pool_option.test_node_pool_option.sources[0].image_id
48-
source_type = data.oci_containerengine_node_pool_option.test_node_pool_option.sources[0].source_type
47+
image_id = local.oracle_linux_images.0
48+
source_type = "IMAGE"
4949

5050
#Optional
5151
boot_volume_size_in_gbs = var.node_pool_boot_volume_size_in_gbs

examples/container_engine/regional_subnet/datasources.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ data "oci_containerengine_node_pool_option" "test_node_pool_option" {
1919
node_pool_option_id = "all"
2020
}
2121

22+
locals {
23+
all_sources = "${data.oci_containerengine_node_pool_option.test_node_pool_option.sources}"
24+
25+
oracle_linux_images = [for source in local.all_sources : source.image_id if length(regexall("Oracle-Linux-[0-9]*.[0-9]*-20[0-9]*",source.source_name)) > 0]
26+
}
27+
2228
output "cluster_kubernetes_versions" {
2329
value = [data.oci_containerengine_cluster_option.test_cluster_option.kubernetes_versions]
2430
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
provider "oci" {
5+
tenancy_ocid = "${var.tenancy_ocid}"
6+
user_ocid = "${var.user_ocid}"
7+
fingerprint = "${var.fingerprint}"
8+
private_key_path = "${var.private_key_path}"
9+
region = "${var.region}"
10+
}
11+
12+
variable "tenancy_ocid" {}
13+
variable "user_ocid" {}
14+
variable "fingerprint" {}
15+
variable "private_key_path" {}
16+
variable "compartment_ocid" {}
17+
variable "region" {}
18+
variable "ssh_public_key" {}
19+
20+
variable "byoip_range_id" {}
21+
22+
variable "public_ip_pool_cidr_block" {}
23+
24+
resource "oci_core_public_ip" "test_public_ip" {
25+
compartment_id = "${var.compartment_ocid}"
26+
lifetime = "RESERVED"
27+
public_ip_pool_id = "${oci_core_public_ip_pool_capacity.test_public_ip_pool_capacity.public_ip_pool_id}"
28+
}
29+
30+
resource "oci_core_public_ip_pool_capacity" "test_public_ip_pool_capacity" {
31+
public_ip_pool_id = "${oci_core_public_ip_pool.test_public_ip_pool.id}"
32+
cidr_block = "${var.public_ip_pool_cidr_block}"
33+
byoip_id = "${var.byoip_range_id}"
34+
}
35+
36+
resource "oci_core_public_ip_pool" "test_public_ip_pool" {
37+
compartment_id = "${var.compartment_ocid}"
38+
}
39+
40+
resource "oci_core_vcn" "test_vcn" {
41+
cidr_block = "10.0.0.0/16"
42+
compartment_id = "${var.compartment_ocid}"
43+
}
44+
45+
resource "oci_core_nat_gateway" "test_nat_gateway" {
46+
block_traffic = "false"
47+
compartment_id = "${var.compartment_ocid}"
48+
display_name = "displayName"
49+
public_ip_id = "${oci_core_public_ip.test_public_ip.id}"
50+
vcn_id = "${oci_core_vcn.test_vcn.id}"
51+
}
52+
53+
data "oci_core_public_ip_pool" "public_ip_pool" {
54+
public_ip_pool_id = "${oci_core_public_ip_pool_capacity.test_public_ip_pool_capacity.public_ip_pool_id}"
55+
}
56+
57+
output "public_ip_pool" {
58+
value = [
59+
"${data.oci_core_public_ip_pool.public_ip_pool}",
60+
]
61+
}

go.mod

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@ require (
77
github.com/hashicorp/hcl2 v0.0.0-20190618163856-0b64543c968c
88
github.com/hashicorp/terraform v0.12.4-0.20190628193153-a74738cd35fc
99
github.com/mitchellh/cli v1.0.0
10-
github.com/oracle/oci-go-sdk/v25 v25.1.0
10+
github.com/oracle/oci-go-sdk/v25 v25.2.0
1111
github.com/stretchr/objx v0.1.1 // indirect
1212
github.com/stretchr/testify v1.6.1
1313
gopkg.in/yaml.v2 v2.2.2
1414
)
1515

1616
// Uncomment this line to get OCI Go SDK from local source instead of github
1717
//replace github.com/oracle/oci-go-sdk => ../../oracle/oci-go-sdk
18-
19-
replace github.com/oracle/oci-go-sdk/v25 => ../../oracle/oci-go-sdk

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,8 @@ github.com/oracle/oci-go-sdk v24.3.0+incompatible h1:x4mcfb4agelf1O4/1/auGlZ1lr9
479479
github.com/oracle/oci-go-sdk v24.3.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888=
480480
github.com/oracle/oci-go-sdk/v25 v25.0.0 h1:fuQjTvu9WD3FeOimNfRPzMXt5mM32NQFPip2DTv5f2I=
481481
github.com/oracle/oci-go-sdk/v25 v25.0.0/go.mod h1:33b8Tk8Gj7zQ+DW+x5IY8r0//IgUGkS3XF2EaM4+pPw=
482+
github.com/oracle/oci-go-sdk/v25 v25.2.0 h1:K83KRx8JFFBdwAn2nss+SOvi9LEG+fS2SDZw0BWlixw=
483+
github.com/oracle/oci-go-sdk/v25 v25.2.0/go.mod h1:33b8Tk8Gj7zQ+DW+x5IY8r0//IgUGkS3XF2EaM4+pPw=
482484
github.com/packer-community/winrmcp v0.0.0-20180102160824-81144009af58 h1:m3CEgv3ah1Rhy82L+c0QG/U3VyY1UsvsIdkh0/rU97Y=
483485
github.com/packer-community/winrmcp v0.0.0-20180102160824-81144009af58/go.mod h1:f6Izs6JvFTdnRbziASagjZ2vmf55NSIkC/weStxCHqk=
484486
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c h1:Lgl0gzECD8GnQ5QCWA8o6BtfL6mDH5rQgM4/fX3avOs=
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
// Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package oci
5+
6+
import (
7+
"context"
8+
9+
"github.com/hashicorp/terraform/helper/schema"
10+
oci_apigateway "github.com/oracle/oci-go-sdk/v25/apigateway"
11+
)
12+
13+
func init() {
14+
RegisterDatasource("oci_apigateway_certificate", ApigatewayCertificateDataSource())
15+
}
16+
17+
func ApigatewayCertificateDataSource() *schema.Resource {
18+
fieldMap := make(map[string]*schema.Schema)
19+
fieldMap["certificate_id"] = &schema.Schema{
20+
Type: schema.TypeString,
21+
Required: true,
22+
}
23+
return GetSingularDataSourceItemSchema(ApigatewayCertificateResource(), fieldMap, readSingularApigatewayCertificate)
24+
}
25+
26+
func readSingularApigatewayCertificate(d *schema.ResourceData, m interface{}) error {
27+
sync := &ApigatewayCertificateDataSourceCrud{}
28+
sync.D = d
29+
sync.Client = m.(*OracleClients).apiGatewayClient()
30+
31+
return ReadResource(sync)
32+
}
33+
34+
type ApigatewayCertificateDataSourceCrud struct {
35+
D *schema.ResourceData
36+
Client *oci_apigateway.ApiGatewayClient
37+
Res *oci_apigateway.GetCertificateResponse
38+
}
39+
40+
func (s *ApigatewayCertificateDataSourceCrud) VoidState() {
41+
s.D.SetId("")
42+
}
43+
44+
func (s *ApigatewayCertificateDataSourceCrud) Get() error {
45+
request := oci_apigateway.GetCertificateRequest{}
46+
47+
if certificateId, ok := s.D.GetOkExists("certificate_id"); ok {
48+
tmp := certificateId.(string)
49+
request.CertificateId = &tmp
50+
}
51+
52+
request.RequestMetadata.RetryPolicy = getRetryPolicy(false, "apigateway")
53+
54+
response, err := s.Client.GetCertificate(context.Background(), request)
55+
if err != nil {
56+
return err
57+
}
58+
59+
s.Res = &response
60+
return nil
61+
}
62+
63+
func (s *ApigatewayCertificateDataSourceCrud) SetData() error {
64+
if s.Res == nil {
65+
return nil
66+
}
67+
68+
s.D.SetId(*s.Res.Id)
69+
70+
if s.Res.Certificate.Certificate != nil {
71+
s.D.Set("certificate", s.Res.Certificate)
72+
}
73+
74+
if s.Res.CompartmentId != nil {
75+
s.D.Set("compartment_id", *s.Res.CompartmentId)
76+
}
77+
78+
if s.Res.DefinedTags != nil {
79+
s.D.Set("defined_tags", definedTagsToMap(s.Res.DefinedTags))
80+
}
81+
82+
if s.Res.DisplayName != nil {
83+
s.D.Set("display_name", *s.Res.DisplayName)
84+
}
85+
86+
s.D.Set("freeform_tags", s.Res.FreeformTags)
87+
88+
if s.Res.IntermediateCertificates != nil {
89+
s.D.Set("intermediate_certificates", *s.Res.IntermediateCertificates)
90+
}
91+
92+
if s.Res.LifecycleDetails != nil {
93+
s.D.Set("lifecycle_details", *s.Res.LifecycleDetails)
94+
}
95+
96+
s.D.Set("state", s.Res.LifecycleState)
97+
98+
s.D.Set("subject_names", s.Res.SubjectNames)
99+
100+
if s.Res.TimeCreated != nil {
101+
s.D.Set("time_created", s.Res.TimeCreated.String())
102+
}
103+
104+
if s.Res.TimeNotValidAfter != nil {
105+
s.D.Set("time_not_valid_after", s.Res.TimeNotValidAfter.String())
106+
}
107+
108+
if s.Res.TimeUpdated != nil {
109+
s.D.Set("time_updated", s.Res.TimeUpdated.String())
110+
}
111+
112+
return nil
113+
}

0 commit comments

Comments
 (0)