diff --git a/alicloud/resource_alicloud_kms_secret.go b/alicloud/resource_alicloud_kms_secret.go index c362c2999648..ebba7b8f219c 100644 --- a/alicloud/resource_alicloud_kms_secret.go +++ b/alicloud/resource_alicloud_kms_secret.go @@ -253,6 +253,10 @@ func resourceAliCloudKmsSecretRead(d *schema.ResourceData, meta interface{}) err if dkmsInstanceId != "" { policy, err := kmsService.DescribeKmsSecretPolicy(d.Id()) if err != nil { + if !d.IsNewResource() && NotFoundError(err) { + return nil + } + return WrapError(err) } diff --git a/alicloud/resource_alicloud_kms_secret_test.go b/alicloud/resource_alicloud_kms_secret_test.go index 2b84244046e9..694f7c35dde3 100644 --- a/alicloud/resource_alicloud_kms_secret_test.go +++ b/alicloud/resource_alicloud_kms_secret_test.go @@ -672,17 +672,16 @@ func AliCloudKmsSecretBasicDependence1(name string) string { data "alicloud_zones" "default" { } - data "alicloud_instance_types" "default" { - availability_zone = data.alicloud_zones.default.zones.0.id - instance_type_family = "ecs.sn1ne" - } - data "alicloud_images" "default" { - name_regex = "^ubuntu_[0-9]+_[0-9]+_x64*" most_recent = true owners = "system" } + data "alicloud_instance_types" "default" { + availability_zone = data.alicloud_zones.default.zones.0.id + image_id = data.alicloud_images.default.images.0.id + } + data "alicloud_vpcs" "default" { name_regex = "^default-NODELETING$" } diff --git a/alicloud/service_alicloud_kms.go b/alicloud/service_alicloud_kms.go index 5e380f1395cc..60214e5b84c2 100644 --- a/alicloud/service_alicloud_kms.go +++ b/alicloud/service_alicloud_kms.go @@ -293,6 +293,9 @@ func (s *KmsService) DescribeKmsSecretPolicy(id string) (object map[string]inter addDebug(action, response, request) if err != nil { + if IsExpectedErrors(err, []string{"Forbidden.ResourceNotFound"}) { + return object, WrapErrorf(Error(GetNotFoundMessage("Kms:Secret", id)), NotFoundMsg, ProviderERROR, fmt.Sprint(response["RequestId"])) + } return object, WrapErrorf(err, DefaultErrorMsg, id, action, AlibabaCloudSdkGoERROR) }