Skip to content

Commit

Permalink
OOS: Improves the invoking api method and supports refreshing credent…
Browse files Browse the repository at this point in the history
…ial automatically
  • Loading branch information
xiaozhu36 committed Feb 3, 2025
1 parent da71c23 commit aa90cb5
Show file tree
Hide file tree
Showing 27 changed files with 108 additions and 405 deletions.
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_application_groups.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"time"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -132,16 +131,11 @@ func dataSourceAlicloudOosApplicationGroupsRead(d *schema.ResourceData, meta int
}
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_applications.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"time"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -111,16 +110,11 @@ func dataSourceAlicloudOosApplicationsRead(d *schema.ResourceData, meta interfac
tagsMap = v.(map[string]interface{})
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_executions.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import (
"fmt"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
Expand Down Expand Up @@ -264,14 +263,9 @@ func dataSourceAlicloudOosExecutionsRead(d *schema.ResourceData, meta interface{
}
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
return WrapErrorf(err, DataDefaultErrorMsg, "alicloud_oos_executions", action, AlibabaCloudSdkGoERROR)
}
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"time"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -191,16 +190,11 @@ func dataSourceAlicloudOosParametersRead(d *schema.ResourceData, meta interface{
}
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_patch_baselines.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"time"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -146,16 +145,11 @@ func dataSourceAlicloudOosPatchBaselinesRead(d *schema.ResourceData, meta interf
}
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_secret_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"time"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -202,17 +201,12 @@ func dataSourceAliCloudOosSecretParametersRead(d *schema.ResourceData, meta inte
}

var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error

for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_state_configurations.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"time"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -130,16 +129,11 @@ func dataSourceAlicloudOosStateConfigurationsRead(d *schema.ResourceData, meta i
tagsMap = v.(map[string]interface{})
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(5*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down
10 changes: 2 additions & 8 deletions alicloud/data_source_alicloud_oos_templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"regexp"

"github.com/PaesslerAG/jsonpath"
util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/helper/validation"
Expand Down Expand Up @@ -230,14 +229,9 @@ func dataSourceAlicloudOosTemplatesRead(d *schema.ResourceData, meta interface{}
}
}
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
return WrapErrorf(err, DataDefaultErrorMsg, "alicloud_oos_templates", action, AlibabaCloudSdkGoERROR)
}
Expand Down
24 changes: 6 additions & 18 deletions alicloud/resource_alicloud_oos_application.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"log"
"time"

util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -45,10 +44,7 @@ func resourceAlicloudOosApplicationCreate(d *schema.ResourceData, meta interface
var response map[string]interface{}
action := "CreateApplication"
request := make(map[string]interface{})
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
if v, ok := d.GetOk("description"); ok {
request["Description"] = v
}
Expand All @@ -65,11 +61,9 @@ func resourceAlicloudOosApplicationCreate(d *schema.ResourceData, meta interface
request["Tags"] = respJson
}
request["ClientToken"] = buildClientToken("CreateApplication")
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(d.Timeout(schema.TimeoutCreate), func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down Expand Up @@ -108,10 +102,7 @@ func resourceAlicloudOosApplicationRead(d *schema.ResourceData, meta interface{}
}
func resourceAlicloudOosApplicationUpdate(d *schema.ResourceData, meta interface{}) error {
client := meta.(*connectivity.AliyunClient)
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
var response map[string]interface{}
update := false
request := map[string]interface{}{
Expand All @@ -138,7 +129,7 @@ func resourceAlicloudOosApplicationUpdate(d *schema.ResourceData, meta interface
action := "UpdateApplication"
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(d.Timeout(schema.TimeoutUpdate), func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &util.RuntimeOptions{})
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, false)
if err != nil {
if NeedRetry(err) {
wait()
Expand All @@ -159,17 +150,14 @@ func resourceAlicloudOosApplicationDelete(d *schema.ResourceData, meta interface
client := meta.(*connectivity.AliyunClient)
action := "DeleteApplication"
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
request := map[string]interface{}{
"Name": d.Id(),
}
request["RegionId"] = client.RegionId
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(d.Timeout(schema.TimeoutDelete), func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &util.RuntimeOptions{})
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, false)
if err != nil {
if NeedRetry(err) || IsExpectedErrors(err, []string{"DeleteConflict.Application"}) {
wait()
Expand Down
16 changes: 3 additions & 13 deletions alicloud/resource_alicloud_oos_application_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import (
"log"
"time"

util "github.com/alibabacloud-go/tea-utils/service"
"github.com/aliyun/terraform-provider-alicloud/alicloud/connectivity"
"github.com/hashicorp/terraform-plugin-sdk/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
Expand Down Expand Up @@ -61,10 +60,7 @@ func resourceAlicloudOosApplicationGroupCreate(d *schema.ResourceData, meta inte
var response map[string]interface{}
action := "CreateApplicationGroup"
request := make(map[string]interface{})
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
var err error
request["Name"] = d.Get("application_group_name")
request["ApplicationName"] = d.Get("application_name")
request["DeployRegionId"] = d.Get("deploy_region_id")
Expand All @@ -85,11 +81,9 @@ func resourceAlicloudOosApplicationGroupCreate(d *schema.ResourceData, meta inte
}
request["RegionId"] = client.RegionId
request["ClientToken"] = buildClientToken("CreateApplicationGroup")
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(d.Timeout(schema.TimeoutCreate), func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) || IsExpectedErrors(err, []string{"AssumeRoleNotExist"}) {
wait()
Expand Down Expand Up @@ -140,10 +134,6 @@ func resourceAlicloudOosApplicationGroupDelete(d *schema.ResourceData, meta inte
}
action := "DeleteApplicationGroup"
var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
return WrapError(err)
}
request := map[string]interface{}{
"Name": parts[1],
"ApplicationName": parts[0],
Expand All @@ -153,7 +143,7 @@ func resourceAlicloudOosApplicationGroupDelete(d *schema.ResourceData, meta inte
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(d.Timeout(schema.TimeoutDelete), func() *resource.RetryError {

response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &util.RuntimeOptions{})
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, false)
if err != nil {

if NeedRetry(err) {
Expand Down
10 changes: 2 additions & 8 deletions alicloud/resource_alicloud_oos_application_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,10 @@ func testSweepOOSApplication(region string) error {
request["MaxResults"] = PageSizeXLarge

var response map[string]interface{}
conn, err := client.NewOosClient()
if err != nil {
log.Printf("[ERROR] %s get an error: %#v", action, err)
}
for {
runtime := util.RuntimeOptions{}
runtime.SetAutoretry(true)
wait := incrementalWait(3*time.Second, 3*time.Second)
err = resource.Retry(1*time.Minute, func() *resource.RetryError {
response, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &runtime)
response, err = client.RpcPost("oos", "2019-06-01", action, nil, request, true)
if err != nil {
if NeedRetry(err) {
wait()
Expand Down Expand Up @@ -100,7 +94,7 @@ func testSweepOOSApplication(region string) error {
request := map[string]interface{}{
"Name": item["Name"],
}
_, err = conn.DoRequest(StringPointer(action), nil, StringPointer("POST"), StringPointer("2019-06-01"), StringPointer("AK"), nil, request, &util.RuntimeOptions{})
_, err = client.RpcPost("oos", "2019-06-01", action, nil, request, false)
if err != nil {
log.Printf("[ERROR] Failed to delete OOS Application (%s): %s", item["Name"].(string), err)
}
Expand Down
Loading

0 comments on commit aa90cb5

Please sign in to comment.