Skip to content

Commit f86d3d8

Browse files
authored
Merge pull request #29915 from hashicorp/b-variant_name-generation
`r/aws_sagemaker_endpoint_configuration`: Fix `variant_name` generation when unset
2 parents 9b0cd00 + a1b316a commit f86d3d8

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

.changelog/29915.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
resource/aws_sagemaker_endpoint_configuration: Fix `variant_name` generation when unset
3+
```

internal/service/sagemaker/endpoint_configuration.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -619,8 +619,8 @@ func expandProductionVariants(configured []interface{}) []*sagemaker.ProductionV
619619
l.InstanceType = aws.String(v)
620620
}
621621

622-
if v, ok := data["variant_name"]; ok {
623-
l.VariantName = aws.String(v.(string))
622+
if v, ok := data["variant_name"].(string); ok && v != "" {
623+
l.VariantName = aws.String(v)
624624
} else {
625625
l.VariantName = aws.String(resource.UniqueId())
626626
}

internal/service/sagemaker/endpoint_configuration_test.go

+42
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,33 @@ func TestAccSageMakerEndpointConfiguration_ProductionVariants_acceleratorType(t
179179
})
180180
}
181181

182+
func TestAccSageMakerEndpointConfiguration_ProductionVariants_variantNameGenerated(t *testing.T) {
183+
ctx := acctest.Context(t)
184+
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
185+
resourceName := "aws_sagemaker_endpoint_configuration.test"
186+
187+
resource.ParallelTest(t, resource.TestCase{
188+
PreCheck: func() { acctest.PreCheck(t) },
189+
ErrorCheck: acctest.ErrorCheck(t, sagemaker.EndpointsID),
190+
ProtoV5ProviderFactories: acctest.ProtoV5ProviderFactories,
191+
CheckDestroy: testAccCheckEndpointConfigurationDestroy(ctx),
192+
Steps: []resource.TestStep{
193+
{
194+
Config: testAccEndpointConfigurationConfig_productionVariantVariantNameGenerated(rName),
195+
Check: resource.ComposeTestCheckFunc(
196+
testAccCheckEndpointConfigurationExists(ctx, resourceName),
197+
resource.TestCheckResourceAttrSet(resourceName, "production_variants.0.variant_name"),
198+
),
199+
},
200+
{
201+
ResourceName: resourceName,
202+
ImportState: true,
203+
ImportStateVerify: true,
204+
},
205+
},
206+
})
207+
}
208+
182209
func TestAccSageMakerEndpointConfiguration_kmsKeyID(t *testing.T) {
183210
ctx := acctest.Context(t)
184211
rName := sdkacctest.RandomWithPrefix(acctest.ResourcePrefix)
@@ -599,6 +626,21 @@ resource "aws_sagemaker_endpoint_configuration" "test" {
599626
`, rName))
600627
}
601628

629+
func testAccEndpointConfigurationConfig_productionVariantVariantNameGenerated(rName string) string {
630+
return acctest.ConfigCompose(testAccEndpointConfigurationConfig_base(rName), fmt.Sprintf(`
631+
resource "aws_sagemaker_endpoint_configuration" "test" {
632+
name = %[1]q
633+
634+
production_variants {
635+
model_name = aws_sagemaker_model.test.name
636+
initial_instance_count = 2
637+
instance_type = "ml.t2.medium"
638+
initial_variant_weight = 1
639+
}
640+
}
641+
`, rName))
642+
}
643+
602644
func testAccEndpointConfigurationConfig_kmsKeyID(rName string) string {
603645
return acctest.ConfigCompose(testAccEndpointConfigurationConfig_base(rName), fmt.Sprintf(`
604646
resource "aws_sagemaker_endpoint_configuration" "test" {

0 commit comments

Comments
 (0)