Skip to content

Commit ce4eedd

Browse files
Terraform Team Automationsrinioci
authored andcommitted
Added - Support for Java Management Service API enhancements to support SPLAT tagstore feature (API only)
1 parent 5dc2477 commit ce4eedd

17 files changed

+221
-45
lines changed

examples/jms_java_downloads/java_download_reports/java_download_report.tf

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,14 @@ variable "java_download_report_time_start" {
2828
default = "2023-08-01T03:07:27Z"
2929
}
3030

31+
variable "java_download_report_freeform_tags" {
32+
default = { "bar-key" = "value" }
33+
}
34+
35+
variable "java_download_report_defined_tags" {
36+
default = { "example-tag-namespace-all.example-tag" = "value" }
37+
}
38+
3139
provider "oci" {
3240
tenancy_ocid = var.tenancy_ocid
3341
user_ocid = var.user_ocid
@@ -42,8 +50,13 @@ resource "oci_jms_java_downloads_java_download_report" "test_java_download_repor
4250
format = var.java_download_report_format
4351

4452
#Optional
45-
time_end = var.java_download_report_time_end
46-
time_start = var.java_download_report_time_start
53+
time_end = var.java_download_report_time_end
54+
time_start = var.java_download_report_time_start
55+
freeform_tags = var.java_download_report_freeform_tags
56+
57+
# Create the Tag namespace in OCI before enabling
58+
# See user guide: https://docs.oracle.com/en-us/iaas/Content/Tagging/Tasks/managingtagsandtagnamespaces.htm
59+
# defined_tags = var.java_download_report_defined_tags
4760
}
4861

4962
data "oci_jms_java_downloads_java_download_reports" "test_java_download_reports" {

examples/jms_java_downloads/java_license_acceptance_records/java_license_acceptance_record.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ resource "oci_jms_java_downloads_java_license_acceptance_record" "test_java_lice
3333
compartment_id = var.tenancy_ocid
3434
license_acceptance_status = var.java_license_acceptance_record_status
3535
license_type = var.java_license_acceptance_record_license_type
36+
lifecycle {
37+
ignore_changes = [defined_tags, system_tags]
38+
}
3639
}
3740

3841
data "oci_jms_java_downloads_java_license_acceptance_records" "test_java_license_acceptance_records" {

internal/integrationtest/jms_java_downloads_java_download_report_test.go

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,9 @@ import (
2626
)
2727

2828
var (
29-
JmsJdReportTimeStartedTime = time.Now().AddDate(0, -1, 0).UTC()
30-
JmsJdReportTimeStarted = JmsJdReportTimeStartedTime.Format(time.RFC3339)
29+
JmsJavaDownloadsJavaDownloadReportResourceDependencies = DefinedTagsDependencies
30+
JmsJdReportTimeStartedTime = time.Now().AddDate(0, -1, 0).UTC()
31+
JmsJdReportTimeStarted = JmsJdReportTimeStartedTime.Format(time.RFC3339)
3132

3233
JmsJdReportTimeEndedTime = time.Now().UTC()
3334
JmsJdReportTimeEnded = JmsJdReportTimeEndedTime.Format(time.RFC3339)
@@ -46,6 +47,7 @@ var (
4647
Create: `${oci_jms_java_downloads_java_download_report.test_java_download_report.id}`},
4748
"state": acctest.Representation{RepType: acctest.Optional, Create: `ACTIVE`},
4849
"filter": acctest.RepresentationGroup{RepType: acctest.Required, Group: JmsJavaDownloadsJavaDownloadReportDataSourceFilterRepresentation}}
50+
4951
JmsJavaDownloadsJavaDownloadReportDataSourceFilterRepresentation = map[string]interface{}{
5052
"name": acctest.Representation{RepType: acctest.Required, Create: `id`},
5153
"values": acctest.Representation{RepType: acctest.Required, Create: []string{`${oci_jms_java_downloads_java_download_report.test_java_download_report.id}`}},
@@ -54,12 +56,22 @@ var (
5456
JmsJavaDownloadsJavaDownloadReportRepresentation = map[string]interface{}{
5557
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.tenancy_ocid}`},
5658
"format": acctest.Representation{RepType: acctest.Required, Create: `CSV`},
57-
"time_end": acctest.Representation{RepType: acctest.Optional, Create: JmsJdReportTimeEnded},
58-
"time_start": acctest.Representation{RepType: acctest.Optional, Create: JmsJdReportTimeStarted},
59+
"defined_tags": acctest.Representation{
60+
RepType: acctest.Optional,
61+
Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`,
62+
Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
63+
"freeform_tags": acctest.Representation{
64+
RepType: acctest.Optional,
65+
Create: map[string]string{"bar-key": "bar-value"},
66+
Update: map[string]string{"bar-key": "updatedValue"}},
67+
"time_end": acctest.Representation{RepType: acctest.Optional, Create: JmsJdReportTimeEnded},
68+
"time_start": acctest.Representation{RepType: acctest.Optional, Create: JmsJdReportTimeStarted},
5969
"lifecycle": acctest.RepresentationGroup{
6070
RepType: acctest.Required,
6171
Group: map[string]interface{}{
62-
"ignore_changes": acctest.Representation{RepType: acctest.Required, Create: []string{`defined_tags`, `system_tags`}},
72+
"ignore_changes": acctest.Representation{
73+
RepType: acctest.Required,
74+
Create: []string{`defined_tags`, `system_tags`}},
6375
},
6476
},
6577
}
@@ -81,6 +93,7 @@ func TestJmsJavaDownloadsJavaDownloadReportResource_basic(t *testing.T) {
8193
var resId string
8294
// Save TF content to Create resource with optional properties. This has to be exactly the same as the config part in the "create with optionals" step in the test.
8395
acctest.SaveConfigContent(config+
96+
JmsJavaDownloadsJavaDownloadReportResourceDependencies+
8497
acctest.GenerateResourceFromRepresentationMap(
8598
"oci_jms_java_downloads_java_download_report",
8699
"test_java_download_report",
@@ -96,6 +109,7 @@ func TestJmsJavaDownloadsJavaDownloadReportResource_basic(t *testing.T) {
96109
// verify Create with optionals
97110
{
98111
Config: config +
112+
JmsJavaDownloadsJavaDownloadReportResourceDependencies +
99113
acctest.GenerateResourceFromRepresentationMap(
100114
"oci_jms_java_downloads_java_download_report",
101115
"test_java_download_report",
@@ -111,6 +125,9 @@ func TestJmsJavaDownloadsJavaDownloadReportResource_basic(t *testing.T) {
111125
resource.TestCheckResourceAttrSet(resourceName, "display_name"),
112126
resource.TestCheckResourceAttrSet(resourceName, "file_size_in_bytes"),
113127
resource.TestCheckResourceAttr(resourceName, "format", "CSV"),
128+
resource.TestCheckResourceAttrSet(resourceName, "sort_by"),
129+
resource.TestCheckResourceAttrSet(resourceName, "sort_order"),
130+
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
114131
resource.TestCheckResourceAttrSet(resourceName, "id"),
115132
resource.TestCheckResourceAttrSet(resourceName, "state"),
116133
resource.TestCheckResourceAttrSet(resourceName, "time_created"),
@@ -131,6 +148,7 @@ func TestJmsJavaDownloadsJavaDownloadReportResource_basic(t *testing.T) {
131148
// verify datasource
132149
{
133150
Config: config +
151+
JmsJavaDownloadsJavaDownloadReportResourceDependencies +
134152
acctest.GenerateDataSourceFromRepresentationMap(
135153
"oci_jms_java_downloads_java_download_reports",
136154
"test_java_download_reports",
@@ -156,6 +174,7 @@ func TestJmsJavaDownloadsJavaDownloadReportResource_basic(t *testing.T) {
156174
// verify singular datasource
157175
{
158176
Config: config +
177+
JmsJavaDownloadsJavaDownloadReportResourceDependencies +
159178
acctest.GenerateDataSourceFromRepresentationMap(
160179
"oci_jms_java_downloads_java_download_report",
161180
"test_java_download_report",
@@ -179,9 +198,14 @@ func TestJmsJavaDownloadsJavaDownloadReportResource_basic(t *testing.T) {
179198
resource.TestCheckResourceAttrSet(singularDatasourceName, "display_name"),
180199
resource.TestCheckResourceAttrSet(singularDatasourceName, "file_size_in_bytes"),
181200
resource.TestCheckResourceAttr(singularDatasourceName, "format", "CSV"),
201+
resource.TestCheckResourceAttrSet(resourceName, "sort_by"),
202+
resource.TestCheckResourceAttrSet(resourceName, "sort_order"),
203+
resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"),
182204
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
183205
resource.TestCheckResourceAttrSet(singularDatasourceName, "state"),
184206
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
207+
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_end"),
208+
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_start"),
185209
),
186210
},
187211
})

internal/integrationtest/jms_java_downloads_java_license_acceptance_record_test.go

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ import (
2525
)
2626

2727
var (
28-
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceConfig = acctest.GenerateResourceFromRepresentationMap(
28+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies = DefinedTagsDependencies
29+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceConfig = acctest.GenerateResourceFromRepresentationMap(
2930
"oci_jms_java_downloads_java_license_acceptance_record",
3031
"test_java_license_acceptance_record",
3132
acctest.Optional,
@@ -57,10 +58,17 @@ var (
5758
"compartment_id": acctest.Representation{RepType: acctest.Required, Create: `${var.tenancy_ocid}`},
5859
"license_acceptance_status": acctest.Representation{RepType: acctest.Required, Create: `ACCEPTED`, Update: `REVOKED`},
5960
"license_type": acctest.Representation{RepType: acctest.Required, Create: `OTN`},
61+
"defined_tags": acctest.Representation{
62+
RepType: acctest.Optional,
63+
Create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`,
64+
Update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
6065
"lifecycle": acctest.RepresentationGroup{
6166
RepType: acctest.Required,
6267
Group: map[string]interface{}{
63-
"ignore_changes": acctest.Representation{RepType: acctest.Required, Create: []string{`defined_tags`, `system_tags`}},
68+
"ignore_changes": acctest.Representation{
69+
RepType: acctest.Required,
70+
Create: []string{`defined_tags`, `system_tags`},
71+
Update: []string{`defined_tags`, `system_tags`}},
6472
},
6573
},
6674
}
@@ -82,6 +90,7 @@ func TestJmsJavaDownloadsJavaLicenseAcceptanceRecordResource_basic(t *testing.T)
8290
var resId, resId2 string
8391
// Save TF content to Create resource with only required properties. This has to be exactly the same as the config part in the create step in the test.
8492
acctest.SaveConfigContent(config+
93+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies+
8594
acctest.GenerateResourceFromRepresentationMap(
8695
"oci_jms_java_downloads_java_license_acceptance_record",
8796
"test_java_license_acceptance_record",
@@ -97,6 +106,7 @@ func TestJmsJavaDownloadsJavaLicenseAcceptanceRecordResource_basic(t *testing.T)
97106
// verify Create
98107
{
99108
Config: config +
109+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies +
100110
acctest.GenerateResourceFromRepresentationMap(
101111
"oci_jms_java_downloads_java_license_acceptance_record",
102112
"test_java_license_acceptance_record",
@@ -108,6 +118,35 @@ func TestJmsJavaDownloadsJavaLicenseAcceptanceRecordResource_basic(t *testing.T)
108118
resource.TestCheckResourceAttr(resourceName, "license_acceptance_status", "ACCEPTED"),
109119
resource.TestCheckResourceAttr(resourceName, "license_type", "OTN"),
110120

121+
func(s *terraform.State) (err error) {
122+
resId, err = acctest.FromInstanceState(s, resourceName, "id")
123+
return err
124+
},
125+
),
126+
},
127+
128+
// delete before next Create
129+
{
130+
Config: config + JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies,
131+
},
132+
// verify Create with optionals
133+
{
134+
Config: config +
135+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies +
136+
acctest.GenerateResourceFromRepresentationMap(
137+
"oci_jms_java_downloads_java_license_acceptance_record",
138+
"test_java_license_acceptance_record",
139+
acctest.Optional,
140+
acctest.Create,
141+
JmsJavaDownloadsJavaLicenseAcceptanceRecordRepresentation),
142+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
143+
resource.TestCheckResourceAttr(resourceName, "compartment_id", tenancyId),
144+
resource.TestCheckResourceAttr(resourceName, "created_by.#", "1"),
145+
resource.TestCheckResourceAttrSet(resourceName, "id"),
146+
resource.TestCheckResourceAttr(resourceName, "license_acceptance_status", "ACCEPTED"),
147+
resource.TestCheckResourceAttr(resourceName, "license_type", "OTN"),
148+
resource.TestCheckResourceAttrSet(resourceName, "time_accepted"),
149+
111150
func(s *terraform.State) (err error) {
112151
resId, err = acctest.FromInstanceState(s, resourceName, "id")
113152
if isEnableExportCompartment, _ := strconv.ParseBool(utils.GetEnvSettingWithDefault("enable_export_compartment", "true")); isEnableExportCompartment {
@@ -123,6 +162,7 @@ func TestJmsJavaDownloadsJavaLicenseAcceptanceRecordResource_basic(t *testing.T)
123162
// verify updates to updatable parameters
124163
{
125164
Config: config +
165+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies +
126166
acctest.GenerateResourceFromRepresentationMap(
127167
"oci_jms_java_downloads_java_license_acceptance_record",
128168
"test_java_license_acceptance_record",
@@ -149,6 +189,7 @@ func TestJmsJavaDownloadsJavaLicenseAcceptanceRecordResource_basic(t *testing.T)
149189
// verify datasource
150190
{
151191
Config: config +
192+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies +
152193
acctest.GenerateDataSourceFromRepresentationMap(
153194
"oci_jms_java_downloads_java_license_acceptance_records",
154195
"test_java_license_acceptance_records",
@@ -175,6 +216,7 @@ func TestJmsJavaDownloadsJavaLicenseAcceptanceRecordResource_basic(t *testing.T)
175216
// verify singular datasource
176217
{
177218
Config: config +
219+
JmsJavaDownloadsJavaLicenseAcceptanceRecordResourceDependencies +
178220
acctest.GenerateDataSourceFromRepresentationMap(
179221
"oci_jms_java_downloads_java_license_acceptance_record",
180222
"test_java_license_acceptance_record",

internal/service/jms_java_downloads/jms_java_downloads_java_download_report_data_source.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package jms_java_downloads
66
import (
77
"context"
88
"strconv"
9+
"time"
910

1011
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1112
oci_jms_java_downloads "github.com/oracle/oci-go-sdk/v65/jmsjavadownloads"
@@ -102,6 +103,9 @@ func (s *JmsJavaDownloadsJavaDownloadReportDataSourceCrud) SetData() error {
102103

103104
s.D.Set("state", s.Res.LifecycleState)
104105

106+
s.D.Set("sort_by", s.Res.SortBy)
107+
s.D.Set("sort_order", s.Res.SortOrder)
108+
105109
if s.Res.SystemTags != nil {
106110
s.D.Set("system_tags", tfresource.SystemTagsToMap(s.Res.SystemTags))
107111
}
@@ -110,5 +114,13 @@ func (s *JmsJavaDownloadsJavaDownloadReportDataSourceCrud) SetData() error {
110114
s.D.Set("time_created", s.Res.TimeCreated.String())
111115
}
112116

117+
if s.Res.TimeEnd != nil {
118+
s.D.Set("time_end", s.Res.TimeEnd.Format(time.RFC3339Nano))
119+
}
120+
121+
if s.Res.TimeStart != nil {
122+
s.D.Set("time_start", s.Res.TimeStart.Format(time.RFC3339Nano))
123+
}
124+
113125
return nil
114126
}

0 commit comments

Comments
 (0)