Skip to content

Commit 2224bf8

Browse files
authored
Merge pull request #44449 from tabito-hara/b-aws_servicequotas_service_quota-add_error_handling
[bugfix] d/aws_servicequotas_service_quota: Fix panic when non-existing `quota_name` is specified
2 parents 2c0175a + baa76b2 commit 2224bf8

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

.changelog/44449.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
data-source/aws_servicequotas_service_quota: Fixed a panic that occurred when a non-existing `quota_name` was provided
3+
```

internal/service/servicequotas/service_quota_data_source.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ func dataSourceServiceQuotaRead(ctx context.Context, d *schema.ResourceData, met
128128
// A Service Quota will always have a default value, but will only have a current value if it has been set.
129129
if quotaName != "" {
130130
defaultQuota, err = findDefaultServiceQuotaByServiceCodeAndQuotaName(ctx, conn, serviceCode, quotaName)
131-
quotaCode = aws.ToString(defaultQuota.QuotaCode)
132131
} else {
133132
defaultQuota, err = findDefaultServiceQuotaByServiceCodeAndQuotaCode(ctx, conn, serviceCode, quotaCode)
134133
}
@@ -137,6 +136,10 @@ func dataSourceServiceQuotaRead(ctx context.Context, d *schema.ResourceData, met
137136
return sdkdiag.AppendFromErr(diags, tfresource.SingularDataSourceFindError("Service Quotas Service Quota", err))
138137
}
139138

139+
if quotaName != "" {
140+
quotaCode = aws.ToString(defaultQuota.QuotaCode)
141+
}
142+
140143
arn := aws.ToString(defaultQuota.QuotaArn)
141144
d.SetId(arn)
142145
d.Set("adjustable", defaultQuota.Adjustable)

internal/service/servicequotas/service_quota_data_source_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,10 @@ func TestAccServiceQuotasServiceQuotaDataSource_quotaName(t *testing.T) {
151151
ErrorCheck: acctest.ErrorCheck(t, names.ServiceQuotasServiceID),
152152
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
153153
Steps: []resource.TestStep{
154+
{
155+
Config: testAccServiceQuotaDataSourceConfig_name("vpc", setQuotaQuotaName+"nonexist"),
156+
ExpectError: regexache.MustCompile(`Service Quotas Service Quota`),
157+
},
154158
{
155159
Config: testAccServiceQuotaDataSourceConfig_name("vpc", setQuotaQuotaName),
156160
Check: resource.ComposeAggregateTestCheckFunc(

0 commit comments

Comments
 (0)