@@ -237,6 +237,38 @@ func TestAccStorageGatewaySMBFileShare_defaultStorageClass(t *testing.T) {
237
237
})
238
238
}
239
239
240
+ func TestAccStorageGatewaySMBFileShare_encryptedUpdate (t * testing.T ) {
241
+ ctx := acctest .Context (t )
242
+ var smbFileShare storagegateway.SMBFileShareInfo
243
+ rName := sdkacctest .RandomWithPrefix (acctest .ResourcePrefix )
244
+ resourceName := "aws_storagegateway_smb_file_share.test"
245
+
246
+ resource .ParallelTest (t , resource.TestCase {
247
+ PreCheck : func () { acctest .PreCheck (ctx , t ) },
248
+ ErrorCheck : acctest .ErrorCheck (t , storagegateway .EndpointsID ),
249
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
250
+ CheckDestroy : testAccCheckSMBFileShareDestroy (ctx ),
251
+ Steps : []resource.TestStep {
252
+ {
253
+ Config : testAccSMBFileShareConfig_encryptedUpdate (rName , false ),
254
+ Check : resource .ComposeTestCheckFunc (
255
+ testAccCheckSMBFileShareExists (ctx , resourceName , & smbFileShare ),
256
+ resource .TestCheckResourceAttr (resourceName , "read_only" , "false" ),
257
+ resource .TestCheckResourceAttr (resourceName , "kms_encrypted" , "true" ),
258
+ ),
259
+ },
260
+ {
261
+ Config : testAccSMBFileShareConfig_encryptedUpdate (rName , true ),
262
+ Check : resource .ComposeTestCheckFunc (
263
+ testAccCheckSMBFileShareExists (ctx , resourceName , & smbFileShare ),
264
+ resource .TestCheckResourceAttr (resourceName , "read_only" , "true" ),
265
+ resource .TestCheckResourceAttr (resourceName , "kms_encrypted" , "true" ),
266
+ ),
267
+ },
268
+ },
269
+ })
270
+ }
271
+
240
272
func TestAccStorageGatewaySMBFileShare_fileShareName (t * testing.T ) {
241
273
ctx := acctest .Context (t )
242
274
var smbFileShare storagegateway.SMBFileShareInfo
@@ -1117,6 +1149,26 @@ resource "aws_storagegateway_smb_file_share" "test" {
1117
1149
` , defaultStorageClass ))
1118
1150
}
1119
1151
1152
+ func testAccSMBFileShareConfig_encryptedUpdate (rName string , readOnly bool ) string {
1153
+ return acctest .ConfigCompose (testAcc_SMBFileShare_GuestAccessBase (rName ), fmt .Sprintf (`
1154
+ resource "aws_kms_key" "test" {
1155
+ deletion_window_in_days = 7
1156
+ description = "Terraform Acceptance Testing"
1157
+ }
1158
+
1159
+ resource "aws_storagegateway_smb_file_share" "test" {
1160
+ # Use GuestAccess to simplify testing
1161
+ authentication = "GuestAccess"
1162
+ gateway_arn = aws_storagegateway_gateway.test.arn
1163
+ kms_encrypted = true
1164
+ kms_key_arn = aws_kms_key.test.arn
1165
+ location_arn = aws_s3_bucket.test.arn
1166
+ role_arn = aws_iam_role.test.arn
1167
+ read_only = %[1]t
1168
+ }
1169
+ ` , readOnly ))
1170
+ }
1171
+
1120
1172
func testAccSMBFileShareConfig_name (rName , fileShareName string ) string {
1121
1173
return acctest .ConfigCompose (testAcc_SMBFileShare_GuestAccessBase (rName ), fmt .Sprintf (`
1122
1174
resource "aws_storagegateway_smb_file_share" "test" {
0 commit comments