@@ -1317,6 +1317,126 @@ func TestAccKinesisAnalyticsV2Application_FlinkApplication_snapshotToggleWhenSki
1317
1317
})
1318
1318
}
1319
1319
1320
+ func TestAccKinesisAnalyticsV2Application_FlinkApplication_updateRestorable (t * testing.T ) {
1321
+ ctx := acctest .Context (t )
1322
+ var v awstypes.ApplicationDetail
1323
+ resourceName := "aws_kinesisanalyticsv2_application.test"
1324
+ iamRoleResourceName := "aws_iam_role.test.0"
1325
+ s3BucketResourceName := "aws_s3_bucket.test"
1326
+ s3Object1ResourceName := "aws_s3_object.test.0"
1327
+ s3Object2ResourceName := "aws_s3_object.test.1"
1328
+ rName := sdkacctest .RandomWithPrefix (acctest .ResourcePrefix )
1329
+
1330
+ resource .ParallelTest (t , resource.TestCase {
1331
+ PreCheck : func () { acctest .PreCheck (ctx , t ); testAccPreCheck (ctx , t ) },
1332
+ ErrorCheck : acctest .ErrorCheck (t , names .KinesisAnalyticsV2ServiceID ),
1333
+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories ,
1334
+ CheckDestroy : testAccCheckApplicationDestroy (ctx ),
1335
+ Steps : []resource.TestStep {
1336
+ {
1337
+ Config : testAccApplicationConfig_startRestorableSnapshotFlink (rName ),
1338
+ Check : resource .ComposeTestCheckFunc (
1339
+ testAccCheckApplicationExists (ctx , resourceName , & v ),
1340
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.#" , "1" ),
1341
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.#" , "1" ),
1342
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.0.code_content.#" , "1" ),
1343
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.#" , "1" ),
1344
+ resource .TestCheckResourceAttrPair (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.0.bucket_arn" , s3BucketResourceName , names .AttrARN ),
1345
+ resource .TestCheckResourceAttrPair (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.0.file_key" , s3Object1ResourceName , names .AttrKey ),
1346
+ resource .TestCheckResourceAttrPair (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.0.object_version" , s3Object1ResourceName , "version_id" ),
1347
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.0.code_content_type" , "ZIPFILE" ),
1348
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_snapshot_configuration.#" , "1" ),
1349
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_snapshot_configuration.0.snapshots_enabled" , acctest .CtTrue ),
1350
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.environment_properties.#" , "1" ),
1351
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.#" , "1" ),
1352
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.#" , "1" ),
1353
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.checkpointing_enabled" , acctest .CtTrue ),
1354
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.checkpoint_interval" , "60000" ),
1355
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.configuration_type" , "DEFAULT" ),
1356
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.min_pause_between_checkpoints" , "5000" ),
1357
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.#" , "1" ),
1358
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.0.configuration_type" , "CUSTOM" ),
1359
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.0.log_level" , "DEBUG" ),
1360
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.0.metrics_level" , "TASK" ),
1361
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.#" , "1" ),
1362
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.auto_scaling_enabled" , acctest .CtTrue ),
1363
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.configuration_type" , "CUSTOM" ),
1364
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.parallelism" , "10" ),
1365
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.parallelism_per_kpu" , "4" ),
1366
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.application_restore_configuration.#" , "1" ),
1367
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.application_restore_configuration.0.application_restore_type" , "RESTORE_FROM_LATEST_SNAPSHOT" ),
1368
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.flink_run_configuration.#" , "1" ),
1369
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.flink_run_configuration.0.allow_non_restored_state" , acctest .CtTrue ),
1370
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.sql_application_configuration.#" , "0" ),
1371
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.vpc_configuration.#" , "0" ),
1372
+ acctest .CheckResourceAttrRegionalARN (ctx , resourceName , names .AttrARN , "kinesisanalytics" , fmt .Sprintf ("application/%s" , rName )),
1373
+ resource .TestCheckResourceAttr (resourceName , "cloudwatch_logging_options.#" , "0" ),
1374
+ resource .TestCheckResourceAttrSet (resourceName , "create_timestamp" ),
1375
+ resource .TestCheckResourceAttr (resourceName , names .AttrDescription , "" ),
1376
+ resource .TestCheckNoResourceAttr (resourceName , "force_stop" ),
1377
+ resource .TestCheckResourceAttrSet (resourceName , "last_update_timestamp" ),
1378
+ resource .TestCheckResourceAttr (resourceName , names .AttrName , rName ),
1379
+ resource .TestCheckResourceAttr (resourceName , "runtime_environment" , "FLINK-1_20" ),
1380
+ resource .TestCheckResourceAttrPair (resourceName , "service_execution_role" , iamRoleResourceName , names .AttrARN ),
1381
+ resource .TestCheckResourceAttr (resourceName , names .AttrStatus , "RUNNING" ),
1382
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "0" ),
1383
+ resource .TestCheckResourceAttr (resourceName , "version_id" , "1" ),
1384
+ ),
1385
+ },
1386
+ {
1387
+ Config : testAccApplicationConfig_startUpdatedRestorableSnapshotFlink (rName ),
1388
+ Check : resource .ComposeTestCheckFunc (
1389
+ testAccCheckApplicationExists (ctx , resourceName , & v ),
1390
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.#" , "1" ),
1391
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.#" , "1" ),
1392
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.0.code_content.#" , "1" ),
1393
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.#" , "1" ),
1394
+ resource .TestCheckResourceAttrPair (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.0.bucket_arn" , s3BucketResourceName , names .AttrARN ),
1395
+ resource .TestCheckResourceAttrPair (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.0.file_key" , s3Object2ResourceName , names .AttrKey ),
1396
+ resource .TestCheckResourceAttrPair (resourceName , "application_configuration.0.application_code_configuration.0.code_content.0.s3_content_location.0.object_version" , s3Object2ResourceName , "version_id" ),
1397
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_code_configuration.0.code_content_type" , "ZIPFILE" ),
1398
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_snapshot_configuration.#" , "1" ),
1399
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.application_snapshot_configuration.0.snapshots_enabled" , acctest .CtTrue ),
1400
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.environment_properties.#" , "1" ),
1401
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.#" , "1" ),
1402
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.#" , "1" ),
1403
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.checkpointing_enabled" , acctest .CtTrue ),
1404
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.checkpoint_interval" , "60000" ),
1405
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.configuration_type" , "DEFAULT" ),
1406
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.checkpoint_configuration.0.min_pause_between_checkpoints" , "5000" ),
1407
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.#" , "1" ),
1408
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.0.configuration_type" , "CUSTOM" ),
1409
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.0.log_level" , "DEBUG" ),
1410
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.monitoring_configuration.0.metrics_level" , "TASK" ),
1411
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.#" , "1" ),
1412
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.auto_scaling_enabled" , acctest .CtTrue ),
1413
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.configuration_type" , "CUSTOM" ),
1414
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.parallelism" , "10" ),
1415
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.flink_application_configuration.0.parallelism_configuration.0.parallelism_per_kpu" , "4" ),
1416
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.application_restore_configuration.#" , "1" ),
1417
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.application_restore_configuration.0.application_restore_type" , "RESTORE_FROM_LATEST_SNAPSHOT" ),
1418
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.flink_run_configuration.#" , "1" ),
1419
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.run_configuration.0.flink_run_configuration.0.allow_non_restored_state" , acctest .CtTrue ),
1420
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.sql_application_configuration.#" , "0" ),
1421
+ resource .TestCheckResourceAttr (resourceName , "application_configuration.0.vpc_configuration.#" , "0" ),
1422
+ acctest .CheckResourceAttrRegionalARN (ctx , resourceName , names .AttrARN , "kinesisanalytics" , fmt .Sprintf ("application/%s" , rName )),
1423
+ resource .TestCheckResourceAttr (resourceName , "cloudwatch_logging_options.#" , "0" ),
1424
+ resource .TestCheckResourceAttrSet (resourceName , "create_timestamp" ),
1425
+ resource .TestCheckResourceAttr (resourceName , names .AttrDescription , "" ),
1426
+ resource .TestCheckNoResourceAttr (resourceName , "force_stop" ),
1427
+ resource .TestCheckResourceAttrSet (resourceName , "last_update_timestamp" ),
1428
+ resource .TestCheckResourceAttr (resourceName , names .AttrName , rName ),
1429
+ resource .TestCheckResourceAttr (resourceName , "runtime_environment" , "FLINK-1_20" ),
1430
+ resource .TestCheckResourceAttrPair (resourceName , "service_execution_role" , iamRoleResourceName , names .AttrARN ),
1431
+ resource .TestCheckResourceAttr (resourceName , names .AttrStatus , "RUNNING" ),
1432
+ resource .TestCheckResourceAttr (resourceName , acctest .CtTagsPercent , "0" ),
1433
+ resource .TestCheckResourceAttr (resourceName , "version_id" , "2" ),
1434
+ ),
1435
+ },
1436
+ },
1437
+ })
1438
+ }
1439
+
1320
1440
func TestAccKinesisAnalyticsV2Application_FlinkApplicationStartApplication_onCreate (t * testing.T ) {
1321
1441
ctx := acctest .Context (t )
1322
1442
var v awstypes.ApplicationDetail
@@ -5875,3 +5995,165 @@ resource "aws_kinesisanalyticsv2_application" "test" {
5875
5995
}
5876
5996
` , rName , snapshotsEnabled ))
5877
5997
}
5998
+
5999
+ func testAccApplicationConfig_startRestorableSnapshotFlink (rName string ) string {
6000
+ return acctest .ConfigCompose (
6001
+ testAccApplicationConfig_baseServiceExecutionIAMRole (rName ),
6002
+ testAccApplicationConfig_baseFlinkApplication (rName ),
6003
+ fmt .Sprintf (`
6004
+ resource "aws_kinesisanalyticsv2_application" "test" {
6005
+ name = %[1]q
6006
+ runtime_environment = "FLINK-1_20"
6007
+ service_execution_role = aws_iam_role.test[0].arn
6008
+
6009
+ application_configuration {
6010
+ application_code_configuration {
6011
+ code_content {
6012
+ s3_content_location {
6013
+ bucket_arn = aws_s3_bucket.test.arn
6014
+ file_key = aws_s3_object.test[0].key
6015
+ object_version = aws_s3_object.test[0].version_id
6016
+ }
6017
+ }
6018
+
6019
+ code_content_type = "ZIPFILE"
6020
+ }
6021
+
6022
+ application_snapshot_configuration {
6023
+ snapshots_enabled = true
6024
+ }
6025
+
6026
+ environment_properties {
6027
+ property_group {
6028
+ property_group_id = "InputStream0"
6029
+
6030
+ property_map = {
6031
+ "aws.region" = data.aws_region.current.name
6032
+ "stream.name" = aws_kinesis_stream.input.name
6033
+ }
6034
+ }
6035
+
6036
+ property_group {
6037
+ property_group_id = "OutputStream0"
6038
+
6039
+ property_map = {
6040
+ "aws.region" = data.aws_region.current.name
6041
+ "stream.name" = aws_kinesis_stream.output.name
6042
+ }
6043
+ }
6044
+ }
6045
+
6046
+ flink_application_configuration {
6047
+ checkpoint_configuration {
6048
+ configuration_type = "DEFAULT"
6049
+ }
6050
+
6051
+ monitoring_configuration {
6052
+ configuration_type = "CUSTOM"
6053
+ log_level = "DEBUG"
6054
+ metrics_level = "TASK"
6055
+ }
6056
+
6057
+ parallelism_configuration {
6058
+ auto_scaling_enabled = true
6059
+ configuration_type = "CUSTOM"
6060
+ parallelism = 10
6061
+ parallelism_per_kpu = 4
6062
+ }
6063
+ }
6064
+
6065
+ run_configuration {
6066
+ application_restore_configuration {
6067
+ application_restore_type = "RESTORE_FROM_LATEST_SNAPSHOT"
6068
+ }
6069
+ flink_run_configuration {
6070
+ allow_non_restored_state = true
6071
+ }
6072
+ }
6073
+ }
6074
+
6075
+ start_application = true
6076
+ }
6077
+ ` , rName ))
6078
+ }
6079
+
6080
+ func testAccApplicationConfig_startUpdatedRestorableSnapshotFlink (rName string ) string {
6081
+ return acctest .ConfigCompose (
6082
+ testAccApplicationConfig_baseServiceExecutionIAMRole (rName ),
6083
+ testAccApplicationConfig_baseFlinkApplication (rName ),
6084
+ fmt .Sprintf (`
6085
+ resource "aws_kinesisanalyticsv2_application" "test" {
6086
+ name = %[1]q
6087
+ runtime_environment = "FLINK-1_20"
6088
+ service_execution_role = aws_iam_role.test[0].arn
6089
+
6090
+ application_configuration {
6091
+ application_code_configuration {
6092
+ code_content {
6093
+ s3_content_location {
6094
+ bucket_arn = aws_s3_bucket.test.arn
6095
+ file_key = aws_s3_object.test[1].key
6096
+ object_version = aws_s3_object.test[1].version_id
6097
+ }
6098
+ }
6099
+
6100
+ code_content_type = "ZIPFILE"
6101
+ }
6102
+
6103
+ application_snapshot_configuration {
6104
+ snapshots_enabled = true
6105
+ }
6106
+
6107
+ environment_properties {
6108
+ property_group {
6109
+ property_group_id = "InputStream0"
6110
+
6111
+ property_map = {
6112
+ "aws.region" = data.aws_region.current.name
6113
+ "stream.name" = aws_kinesis_stream.input.name
6114
+ }
6115
+ }
6116
+
6117
+ property_group {
6118
+ property_group_id = "OutputStream0"
6119
+
6120
+ property_map = {
6121
+ "aws.region" = data.aws_region.current.name
6122
+ "stream.name" = aws_kinesis_stream.output.name
6123
+ }
6124
+ }
6125
+ }
6126
+
6127
+ flink_application_configuration {
6128
+ checkpoint_configuration {
6129
+ configuration_type = "DEFAULT"
6130
+ }
6131
+
6132
+ monitoring_configuration {
6133
+ configuration_type = "CUSTOM"
6134
+ log_level = "DEBUG"
6135
+ metrics_level = "TASK"
6136
+ }
6137
+
6138
+ parallelism_configuration {
6139
+ auto_scaling_enabled = true
6140
+ configuration_type = "CUSTOM"
6141
+ parallelism = 10
6142
+ parallelism_per_kpu = 4
6143
+ }
6144
+ }
6145
+
6146
+ run_configuration {
6147
+ application_restore_configuration {
6148
+ application_restore_type = "RESTORE_FROM_LATEST_SNAPSHOT"
6149
+ }
6150
+ flink_run_configuration {
6151
+ allow_non_restored_state = true
6152
+ }
6153
+ }
6154
+ }
6155
+
6156
+ start_application = true
6157
+ }
6158
+ ` , rName ))
6159
+ }
0 commit comments