Skip to content

Commit 1c77222

Browse files
adiforlulsSrividyaKamakshi
authored andcommitted
Added - Support for WebLogic Management Service
1 parent a1e843a commit 1c77222

File tree

52 files changed

+5635
-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.

52 files changed

+5635
-0
lines changed

examples/wlms/main.tf

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
3+
variable "tenancy_ocid" {
4+
}
5+
variable "user_ocid" {
6+
}
7+
variable "fingerprint" {
8+
}
9+
variable "private_key_path" {
10+
}
11+
variable "region" {
12+
}
13+
variable "compartment_id" {
14+
}
15+
16+
variable "managed_instance_display_name" {
17+
}
18+
19+
variable "managed_instance_id" {
20+
}
21+
22+
variable "managed_instance_plugin_status" {
23+
}
24+
25+
variable "wls_domain_display_name" {
26+
}
27+
28+
variable "wls_domain_id" {
29+
}
30+
31+
variable "wls_domain_middleware_type" {
32+
}
33+
34+
variable "wls_domain_patch_readiness_status" {
35+
}
36+
37+
variable "wls_domain_state" {
38+
}
39+
40+
variable "wls_domain_weblogic_version" {
41+
}
42+
43+
variable "wls_domain_server_name" {
44+
}
45+
46+
variable "wls_server_id" {
47+
}
48+
49+
variable "wls_mw_backup_id" {
50+
}
51+
52+
provider "oci" {
53+
tenancy_ocid = var.tenancy_ocid
54+
user_ocid = var.user_ocid
55+
fingerprint = var.fingerprint
56+
private_key_path = var.private_key_path
57+
region = var.region
58+
}
59+
60+
data "oci_wlms_managed_instances" "test_managed_instances" {
61+
62+
#Optional
63+
compartment_id = var.compartment_id
64+
display_name = var.managed_instance_display_name
65+
id = var.managed_instance_id
66+
plugin_status = var.managed_instance_plugin_status
67+
}
68+
69+
data "oci_wlms_managed_instance" "test_managed_instance" {
70+
#Required
71+
managed_instance_id = var.managed_instance_id
72+
}
73+
74+
data "oci_wlms_wls_domains" "test_wls_domains" {
75+
76+
#Optional
77+
compartment_id = var.compartment_id
78+
display_name = var.wls_domain_display_name
79+
id = var.wls_domain_id
80+
middleware_type = var.wls_domain_middleware_type
81+
patch_readiness_status = var.wls_domain_patch_readiness_status
82+
state = var.wls_domain_state
83+
weblogic_version = var.wls_domain_weblogic_version
84+
}
85+
86+
data "oci_wlms_wls_domain" "test_wls_domain" {
87+
#Required
88+
wls_domain_id = var.wls_domain_id
89+
}
90+
91+
data "oci_wlms_wls_domain_servers" "test_wls_domain_servers" {
92+
#Required
93+
wls_domain_id = var.wls_domain_id
94+
95+
#Optional
96+
name = var.wls_domain_server_name
97+
}
98+
99+
data "oci_wlms_wls_domain_server" "test_wls_domain_server" {
100+
#Required
101+
server_id = var.wls_server_id
102+
wls_domain_id = var.wls_domain_id
103+
}
104+
105+
data "oci_wlms_wls_domain_server_installed_patches" "test_wls_domain_server_installed_patches" {
106+
#Required
107+
server_id = var.wls_server_id
108+
wls_domain_id = var.wls_domain_id
109+
}
110+
111+
data "oci_wlms_wls_domain_server_backups" "test_wls_domain_server_backups" {
112+
#Required
113+
server_id = var.wls_server_id
114+
wls_domain_id = var.wls_domain_id
115+
}
116+
117+
data "oci_wlms_wls_domain_server_backup" "test_wls_domain_server_backup" {
118+
#Required
119+
backup_id = var.wls_mw_backup_id
120+
server_id = var.wls_server_id
121+
wls_domain_id = var.wls_domain_id
122+
}
123+
124+
125+
data "oci_wlms_wls_domain_server_backup_content" "test_wls_domain_server_backup_content" {
126+
#Required
127+
backup_id = var.wls_mw_backup_id
128+
server_id = var.wls_server_id
129+
wls_domain_id = var.wls_domain_id
130+
}
131+
132+
data "oci_wlms_wls_domain_scan_results" "test_wls_domain_scan_results" {
133+
#Required
134+
wls_domain_id = var.wls_domain_id
135+
136+
#Optional
137+
server_name = var.wls_domain_server_name
138+
}
139+
140+
data "oci_wlms_wls_domain_applicable_patches" "test_wls_domain_applicable_patches" {
141+
#Required
142+
wls_domain_id = var.wls_domain_id
143+
}
144+
145+
data "oci_wlms_wls_domain_agreement_records" "test_wls_domain_agreement_records" {
146+
#Required
147+
wls_domain_id = var.wls_domain_id
148+
}
149+
150+
data "oci_wlms_managed_instance_servers" "test_managed_instance_servers" {
151+
#Required
152+
managed_instance_id = var.managed_instance_id
153+
154+
#Optional
155+
name = var.wls_domain_server_name
156+
}
157+
158+
data "oci_wlms_managed_instance_server" "test_managed_instance_server" {
159+
160+
#Required
161+
managed_instance_id = var.managed_instance_id
162+
server_id = var.wls_server_id
163+
}
164+
165+
166+
data "oci_wlms_managed_instance_server_installed_patches" "test_managed_instance_server_installed_patches" {
167+
#Required
168+
managed_instance_id = var.managed_instance_id
169+
server_id = var.wls_server_id
170+
}
171+
172+
data "oci_wlms_managed_instance_scan_results" "test_managed_instance_scan_results" {
173+
#Required
174+
managed_instance_id = var.managed_instance_id
175+
176+
#Optional
177+
server_name = var.wls_domain_server_name
178+
wls_domain_id = var.wls_domain_id
179+
}
180+
181+

internal/client/wlms_clients.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package client
5+
6+
import (
7+
oci_wlms "github.com/oracle/oci-go-sdk/v65/wlms"
8+
9+
oci_common "github.com/oracle/oci-go-sdk/v65/common"
10+
)
11+
12+
func init() {
13+
RegisterOracleClient("oci_wlms.WeblogicManagementServiceClient", &OracleClient{InitClientFn: initWlmsWeblogicManagementServiceClient})
14+
}
15+
16+
func initWlmsWeblogicManagementServiceClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
17+
client, err := oci_wlms.NewWeblogicManagementServiceClientWithConfigurationProvider(configProvider)
18+
if err != nil {
19+
return nil, err
20+
}
21+
err = configureClient(&client.BaseClient)
22+
if err != nil {
23+
return nil, err
24+
}
25+
26+
if serviceClientOverrides.HostUrlOverride != "" {
27+
client.Host = serviceClientOverrides.HostUrlOverride
28+
}
29+
return &client, nil
30+
}
31+
32+
func (m *OracleClients) WeblogicManagementServiceClient() *oci_wlms.WeblogicManagementServiceClient {
33+
return m.GetClient("oci_wlms.WeblogicManagementServiceClient").(*oci_wlms.WeblogicManagementServiceClient)
34+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package integrationtest
5+
6+
import (
7+
"testing"
8+
9+
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
10+
"github.com/oracle/terraform-provider-oci/httpreplay"
11+
"github.com/oracle/terraform-provider-oci/internal/acctest"
12+
"github.com/oracle/terraform-provider-oci/internal/utils"
13+
)
14+
15+
var (
16+
wlmsManagedInstanceOcid = utils.GetEnvSettingWithBlankDefault("wlms_mi_ocid")
17+
wlmsServerName = utils.GetEnvSettingWithBlankDefault("wlms_server_name")
18+
wlsDomainOcid = utils.GetEnvSettingWithBlankDefault("wlms_wls_domain_ocid")
19+
20+
WlmsManagedInstanceScanResultDataSourceRepresentation = map[string]interface{}{
21+
"managed_instance_id": acctest.Representation{RepType: acctest.Required, Create: wlmsManagedInstanceOcid},
22+
"server_name": acctest.Representation{RepType: acctest.Optional, Create: wlmsServerName},
23+
"wls_domain_id": acctest.Representation{RepType: acctest.Optional, Create: wlsDomainOcid},
24+
}
25+
)
26+
27+
// issue-routing-tag: wlms/default
28+
func TestWlmsManagedInstanceScanResultResource_basic(t *testing.T) {
29+
httpreplay.SetScenario("TestWlmsManagedInstanceScanResultResource_basic")
30+
defer httpreplay.SaveScenario()
31+
32+
config := acctest.ProviderTestConfig()
33+
34+
// compartmentId := utils.GetEnvSettingWithBlankDefault("compartment_ocid")
35+
// compartmentIdVariableStr := fmt.Sprintf("variable \"compartment_id\" { default = \"%s\" }\n", compartmentId)
36+
37+
datasourceName := "data.oci_wlms_managed_instance_scan_results.test_managed_instance_scan_results"
38+
39+
acctest.SaveConfigContent("", "", "", t)
40+
41+
acctest.ResourceTest(t, nil, []resource.TestStep{
42+
// verify datasource
43+
{
44+
Config: config +
45+
acctest.GenerateDataSourceFromRepresentationMap("oci_wlms_managed_instance_scan_results", "test_managed_instance_scan_results", acctest.Required, acctest.Create, WlmsManagedInstanceScanResultDataSourceRepresentation),
46+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
47+
resource.TestCheckResourceAttrSet(datasourceName, "scan_result_collection.#"),
48+
),
49+
},
50+
})
51+
}
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+
package integrationtest
5+
6+
import (
7+
"testing"
8+
9+
"github.com/oracle/terraform-provider-oci/internal/utils"
10+
11+
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
12+
13+
"github.com/oracle/terraform-provider-oci/httpreplay"
14+
"github.com/oracle/terraform-provider-oci/internal/acctest"
15+
)
16+
17+
var (
18+
wlmsServerId = utils.GetEnvSettingWithBlankDefault("wlms_server_id")
19+
WlmsManagedInstanceServerInstalledPatchDataSourceRepresentation = map[string]interface{}{
20+
"managed_instance_id": acctest.Representation{RepType: acctest.Required, Create: wlmsManagedInstanceOcid},
21+
"server_id": acctest.Representation{RepType: acctest.Required, Create: wlmsServerId},
22+
}
23+
)
24+
25+
// issue-routing-tag: wlms/default
26+
func TestWlmsManagedInstanceServerInstalledPatchResource_basic(t *testing.T) {
27+
httpreplay.SetScenario("TestWlmsManagedInstanceServerInstalledPatchResource_basic")
28+
defer httpreplay.SaveScenario()
29+
30+
config := acctest.ProviderTestConfig()
31+
32+
datasourceName := "data.oci_wlms_managed_instance_server_installed_patches.test_managed_instance_server_installed_patches"
33+
34+
acctest.SaveConfigContent("", "", "", t)
35+
36+
acctest.ResourceTest(t, nil, []resource.TestStep{
37+
// verify datasource
38+
{
39+
Config: config +
40+
acctest.GenerateDataSourceFromRepresentationMap("oci_wlms_managed_instance_server_installed_patches", "test_managed_instance_server_installed_patches", acctest.Required, acctest.Create, WlmsManagedInstanceServerInstalledPatchDataSourceRepresentation),
41+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
42+
resource.TestCheckResourceAttrSet(datasourceName, "installed_patch_collection.#"),
43+
),
44+
},
45+
})
46+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
// Copyright (c) 2017, 2024, Oracle and/or its affiliates. All rights reserved.
2+
// Licensed under the Mozilla Public License v2.0
3+
4+
package integrationtest
5+
6+
import (
7+
"testing"
8+
9+
"github.com/hashicorp/terraform-plugin-testing/helper/resource"
10+
11+
"github.com/oracle/terraform-provider-oci/httpreplay"
12+
"github.com/oracle/terraform-provider-oci/internal/acctest"
13+
)
14+
15+
var (
16+
WlmsManagedInstanceServerSingularDataSourceRepresentation = map[string]interface{}{
17+
"managed_instance_id": acctest.Representation{RepType: acctest.Required, Create: wlmsManagedInstanceOcid},
18+
"server_id": acctest.Representation{RepType: acctest.Required, Create: wlmsServerId},
19+
}
20+
21+
WlmsManagedInstanceServerDataSourceRepresentation = map[string]interface{}{
22+
"managed_instance_id": acctest.Representation{RepType: acctest.Required, Create: wlmsManagedInstanceOcid},
23+
"name": acctest.Representation{RepType: acctest.Optional, Create: wlmsServerName},
24+
}
25+
)
26+
27+
// issue-routing-tag: wlms/default
28+
func TestWlmsManagedInstanceServerResource_basic(t *testing.T) {
29+
httpreplay.SetScenario("TestWlmsManagedInstanceServerResource_basic")
30+
defer httpreplay.SaveScenario()
31+
32+
config := acctest.ProviderTestConfig()
33+
34+
datasourceName := "data.oci_wlms_managed_instance_servers.test_managed_instance_servers"
35+
singularDatasourceName := "data.oci_wlms_managed_instance_server.test_managed_instance_server"
36+
37+
acctest.SaveConfigContent("", "", "", t)
38+
39+
acctest.ResourceTest(t, nil, []resource.TestStep{
40+
// verify datasource
41+
{
42+
Config: config +
43+
acctest.GenerateDataSourceFromRepresentationMap("oci_wlms_managed_instance_servers", "test_managed_instance_servers", acctest.Required, acctest.Create, WlmsManagedInstanceServerDataSourceRepresentation),
44+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
45+
resource.TestCheckResourceAttrSet(datasourceName, "server_collection.#"),
46+
),
47+
},
48+
// verify singular datasource
49+
{
50+
Config: config +
51+
acctest.GenerateDataSourceFromRepresentationMap("oci_wlms_managed_instance_server", "test_managed_instance_server", acctest.Required, acctest.Create, WlmsManagedInstanceServerSingularDataSourceRepresentation),
52+
Check: acctest.ComposeAggregateTestCheckFuncWrapper(
53+
54+
resource.TestCheckResourceAttrSet(singularDatasourceName, "host_name"),
55+
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
56+
resource.TestCheckResourceAttrSet(singularDatasourceName, "is_admin"),
57+
resource.TestCheckResourceAttrSet(singularDatasourceName, "jdk_path"),
58+
resource.TestCheckResourceAttrSet(singularDatasourceName, "jdk_version"),
59+
resource.TestCheckResourceAttrSet(singularDatasourceName, "latest_patches_status"),
60+
resource.TestCheckResourceAttrSet(singularDatasourceName, "middleware_path"),
61+
resource.TestCheckResourceAttrSet(singularDatasourceName, "middleware_type"),
62+
resource.TestCheckResourceAttrSet(singularDatasourceName, "name"),
63+
resource.TestCheckResourceAttrSet(singularDatasourceName, "patch_readiness_status"),
64+
resource.TestCheckResourceAttrSet(singularDatasourceName, "restart_order"),
65+
resource.TestCheckResourceAttrSet(singularDatasourceName, "status"),
66+
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
67+
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_updated"),
68+
resource.TestCheckResourceAttrSet(singularDatasourceName, "weblogic_version"),
69+
resource.TestCheckResourceAttrSet(singularDatasourceName, "wls_domain_id"),
70+
resource.TestCheckResourceAttrSet(singularDatasourceName, "wls_domain_name"),
71+
resource.TestCheckResourceAttrSet(singularDatasourceName, "wls_domain_path"),
72+
),
73+
},
74+
})
75+
}

0 commit comments

Comments
 (0)