aws-sdk-imagebuilder 1.52.0 → 1.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -435,6 +435,48 @@ module Aws::Imagebuilder
435
435
  req.send_request(options)
436
436
  end
437
437
 
438
+ # Cancel a specific image lifecycle policy runtime instance.
439
+ #
440
+ # @option params [required, String] :lifecycle_execution_id
441
+ # Identifies the specific runtime instance of the image lifecycle to
442
+ # cancel.
443
+ #
444
+ # @option params [required, String] :client_token
445
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
446
+ # the request. For more information, see [Ensuring idempotency][1] in
447
+ # the *Amazon EC2 API Reference*.
448
+ #
449
+ # **A suitable default value is auto-generated.** You should normally
450
+ # not need to pass this option.**
451
+ #
452
+ #
453
+ #
454
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
455
+ #
456
+ # @return [Types::CancelLifecycleExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
457
+ #
458
+ # * {Types::CancelLifecycleExecutionResponse#lifecycle_execution_id #lifecycle_execution_id} => String
459
+ #
460
+ # @example Request syntax with placeholder values
461
+ #
462
+ # resp = client.cancel_lifecycle_execution({
463
+ # lifecycle_execution_id: "LifecycleExecutionId", # required
464
+ # client_token: "ClientToken", # required
465
+ # })
466
+ #
467
+ # @example Response structure
468
+ #
469
+ # resp.lifecycle_execution_id #=> String
470
+ #
471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelLifecycleExecution AWS API Documentation
472
+ #
473
+ # @overload cancel_lifecycle_execution(params = {})
474
+ # @param [Hash] params ({})
475
+ def cancel_lifecycle_execution(params = {}, options = {})
476
+ req = build_request(:cancel_lifecycle_execution, params)
477
+ req.send_request(options)
478
+ end
479
+
438
480
  # Creates a new component that can be used to build, validate, test, and
439
481
  # assess your image. The component is based on a YAML document that you
440
482
  # specify using exactly one of the following methods:
@@ -504,11 +546,17 @@ module Aws::Imagebuilder
504
546
  # The tags that apply to the component.
505
547
  #
506
548
  # @option params [required, String] :client_token
507
- # The idempotency token of the component.
549
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
550
+ # the request. For more information, see [Ensuring idempotency][1] in
551
+ # the *Amazon EC2 API Reference*.
508
552
  #
509
553
  # **A suitable default value is auto-generated.** You should normally
510
554
  # not need to pass this option.**
511
555
  #
556
+ #
557
+ #
558
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
559
+ #
512
560
  # @return [Types::CreateComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
513
561
  #
514
562
  # * {Types::CreateComponentResponse#request_id #request_id} => String
@@ -620,11 +668,17 @@ module Aws::Imagebuilder
620
668
  # Identifies which KMS key is used to encrypt the container image.
621
669
  #
622
670
  # @option params [required, String] :client_token
623
- # The client token used to make this request idempotent.
671
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
672
+ # the request. For more information, see [Ensuring idempotency][1] in
673
+ # the *Amazon EC2 API Reference*.
624
674
  #
625
675
  # **A suitable default value is auto-generated.** You should normally
626
676
  # not need to pass this option.**
627
677
  #
678
+ #
679
+ #
680
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
681
+ #
628
682
  # @return [Types::CreateContainerRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
629
683
  #
630
684
  # * {Types::CreateContainerRecipeResponse#request_id #request_id} => String
@@ -717,11 +771,17 @@ module Aws::Imagebuilder
717
771
  # The tags of the distribution configuration.
718
772
  #
719
773
  # @option params [required, String] :client_token
720
- # The idempotency token of the distribution configuration.
774
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
775
+ # the request. For more information, see [Ensuring idempotency][1] in
776
+ # the *Amazon EC2 API Reference*.
721
777
  #
722
778
  # **A suitable default value is auto-generated.** You should normally
723
779
  # not need to pass this option.**
724
780
  #
781
+ #
782
+ #
783
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
784
+ #
725
785
  # @return [Types::CreateDistributionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
726
786
  #
727
787
  # * {Types::CreateDistributionConfigurationResponse#request_id #request_id} => String
@@ -846,11 +906,17 @@ module Aws::Imagebuilder
846
906
  # The tags of the image.
847
907
  #
848
908
  # @option params [required, String] :client_token
849
- # The idempotency token used to make this request idempotent.
909
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
910
+ # the request. For more information, see [Ensuring idempotency][1] in
911
+ # the *Amazon EC2 API Reference*.
850
912
  #
851
913
  # **A suitable default value is auto-generated.** You should normally
852
914
  # not need to pass this option.**
853
915
  #
916
+ #
917
+ #
918
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
919
+ #
854
920
  # @option params [Types::ImageScanningConfiguration] :image_scanning_configuration
855
921
  # Contains settings for vulnerability scans.
856
922
  #
@@ -945,11 +1011,17 @@ module Aws::Imagebuilder
945
1011
  # The tags of the image pipeline.
946
1012
  #
947
1013
  # @option params [required, String] :client_token
948
- # The idempotency token used to make this request idempotent.
1014
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
1015
+ # the request. For more information, see [Ensuring idempotency][1] in
1016
+ # the *Amazon EC2 API Reference*.
949
1017
  #
950
1018
  # **A suitable default value is auto-generated.** You should normally
951
1019
  # not need to pass this option.**
952
1020
  #
1021
+ #
1022
+ #
1023
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
1024
+ #
953
1025
  # @option params [Types::ImageScanningConfiguration] :image_scanning_configuration
954
1026
  # Contains settings for vulnerability scans.
955
1027
  #
@@ -1063,11 +1135,17 @@ module Aws::Imagebuilder
1063
1135
  # instances.
1064
1136
  #
1065
1137
  # @option params [required, String] :client_token
1066
- # The idempotency token used to make this request idempotent.
1138
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
1139
+ # the request. For more information, see [Ensuring idempotency][1] in
1140
+ # the *Amazon EC2 API Reference*.
1067
1141
  #
1068
1142
  # **A suitable default value is auto-generated.** You should normally
1069
1143
  # not need to pass this option.**
1070
1144
  #
1145
+ #
1146
+ #
1147
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
1148
+ #
1071
1149
  # @return [Types::CreateImageRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1072
1150
  #
1073
1151
  # * {Types::CreateImageRecipeResponse#request_id #request_id} => String
@@ -1199,11 +1277,17 @@ module Aws::Imagebuilder
1199
1277
  # The tags of the infrastructure configuration.
1200
1278
  #
1201
1279
  # @option params [required, String] :client_token
1202
- # The idempotency token used to make this request idempotent.
1280
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
1281
+ # the request. For more information, see [Ensuring idempotency][1] in
1282
+ # the *Amazon EC2 API Reference*.
1203
1283
  #
1204
1284
  # **A suitable default value is auto-generated.** You should normally
1205
1285
  # not need to pass this option.**
1206
1286
  #
1287
+ #
1288
+ #
1289
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
1290
+ #
1207
1291
  # @return [Types::CreateInfrastructureConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1208
1292
  #
1209
1293
  # * {Types::CreateInfrastructureConfigurationResponse#request_id #request_id} => String
@@ -1256,6 +1340,126 @@ module Aws::Imagebuilder
1256
1340
  req.send_request(options)
1257
1341
  end
1258
1342
 
1343
+ # Create a lifecycle policy resource.
1344
+ #
1345
+ # @option params [required, String] :name
1346
+ # The name of the lifecycle policy to create.
1347
+ #
1348
+ # @option params [String] :description
1349
+ # Optional description for the lifecycle policy.
1350
+ #
1351
+ # @option params [String] :status
1352
+ # Indicates whether the lifecycle policy resource is enabled.
1353
+ #
1354
+ # @option params [required, String] :execution_role
1355
+ # The role name or Amazon Resource Name (ARN) for the IAM role that
1356
+ # grants Image Builder access to run lifecycle actions.
1357
+ #
1358
+ # @option params [required, String] :resource_type
1359
+ # The type of Image Builder resource that the lifecycle policy applies
1360
+ # to.
1361
+ #
1362
+ # @option params [required, Array<Types::LifecyclePolicyDetail>] :policy_details
1363
+ # Configuration details for the lifecycle policy rules.
1364
+ #
1365
+ # @option params [required, Types::LifecyclePolicyResourceSelection] :resource_selection
1366
+ # Selection criteria for the resources that the lifecycle policy applies
1367
+ # to.
1368
+ #
1369
+ # @option params [Hash<String,String>] :tags
1370
+ # Tags to apply to the lifecycle policy resource.
1371
+ #
1372
+ # @option params [required, String] :client_token
1373
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
1374
+ # the request. For more information, see [Ensuring idempotency][1] in
1375
+ # the *Amazon EC2 API Reference*.
1376
+ #
1377
+ # **A suitable default value is auto-generated.** You should normally
1378
+ # not need to pass this option.**
1379
+ #
1380
+ #
1381
+ #
1382
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
1383
+ #
1384
+ # @return [Types::CreateLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1385
+ #
1386
+ # * {Types::CreateLifecyclePolicyResponse#client_token #client_token} => String
1387
+ # * {Types::CreateLifecyclePolicyResponse#lifecycle_policy_arn #lifecycle_policy_arn} => String
1388
+ #
1389
+ # @example Request syntax with placeholder values
1390
+ #
1391
+ # resp = client.create_lifecycle_policy({
1392
+ # name: "ResourceName", # required
1393
+ # description: "NonEmptyString",
1394
+ # status: "DISABLED", # accepts DISABLED, ENABLED
1395
+ # execution_role: "RoleNameOrArn", # required
1396
+ # resource_type: "AMI_IMAGE", # required, accepts AMI_IMAGE, CONTAINER_IMAGE
1397
+ # policy_details: [ # required
1398
+ # {
1399
+ # action: { # required
1400
+ # type: "DELETE", # required, accepts DELETE, DEPRECATE, DISABLE
1401
+ # include_resources: {
1402
+ # amis: false,
1403
+ # snapshots: false,
1404
+ # containers: false,
1405
+ # },
1406
+ # },
1407
+ # filter: { # required
1408
+ # type: "AGE", # required, accepts AGE, COUNT
1409
+ # value: 1, # required
1410
+ # unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
1411
+ # retain_at_least: 1,
1412
+ # },
1413
+ # exclusion_rules: {
1414
+ # tag_map: {
1415
+ # "TagKey" => "TagValue",
1416
+ # },
1417
+ # amis: {
1418
+ # is_public: false,
1419
+ # regions: ["NonEmptyString"],
1420
+ # shared_accounts: ["AccountId"],
1421
+ # last_launched: {
1422
+ # value: 1, # required
1423
+ # unit: "DAYS", # required, accepts DAYS, WEEKS, MONTHS, YEARS
1424
+ # },
1425
+ # tag_map: {
1426
+ # "TagKey" => "TagValue",
1427
+ # },
1428
+ # },
1429
+ # },
1430
+ # },
1431
+ # ],
1432
+ # resource_selection: { # required
1433
+ # recipes: [
1434
+ # {
1435
+ # name: "ResourceName", # required
1436
+ # semantic_version: "VersionNumber", # required
1437
+ # },
1438
+ # ],
1439
+ # tag_map: {
1440
+ # "TagKey" => "TagValue",
1441
+ # },
1442
+ # },
1443
+ # tags: {
1444
+ # "TagKey" => "TagValue",
1445
+ # },
1446
+ # client_token: "ClientToken", # required
1447
+ # })
1448
+ #
1449
+ # @example Response structure
1450
+ #
1451
+ # resp.client_token #=> String
1452
+ # resp.lifecycle_policy_arn #=> String
1453
+ #
1454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateLifecyclePolicy AWS API Documentation
1455
+ #
1456
+ # @overload create_lifecycle_policy(params = {})
1457
+ # @param [Hash] params ({})
1458
+ def create_lifecycle_policy(params = {}, options = {})
1459
+ req = build_request(:create_lifecycle_policy, params)
1460
+ req.send_request(options)
1461
+ end
1462
+
1259
1463
  # Deletes a component build version.
1260
1464
  #
1261
1465
  # @option params [required, String] :component_build_version_arn
@@ -1488,6 +1692,35 @@ module Aws::Imagebuilder
1488
1692
  req.send_request(options)
1489
1693
  end
1490
1694
 
1695
+ # Delete the specified lifecycle policy resource.
1696
+ #
1697
+ # @option params [required, String] :lifecycle_policy_arn
1698
+ # The Amazon Resource Name (ARN) of the lifecycle policy resource to
1699
+ # delete.
1700
+ #
1701
+ # @return [Types::DeleteLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1702
+ #
1703
+ # * {Types::DeleteLifecyclePolicyResponse#lifecycle_policy_arn #lifecycle_policy_arn} => String
1704
+ #
1705
+ # @example Request syntax with placeholder values
1706
+ #
1707
+ # resp = client.delete_lifecycle_policy({
1708
+ # lifecycle_policy_arn: "LifecyclePolicyArn", # required
1709
+ # })
1710
+ #
1711
+ # @example Response structure
1712
+ #
1713
+ # resp.lifecycle_policy_arn #=> String
1714
+ #
1715
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteLifecyclePolicy AWS API Documentation
1716
+ #
1717
+ # @overload delete_lifecycle_policy(params = {})
1718
+ # @param [Hash] params ({})
1719
+ def delete_lifecycle_policy(params = {}, options = {})
1720
+ req = build_request(:delete_lifecycle_policy, params)
1721
+ req.send_request(options)
1722
+ end
1723
+
1491
1724
  # Gets a component object.
1492
1725
  #
1493
1726
  # @option params [required, String] :component_build_version_arn
@@ -1775,7 +2008,7 @@ module Aws::Imagebuilder
1775
2008
  # resp.image.platform #=> String, one of "Windows", "Linux"
1776
2009
  # resp.image.enhanced_image_metadata_enabled #=> Boolean
1777
2010
  # resp.image.os_version #=> String
1778
- # resp.image.state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
2011
+ # resp.image.state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", "DISABLED"
1779
2012
  # resp.image.state.reason #=> String
1780
2013
  # resp.image.image_recipe.arn #=> String
1781
2014
  # resp.image.image_recipe.type #=> String, one of "AMI", "DOCKER"
@@ -1925,7 +2158,7 @@ module Aws::Imagebuilder
1925
2158
  # resp.image.output_resources.amis[0].image #=> String
1926
2159
  # resp.image.output_resources.amis[0].name #=> String
1927
2160
  # resp.image.output_resources.amis[0].description #=> String
1928
- # resp.image.output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
2161
+ # resp.image.output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", "DISABLED"
1929
2162
  # resp.image.output_resources.amis[0].state.reason #=> String
1930
2163
  # resp.image.output_resources.amis[0].account_id #=> String
1931
2164
  # resp.image.output_resources.containers #=> Array
@@ -1942,6 +2175,8 @@ module Aws::Imagebuilder
1942
2175
  # resp.image.image_scanning_configuration.ecr_configuration.repository_name #=> String
1943
2176
  # resp.image.image_scanning_configuration.ecr_configuration.container_tags #=> Array
1944
2177
  # resp.image.image_scanning_configuration.ecr_configuration.container_tags[0] #=> String
2178
+ # resp.image.deprecation_time #=> Time
2179
+ # resp.image.lifecycle_execution_id #=> String
1945
2180
  #
1946
2181
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage AWS API Documentation
1947
2182
  #
@@ -2183,6 +2418,106 @@ module Aws::Imagebuilder
2183
2418
  req.send_request(options)
2184
2419
  end
2185
2420
 
2421
+ # Get the runtime information that was logged for a specific runtime
2422
+ # instance of the lifecycle policy.
2423
+ #
2424
+ # @option params [required, String] :lifecycle_execution_id
2425
+ # Use the unique identifier for a runtime instance of the lifecycle
2426
+ # policy to get runtime details.
2427
+ #
2428
+ # @return [Types::GetLifecycleExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2429
+ #
2430
+ # * {Types::GetLifecycleExecutionResponse#lifecycle_execution #lifecycle_execution} => Types::LifecycleExecution
2431
+ #
2432
+ # @example Request syntax with placeholder values
2433
+ #
2434
+ # resp = client.get_lifecycle_execution({
2435
+ # lifecycle_execution_id: "LifecycleExecutionId", # required
2436
+ # })
2437
+ #
2438
+ # @example Response structure
2439
+ #
2440
+ # resp.lifecycle_execution.lifecycle_execution_id #=> String
2441
+ # resp.lifecycle_execution.lifecycle_policy_arn #=> String
2442
+ # resp.lifecycle_execution.resources_impacted_summary.has_impacted_resources #=> Boolean
2443
+ # resp.lifecycle_execution.state.status #=> String, one of "IN_PROGRESS", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS"
2444
+ # resp.lifecycle_execution.state.reason #=> String
2445
+ # resp.lifecycle_execution.start_time #=> Time
2446
+ # resp.lifecycle_execution.end_time #=> Time
2447
+ #
2448
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetLifecycleExecution AWS API Documentation
2449
+ #
2450
+ # @overload get_lifecycle_execution(params = {})
2451
+ # @param [Hash] params ({})
2452
+ def get_lifecycle_execution(params = {}, options = {})
2453
+ req = build_request(:get_lifecycle_execution, params)
2454
+ req.send_request(options)
2455
+ end
2456
+
2457
+ # Get details for the specified image lifecycle policy.
2458
+ #
2459
+ # @option params [required, String] :lifecycle_policy_arn
2460
+ # Specifies the Amazon Resource Name (ARN) of the image lifecycle policy
2461
+ # resource to get.
2462
+ #
2463
+ # @return [Types::GetLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2464
+ #
2465
+ # * {Types::GetLifecyclePolicyResponse#lifecycle_policy #lifecycle_policy} => Types::LifecyclePolicy
2466
+ #
2467
+ # @example Request syntax with placeholder values
2468
+ #
2469
+ # resp = client.get_lifecycle_policy({
2470
+ # lifecycle_policy_arn: "LifecyclePolicyArn", # required
2471
+ # })
2472
+ #
2473
+ # @example Response structure
2474
+ #
2475
+ # resp.lifecycle_policy.arn #=> String
2476
+ # resp.lifecycle_policy.name #=> String
2477
+ # resp.lifecycle_policy.description #=> String
2478
+ # resp.lifecycle_policy.status #=> String, one of "DISABLED", "ENABLED"
2479
+ # resp.lifecycle_policy.execution_role #=> String
2480
+ # resp.lifecycle_policy.resource_type #=> String, one of "AMI_IMAGE", "CONTAINER_IMAGE"
2481
+ # resp.lifecycle_policy.policy_details #=> Array
2482
+ # resp.lifecycle_policy.policy_details[0].action.type #=> String, one of "DELETE", "DEPRECATE", "DISABLE"
2483
+ # resp.lifecycle_policy.policy_details[0].action.include_resources.amis #=> Boolean
2484
+ # resp.lifecycle_policy.policy_details[0].action.include_resources.snapshots #=> Boolean
2485
+ # resp.lifecycle_policy.policy_details[0].action.include_resources.containers #=> Boolean
2486
+ # resp.lifecycle_policy.policy_details[0].filter.type #=> String, one of "AGE", "COUNT"
2487
+ # resp.lifecycle_policy.policy_details[0].filter.value #=> Integer
2488
+ # resp.lifecycle_policy.policy_details[0].filter.unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
2489
+ # resp.lifecycle_policy.policy_details[0].filter.retain_at_least #=> Integer
2490
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.tag_map #=> Hash
2491
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.tag_map["TagKey"] #=> String
2492
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.is_public #=> Boolean
2493
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.regions #=> Array
2494
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.regions[0] #=> String
2495
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.shared_accounts #=> Array
2496
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.shared_accounts[0] #=> String
2497
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.last_launched.value #=> Integer
2498
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.last_launched.unit #=> String, one of "DAYS", "WEEKS", "MONTHS", "YEARS"
2499
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.tag_map #=> Hash
2500
+ # resp.lifecycle_policy.policy_details[0].exclusion_rules.amis.tag_map["TagKey"] #=> String
2501
+ # resp.lifecycle_policy.resource_selection.recipes #=> Array
2502
+ # resp.lifecycle_policy.resource_selection.recipes[0].name #=> String
2503
+ # resp.lifecycle_policy.resource_selection.recipes[0].semantic_version #=> String
2504
+ # resp.lifecycle_policy.resource_selection.tag_map #=> Hash
2505
+ # resp.lifecycle_policy.resource_selection.tag_map["TagKey"] #=> String
2506
+ # resp.lifecycle_policy.date_created #=> Time
2507
+ # resp.lifecycle_policy.date_updated #=> Time
2508
+ # resp.lifecycle_policy.date_last_run #=> Time
2509
+ # resp.lifecycle_policy.tags #=> Hash
2510
+ # resp.lifecycle_policy.tags["TagKey"] #=> String
2511
+ #
2512
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetLifecyclePolicy AWS API Documentation
2513
+ #
2514
+ # @overload get_lifecycle_policy(params = {})
2515
+ # @param [Hash] params ({})
2516
+ def get_lifecycle_policy(params = {}, options = {})
2517
+ req = build_request(:get_lifecycle_policy, params)
2518
+ req.send_request(options)
2519
+ end
2520
+
2186
2521
  # Get the runtime information that was logged for a specific runtime
2187
2522
  # instance of the workflow.
2188
2523
  #
@@ -2356,11 +2691,17 @@ module Aws::Imagebuilder
2356
2691
  # The tags of the component.
2357
2692
  #
2358
2693
  # @option params [required, String] :client_token
2359
- # The idempotency token of the component.
2694
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
2695
+ # the request. For more information, see [Ensuring idempotency][1] in
2696
+ # the *Amazon EC2 API Reference*.
2360
2697
  #
2361
2698
  # **A suitable default value is auto-generated.** You should normally
2362
2699
  # not need to pass this option.**
2363
2700
  #
2701
+ #
2702
+ #
2703
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2704
+ #
2364
2705
  # @return [Types::ImportComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2365
2706
  #
2366
2707
  # * {Types::ImportComponentResponse#request_id #request_id} => String
@@ -2531,7 +2872,7 @@ module Aws::Imagebuilder
2531
2872
  # The maximum items to return in a request.
2532
2873
  #
2533
2874
  # @option params [String] :next_token
2534
- # A token to specify where to start paginating. This is the NextToken
2875
+ # A token to specify where to start paginating. This is the nextToken
2535
2876
  # from a previously truncated response.
2536
2877
  #
2537
2878
  # @return [Types::ListComponentBuildVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2628,7 +2969,7 @@ module Aws::Imagebuilder
2628
2969
  # The maximum items to return in a request.
2629
2970
  #
2630
2971
  # @option params [String] :next_token
2631
- # A token to specify where to start paginating. This is the NextToken
2972
+ # A token to specify where to start paginating. This is the nextToken
2632
2973
  # from a previously truncated response.
2633
2974
  #
2634
2975
  # @return [Types::ListComponentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2701,7 +3042,7 @@ module Aws::Imagebuilder
2701
3042
  # The maximum items to return in a request.
2702
3043
  #
2703
3044
  # @option params [String] :next_token
2704
- # A token to specify where to start paginating. This is the NextToken
3045
+ # A token to specify where to start paginating. This is the nextToken
2705
3046
  # from a previously truncated response.
2706
3047
  #
2707
3048
  # @return [Types::ListContainerRecipesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2759,7 +3100,7 @@ module Aws::Imagebuilder
2759
3100
  # The maximum items to return in a request.
2760
3101
  #
2761
3102
  # @option params [String] :next_token
2762
- # A token to specify where to start paginating. This is the NextToken
3103
+ # A token to specify where to start paginating. This is the nextToken
2763
3104
  # from a previously truncated response.
2764
3105
  #
2765
3106
  # @return [Types::ListDistributionConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2830,7 +3171,7 @@ module Aws::Imagebuilder
2830
3171
  # The maximum items to return in a request.
2831
3172
  #
2832
3173
  # @option params [String] :next_token
2833
- # A token to specify where to start paginating. This is the NextToken
3174
+ # A token to specify where to start paginating. This is the nextToken
2834
3175
  # from a previously truncated response.
2835
3176
  #
2836
3177
  # @return [Types::ListImageBuildVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2865,7 +3206,7 @@ module Aws::Imagebuilder
2865
3206
  # resp.image_summary_list[0].version #=> String
2866
3207
  # resp.image_summary_list[0].platform #=> String, one of "Windows", "Linux"
2867
3208
  # resp.image_summary_list[0].os_version #=> String
2868
- # resp.image_summary_list[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
3209
+ # resp.image_summary_list[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", "DISABLED"
2869
3210
  # resp.image_summary_list[0].state.reason #=> String
2870
3211
  # resp.image_summary_list[0].owner #=> String
2871
3212
  # resp.image_summary_list[0].date_created #=> String
@@ -2874,7 +3215,7 @@ module Aws::Imagebuilder
2874
3215
  # resp.image_summary_list[0].output_resources.amis[0].image #=> String
2875
3216
  # resp.image_summary_list[0].output_resources.amis[0].name #=> String
2876
3217
  # resp.image_summary_list[0].output_resources.amis[0].description #=> String
2877
- # resp.image_summary_list[0].output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
3218
+ # resp.image_summary_list[0].output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", "DISABLED"
2878
3219
  # resp.image_summary_list[0].output_resources.amis[0].state.reason #=> String
2879
3220
  # resp.image_summary_list[0].output_resources.amis[0].account_id #=> String
2880
3221
  # resp.image_summary_list[0].output_resources.containers #=> Array
@@ -2885,6 +3226,8 @@ module Aws::Imagebuilder
2885
3226
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2886
3227
  # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2887
3228
  # resp.image_summary_list[0].image_source #=> String, one of "AMAZON_MANAGED", "AWS_MARKETPLACE", "IMPORTED", "CUSTOM"
3229
+ # resp.image_summary_list[0].deprecation_time #=> Time
3230
+ # resp.image_summary_list[0].lifecycle_execution_id #=> String
2888
3231
  # resp.next_token #=> String
2889
3232
  #
2890
3233
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions AWS API Documentation
@@ -2908,7 +3251,7 @@ module Aws::Imagebuilder
2908
3251
  # The maximum items to return in a request.
2909
3252
  #
2910
3253
  # @option params [String] :next_token
2911
- # A token to specify where to start paginating. This is the NextToken
3254
+ # A token to specify where to start paginating. This is the nextToken
2912
3255
  # from a previously truncated response.
2913
3256
  #
2914
3257
  # @return [Types::ListImagePackagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2961,7 +3304,7 @@ module Aws::Imagebuilder
2961
3304
  # The maximum items to return in a request.
2962
3305
  #
2963
3306
  # @option params [String] :next_token
2964
- # A token to specify where to start paginating. This is the NextToken
3307
+ # A token to specify where to start paginating. This is the nextToken
2965
3308
  # from a previously truncated response.
2966
3309
  #
2967
3310
  # @return [Types::ListImagePipelineImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -2996,7 +3339,7 @@ module Aws::Imagebuilder
2996
3339
  # resp.image_summary_list[0].version #=> String
2997
3340
  # resp.image_summary_list[0].platform #=> String, one of "Windows", "Linux"
2998
3341
  # resp.image_summary_list[0].os_version #=> String
2999
- # resp.image_summary_list[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
3342
+ # resp.image_summary_list[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", "DISABLED"
3000
3343
  # resp.image_summary_list[0].state.reason #=> String
3001
3344
  # resp.image_summary_list[0].owner #=> String
3002
3345
  # resp.image_summary_list[0].date_created #=> String
@@ -3005,7 +3348,7 @@ module Aws::Imagebuilder
3005
3348
  # resp.image_summary_list[0].output_resources.amis[0].image #=> String
3006
3349
  # resp.image_summary_list[0].output_resources.amis[0].name #=> String
3007
3350
  # resp.image_summary_list[0].output_resources.amis[0].description #=> String
3008
- # resp.image_summary_list[0].output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
3351
+ # resp.image_summary_list[0].output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED", "DISABLED"
3009
3352
  # resp.image_summary_list[0].output_resources.amis[0].state.reason #=> String
3010
3353
  # resp.image_summary_list[0].output_resources.amis[0].account_id #=> String
3011
3354
  # resp.image_summary_list[0].output_resources.containers #=> Array
@@ -3016,6 +3359,8 @@ module Aws::Imagebuilder
3016
3359
  # resp.image_summary_list[0].tags["TagKey"] #=> String
3017
3360
  # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
3018
3361
  # resp.image_summary_list[0].image_source #=> String, one of "AMAZON_MANAGED", "AWS_MARKETPLACE", "IMPORTED", "CUSTOM"
3362
+ # resp.image_summary_list[0].deprecation_time #=> Time
3363
+ # resp.image_summary_list[0].lifecycle_execution_id #=> String
3019
3364
  # resp.next_token #=> String
3020
3365
  #
3021
3366
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages AWS API Documentation
@@ -3048,7 +3393,7 @@ module Aws::Imagebuilder
3048
3393
  # The maximum items to return in a request.
3049
3394
  #
3050
3395
  # @option params [String] :next_token
3051
- # A token to specify where to start paginating. This is the NextToken
3396
+ # A token to specify where to start paginating. This is the nextToken
3052
3397
  # from a previously truncated response.
3053
3398
  #
3054
3399
  # @return [Types::ListImagePipelinesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -3134,7 +3479,7 @@ module Aws::Imagebuilder
3134
3479
  # The maximum items to return in a request.
3135
3480
  #
3136
3481
  # @option params [String] :next_token
3137
- # A token to specify where to start paginating. This is the NextToken
3482
+ # A token to specify where to start paginating. This is the nextToken
3138
3483
  # from a previously truncated response.
3139
3484
  #
3140
3485
  # @return [Types::ListImageRecipesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -3207,7 +3552,7 @@ module Aws::Imagebuilder
3207
3552
  # IDs.
3208
3553
  #
3209
3554
  # @option params [String] :next_token
3210
- # A token to specify where to start paginating. This is the NextToken
3555
+ # A token to specify where to start paginating. This is the nextToken
3211
3556
  # from a previously truncated response.
3212
3557
  #
3213
3558
  # @return [Types::ListImageScanFindingAggregationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -3286,7 +3631,7 @@ module Aws::Imagebuilder
3286
3631
  # The maximum items to return in a request.
3287
3632
  #
3288
3633
  # @option params [String] :next_token
3289
- # A token to specify where to start paginating. This is the NextToken
3634
+ # A token to specify where to start paginating. This is the nextToken
3290
3635
  # from a previously truncated response.
3291
3636
  #
3292
3637
  # @return [Types::ListImageScanFindingsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -3403,7 +3748,7 @@ module Aws::Imagebuilder
3403
3748
  # The maximum items to return in a request.
3404
3749
  #
3405
3750
  # @option params [String] :next_token
3406
- # A token to specify where to start paginating. This is the NextToken
3751
+ # A token to specify where to start paginating. This is the nextToken
3407
3752
  # from a previously truncated response.
3408
3753
  #
3409
3754
  # @option params [Boolean] :include_deprecated
@@ -3467,7 +3812,7 @@ module Aws::Imagebuilder
3467
3812
  # The maximum items to return in a request.
3468
3813
  #
3469
3814
  # @option params [String] :next_token
3470
- # A token to specify where to start paginating. This is the NextToken
3815
+ # A token to specify where to start paginating. This is the nextToken
3471
3816
  # from a previously truncated response.
3472
3817
  #
3473
3818
  # @return [Types::ListInfrastructureConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -3518,6 +3863,185 @@ module Aws::Imagebuilder
3518
3863
  req.send_request(options)
3519
3864
  end
3520
3865
 
3866
+ # List resources that the runtime instance of the image lifecycle
3867
+ # identified for lifecycle actions.
3868
+ #
3869
+ # @option params [required, String] :lifecycle_execution_id
3870
+ # Use the unique identifier for a runtime instance of the lifecycle
3871
+ # policy to get runtime details.
3872
+ #
3873
+ # @option params [String] :parent_resource_id
3874
+ # You can leave this empty to get a list of Image Builder resources that
3875
+ # were identified for lifecycle actions.
3876
+ #
3877
+ # To get a list of associated resources that are impacted for an
3878
+ # individual resource (the parent), specify its Amazon Resource Name
3879
+ # (ARN). Associated resources are produced from your image and
3880
+ # distributed when you run a build, such as AMIs or container images
3881
+ # stored in ECR repositories.
3882
+ #
3883
+ # @option params [Integer] :max_results
3884
+ # The maximum items to return in a request.
3885
+ #
3886
+ # @option params [String] :next_token
3887
+ # A token to specify where to start paginating. This is the nextToken
3888
+ # from a previously truncated response.
3889
+ #
3890
+ # @return [Types::ListLifecycleExecutionResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3891
+ #
3892
+ # * {Types::ListLifecycleExecutionResourcesResponse#lifecycle_execution_id #lifecycle_execution_id} => String
3893
+ # * {Types::ListLifecycleExecutionResourcesResponse#lifecycle_execution_state #lifecycle_execution_state} => Types::LifecycleExecutionState
3894
+ # * {Types::ListLifecycleExecutionResourcesResponse#resources #resources} => Array&lt;Types::LifecycleExecutionResource&gt;
3895
+ # * {Types::ListLifecycleExecutionResourcesResponse#next_token #next_token} => String
3896
+ #
3897
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3898
+ #
3899
+ # @example Request syntax with placeholder values
3900
+ #
3901
+ # resp = client.list_lifecycle_execution_resources({
3902
+ # lifecycle_execution_id: "LifecycleExecutionId", # required
3903
+ # parent_resource_id: "NonEmptyString",
3904
+ # max_results: 1,
3905
+ # next_token: "PaginationToken",
3906
+ # })
3907
+ #
3908
+ # @example Response structure
3909
+ #
3910
+ # resp.lifecycle_execution_id #=> String
3911
+ # resp.lifecycle_execution_state.status #=> String, one of "IN_PROGRESS", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS"
3912
+ # resp.lifecycle_execution_state.reason #=> String
3913
+ # resp.resources #=> Array
3914
+ # resp.resources[0].account_id #=> String
3915
+ # resp.resources[0].resource_id #=> String
3916
+ # resp.resources[0].state.status #=> String, one of "FAILED", "IN_PROGRESS", "SKIPPED", "SUCCESS"
3917
+ # resp.resources[0].state.reason #=> String
3918
+ # resp.resources[0].action.name #=> String, one of "AVAILABLE", "DELETE", "DEPRECATE", "DISABLE"
3919
+ # resp.resources[0].action.reason #=> String
3920
+ # resp.resources[0].region #=> String
3921
+ # resp.resources[0].snapshots #=> Array
3922
+ # resp.resources[0].snapshots[0].snapshot_id #=> String
3923
+ # resp.resources[0].snapshots[0].state.status #=> String, one of "FAILED", "IN_PROGRESS", "SKIPPED", "SUCCESS"
3924
+ # resp.resources[0].snapshots[0].state.reason #=> String
3925
+ # resp.resources[0].image_uris #=> Array
3926
+ # resp.resources[0].image_uris[0] #=> String
3927
+ # resp.next_token #=> String
3928
+ #
3929
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListLifecycleExecutionResources AWS API Documentation
3930
+ #
3931
+ # @overload list_lifecycle_execution_resources(params = {})
3932
+ # @param [Hash] params ({})
3933
+ def list_lifecycle_execution_resources(params = {}, options = {})
3934
+ req = build_request(:list_lifecycle_execution_resources, params)
3935
+ req.send_request(options)
3936
+ end
3937
+
3938
+ # Get the lifecycle runtime history for the specified resource.
3939
+ #
3940
+ # @option params [Integer] :max_results
3941
+ # The maximum items to return in a request.
3942
+ #
3943
+ # @option params [String] :next_token
3944
+ # A token to specify where to start paginating. This is the nextToken
3945
+ # from a previously truncated response.
3946
+ #
3947
+ # @option params [required, String] :resource_arn
3948
+ # The Amazon Resource Name (ARN) of the resource for which to get a list
3949
+ # of lifecycle runtime instances.
3950
+ #
3951
+ # @return [Types::ListLifecycleExecutionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3952
+ #
3953
+ # * {Types::ListLifecycleExecutionsResponse#lifecycle_executions #lifecycle_executions} => Array&lt;Types::LifecycleExecution&gt;
3954
+ # * {Types::ListLifecycleExecutionsResponse#next_token #next_token} => String
3955
+ #
3956
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3957
+ #
3958
+ # @example Request syntax with placeholder values
3959
+ #
3960
+ # resp = client.list_lifecycle_executions({
3961
+ # max_results: 1,
3962
+ # next_token: "PaginationToken",
3963
+ # resource_arn: "ImageBuilderArn", # required
3964
+ # })
3965
+ #
3966
+ # @example Response structure
3967
+ #
3968
+ # resp.lifecycle_executions #=> Array
3969
+ # resp.lifecycle_executions[0].lifecycle_execution_id #=> String
3970
+ # resp.lifecycle_executions[0].lifecycle_policy_arn #=> String
3971
+ # resp.lifecycle_executions[0].resources_impacted_summary.has_impacted_resources #=> Boolean
3972
+ # resp.lifecycle_executions[0].state.status #=> String, one of "IN_PROGRESS", "CANCELLED", "CANCELLING", "FAILED", "SUCCESS"
3973
+ # resp.lifecycle_executions[0].state.reason #=> String
3974
+ # resp.lifecycle_executions[0].start_time #=> Time
3975
+ # resp.lifecycle_executions[0].end_time #=> Time
3976
+ # resp.next_token #=> String
3977
+ #
3978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListLifecycleExecutions AWS API Documentation
3979
+ #
3980
+ # @overload list_lifecycle_executions(params = {})
3981
+ # @param [Hash] params ({})
3982
+ def list_lifecycle_executions(params = {}, options = {})
3983
+ req = build_request(:list_lifecycle_executions, params)
3984
+ req.send_request(options)
3985
+ end
3986
+
3987
+ # Get a list of lifecycle policies in your Amazon Web Services account.
3988
+ #
3989
+ # @option params [Array<Types::Filter>] :filters
3990
+ # Streamline results based on one of the following values: `Name`,
3991
+ # `Status`.
3992
+ #
3993
+ # @option params [Integer] :max_results
3994
+ # The maximum items to return in a request.
3995
+ #
3996
+ # @option params [String] :next_token
3997
+ # A token to specify where to start paginating. This is the nextToken
3998
+ # from a previously truncated response.
3999
+ #
4000
+ # @return [Types::ListLifecyclePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4001
+ #
4002
+ # * {Types::ListLifecyclePoliciesResponse#lifecycle_policy_summary_list #lifecycle_policy_summary_list} => Array&lt;Types::LifecyclePolicySummary&gt;
4003
+ # * {Types::ListLifecyclePoliciesResponse#next_token #next_token} => String
4004
+ #
4005
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4006
+ #
4007
+ # @example Request syntax with placeholder values
4008
+ #
4009
+ # resp = client.list_lifecycle_policies({
4010
+ # filters: [
4011
+ # {
4012
+ # name: "FilterName",
4013
+ # values: ["FilterValue"],
4014
+ # },
4015
+ # ],
4016
+ # max_results: 1,
4017
+ # next_token: "PaginationToken",
4018
+ # })
4019
+ #
4020
+ # @example Response structure
4021
+ #
4022
+ # resp.lifecycle_policy_summary_list #=> Array
4023
+ # resp.lifecycle_policy_summary_list[0].arn #=> String
4024
+ # resp.lifecycle_policy_summary_list[0].name #=> String
4025
+ # resp.lifecycle_policy_summary_list[0].description #=> String
4026
+ # resp.lifecycle_policy_summary_list[0].status #=> String, one of "DISABLED", "ENABLED"
4027
+ # resp.lifecycle_policy_summary_list[0].execution_role #=> String
4028
+ # resp.lifecycle_policy_summary_list[0].resource_type #=> String, one of "AMI_IMAGE", "CONTAINER_IMAGE"
4029
+ # resp.lifecycle_policy_summary_list[0].date_created #=> Time
4030
+ # resp.lifecycle_policy_summary_list[0].date_updated #=> Time
4031
+ # resp.lifecycle_policy_summary_list[0].date_last_run #=> Time
4032
+ # resp.lifecycle_policy_summary_list[0].tags #=> Hash
4033
+ # resp.lifecycle_policy_summary_list[0].tags["TagKey"] #=> String
4034
+ # resp.next_token #=> String
4035
+ #
4036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListLifecyclePolicies AWS API Documentation
4037
+ #
4038
+ # @overload list_lifecycle_policies(params = {})
4039
+ # @param [Hash] params ({})
4040
+ def list_lifecycle_policies(params = {}, options = {})
4041
+ req = build_request(:list_lifecycle_policies, params)
4042
+ req.send_request(options)
4043
+ end
4044
+
3521
4045
  # Returns the list of tags for the specified resource.
3522
4046
  #
3523
4047
  # @option params [required, String] :resource_arn
@@ -3555,7 +4079,7 @@ module Aws::Imagebuilder
3555
4079
  # The maximum items to return in a request.
3556
4080
  #
3557
4081
  # @option params [String] :next_token
3558
- # A token to specify where to start paginating. This is the NextToken
4082
+ # A token to specify where to start paginating. This is the nextToken
3559
4083
  # from a previously truncated response.
3560
4084
  #
3561
4085
  # @option params [required, String] :image_build_version_arn
@@ -3615,7 +4139,7 @@ module Aws::Imagebuilder
3615
4139
  # The maximum items to return in a request.
3616
4140
  #
3617
4141
  # @option params [String] :next_token
3618
- # A token to specify where to start paginating. This is the NextToken
4142
+ # A token to specify where to start paginating. This is the nextToken
3619
4143
  # from a previously truncated response.
3620
4144
  #
3621
4145
  # @option params [required, String] :workflow_execution_id
@@ -3855,11 +4379,17 @@ module Aws::Imagebuilder
3855
4379
  # manually invoke.
3856
4380
  #
3857
4381
  # @option params [required, String] :client_token
3858
- # The idempotency token used to make this request idempotent.
4382
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
4383
+ # the request. For more information, see [Ensuring idempotency][1] in
4384
+ # the *Amazon EC2 API Reference*.
3859
4385
  #
3860
4386
  # **A suitable default value is auto-generated.** You should normally
3861
4387
  # not need to pass this option.**
3862
4388
  #
4389
+ #
4390
+ #
4391
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4392
+ #
3863
4393
  # @return [Types::StartImagePipelineExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3864
4394
  #
3865
4395
  # * {Types::StartImagePipelineExecutionResponse#request_id #request_id} => String
@@ -3888,6 +4418,93 @@ module Aws::Imagebuilder
3888
4418
  req.send_request(options)
3889
4419
  end
3890
4420
 
4421
+ # Begin asynchronous resource state update for lifecycle changes to the
4422
+ # specified image resources.
4423
+ #
4424
+ # @option params [required, String] :resource_arn
4425
+ # The ARN of the Image Builder resource that is updated. The state
4426
+ # update might also impact associated resources.
4427
+ #
4428
+ # @option params [required, Types::ResourceState] :state
4429
+ # Indicates the lifecycle action to take for this request.
4430
+ #
4431
+ # @option params [String] :execution_role
4432
+ # The name or Amazon Resource Name (ARN) of the IAM role that’s used to
4433
+ # update image state.
4434
+ #
4435
+ # @option params [Types::ResourceStateUpdateIncludeResources] :include_resources
4436
+ # A list of image resources to update state for.
4437
+ #
4438
+ # @option params [Types::ResourceStateUpdateExclusionRules] :exclusion_rules
4439
+ # Skip action on the image resource and associated resources if
4440
+ # specified exclusion rules are met.
4441
+ #
4442
+ # @option params [Time,DateTime,Date,Integer,String] :update_at
4443
+ # The timestamp that indicates when resources are updated by a lifecycle
4444
+ # action.
4445
+ #
4446
+ # @option params [required, String] :client_token
4447
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
4448
+ # the request. For more information, see [Ensuring idempotency][1] in
4449
+ # the *Amazon EC2 API Reference*.
4450
+ #
4451
+ # **A suitable default value is auto-generated.** You should normally
4452
+ # not need to pass this option.**
4453
+ #
4454
+ #
4455
+ #
4456
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4457
+ #
4458
+ # @return [Types::StartResourceStateUpdateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4459
+ #
4460
+ # * {Types::StartResourceStateUpdateResponse#lifecycle_execution_id #lifecycle_execution_id} => String
4461
+ # * {Types::StartResourceStateUpdateResponse#resource_arn #resource_arn} => String
4462
+ #
4463
+ # @example Request syntax with placeholder values
4464
+ #
4465
+ # resp = client.start_resource_state_update({
4466
+ # resource_arn: "ImageBuildVersionArn", # required
4467
+ # state: { # required
4468
+ # status: "AVAILABLE", # accepts AVAILABLE, DELETED, DEPRECATED, DISABLED
4469
+ # },
4470
+ # execution_role: "RoleNameOrArn",
4471
+ # include_resources: {
4472
+ # amis: false,
4473
+ # snapshots: false,
4474
+ # containers: false,
4475
+ # },
4476
+ # exclusion_rules: {
4477
+ # amis: {
4478
+ # is_public: false,
4479
+ # regions: ["NonEmptyString"],
4480
+ # shared_accounts: ["AccountId"],
4481
+ # last_launched: {
4482
+ # value: 1, # required
4483
+ # unit: "DAYS", # required, accepts DAYS, WEEKS, MONTHS, YEARS
4484
+ # },
4485
+ # tag_map: {
4486
+ # "TagKey" => "TagValue",
4487
+ # },
4488
+ # },
4489
+ # },
4490
+ # update_at: Time.now,
4491
+ # client_token: "ClientToken", # required
4492
+ # })
4493
+ #
4494
+ # @example Response structure
4495
+ #
4496
+ # resp.lifecycle_execution_id #=> String
4497
+ # resp.resource_arn #=> String
4498
+ #
4499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartResourceStateUpdate AWS API Documentation
4500
+ #
4501
+ # @overload start_resource_state_update(params = {})
4502
+ # @param [Hash] params ({})
4503
+ def start_resource_state_update(params = {}, options = {})
4504
+ req = build_request(:start_resource_state_update, params)
4505
+ req.send_request(options)
4506
+ end
4507
+
3891
4508
  # Adds a tag to a resource.
3892
4509
  #
3893
4510
  # @option params [required, String] :resource_arn
@@ -3956,11 +4573,17 @@ module Aws::Imagebuilder
3956
4573
  # The distributions of the distribution configuration.
3957
4574
  #
3958
4575
  # @option params [required, String] :client_token
3959
- # The idempotency token of the distribution configuration.
4576
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
4577
+ # the request. For more information, see [Ensuring idempotency][1] in
4578
+ # the *Amazon EC2 API Reference*.
3960
4579
  #
3961
4580
  # **A suitable default value is auto-generated.** You should normally
3962
4581
  # not need to pass this option.**
3963
4582
  #
4583
+ #
4584
+ #
4585
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4586
+ #
3964
4587
  # @return [Types::UpdateDistributionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3965
4588
  #
3966
4589
  # * {Types::UpdateDistributionConfigurationResponse#request_id #request_id} => String
@@ -4096,11 +4719,17 @@ module Aws::Imagebuilder
4096
4719
  # The status of the image pipeline.
4097
4720
  #
4098
4721
  # @option params [required, String] :client_token
4099
- # The idempotency token used to make this request idempotent.
4722
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
4723
+ # the request. For more information, see [Ensuring idempotency][1] in
4724
+ # the *Amazon EC2 API Reference*.
4100
4725
  #
4101
4726
  # **A suitable default value is auto-generated.** You should normally
4102
4727
  # not need to pass this option.**
4103
4728
  #
4729
+ #
4730
+ #
4731
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4732
+ #
4104
4733
  # @option params [Types::ImageScanningConfiguration] :image_scanning_configuration
4105
4734
  # Contains settings for vulnerability scans.
4106
4735
  #
@@ -4208,11 +4837,17 @@ module Aws::Imagebuilder
4208
4837
  # </note>
4209
4838
  #
4210
4839
  # @option params [required, String] :client_token
4211
- # The idempotency token used to make this request idempotent.
4840
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
4841
+ # the request. For more information, see [Ensuring idempotency][1] in
4842
+ # the *Amazon EC2 API Reference*.
4212
4843
  #
4213
4844
  # **A suitable default value is auto-generated.** You should normally
4214
4845
  # not need to pass this option.**
4215
4846
  #
4847
+ #
4848
+ #
4849
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4850
+ #
4216
4851
  # @option params [Hash<String,String>] :resource_tags
4217
4852
  # The tags attached to the resource created by Image Builder.
4218
4853
  #
@@ -4282,6 +4917,116 @@ module Aws::Imagebuilder
4282
4917
  req.send_request(options)
4283
4918
  end
4284
4919
 
4920
+ # Update the specified lifecycle policy.
4921
+ #
4922
+ # @option params [required, String] :lifecycle_policy_arn
4923
+ # The Amazon Resource Name (ARN) of the lifecycle policy resource.
4924
+ #
4925
+ # @option params [String] :description
4926
+ # Optional description for the lifecycle policy.
4927
+ #
4928
+ # @option params [String] :status
4929
+ # Indicates whether the lifecycle policy resource is enabled.
4930
+ #
4931
+ # @option params [required, String] :execution_role
4932
+ # The name of the IAM role that Image Builder should use to update the
4933
+ # lifecycle policy.
4934
+ #
4935
+ # @option params [required, String] :resource_type
4936
+ # The type of image resource that the lifecycle policy applies to.
4937
+ #
4938
+ # @option params [required, Array<Types::LifecyclePolicyDetail>] :policy_details
4939
+ # The configuration details for a lifecycle policy resource.
4940
+ #
4941
+ # @option params [required, Types::LifecyclePolicyResourceSelection] :resource_selection
4942
+ # Selection criteria for resources that the lifecycle policy applies to.
4943
+ #
4944
+ # @option params [required, String] :client_token
4945
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
4946
+ # the request. For more information, see [Ensuring idempotency][1] in
4947
+ # the *Amazon EC2 API Reference*.
4948
+ #
4949
+ # **A suitable default value is auto-generated.** You should normally
4950
+ # not need to pass this option.**
4951
+ #
4952
+ #
4953
+ #
4954
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4955
+ #
4956
+ # @return [Types::UpdateLifecyclePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4957
+ #
4958
+ # * {Types::UpdateLifecyclePolicyResponse#lifecycle_policy_arn #lifecycle_policy_arn} => String
4959
+ #
4960
+ # @example Request syntax with placeholder values
4961
+ #
4962
+ # resp = client.update_lifecycle_policy({
4963
+ # lifecycle_policy_arn: "LifecyclePolicyArn", # required
4964
+ # description: "NonEmptyString",
4965
+ # status: "DISABLED", # accepts DISABLED, ENABLED
4966
+ # execution_role: "RoleNameOrArn", # required
4967
+ # resource_type: "AMI_IMAGE", # required, accepts AMI_IMAGE, CONTAINER_IMAGE
4968
+ # policy_details: [ # required
4969
+ # {
4970
+ # action: { # required
4971
+ # type: "DELETE", # required, accepts DELETE, DEPRECATE, DISABLE
4972
+ # include_resources: {
4973
+ # amis: false,
4974
+ # snapshots: false,
4975
+ # containers: false,
4976
+ # },
4977
+ # },
4978
+ # filter: { # required
4979
+ # type: "AGE", # required, accepts AGE, COUNT
4980
+ # value: 1, # required
4981
+ # unit: "DAYS", # accepts DAYS, WEEKS, MONTHS, YEARS
4982
+ # retain_at_least: 1,
4983
+ # },
4984
+ # exclusion_rules: {
4985
+ # tag_map: {
4986
+ # "TagKey" => "TagValue",
4987
+ # },
4988
+ # amis: {
4989
+ # is_public: false,
4990
+ # regions: ["NonEmptyString"],
4991
+ # shared_accounts: ["AccountId"],
4992
+ # last_launched: {
4993
+ # value: 1, # required
4994
+ # unit: "DAYS", # required, accepts DAYS, WEEKS, MONTHS, YEARS
4995
+ # },
4996
+ # tag_map: {
4997
+ # "TagKey" => "TagValue",
4998
+ # },
4999
+ # },
5000
+ # },
5001
+ # },
5002
+ # ],
5003
+ # resource_selection: { # required
5004
+ # recipes: [
5005
+ # {
5006
+ # name: "ResourceName", # required
5007
+ # semantic_version: "VersionNumber", # required
5008
+ # },
5009
+ # ],
5010
+ # tag_map: {
5011
+ # "TagKey" => "TagValue",
5012
+ # },
5013
+ # },
5014
+ # client_token: "ClientToken", # required
5015
+ # })
5016
+ #
5017
+ # @example Response structure
5018
+ #
5019
+ # resp.lifecycle_policy_arn #=> String
5020
+ #
5021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateLifecyclePolicy AWS API Documentation
5022
+ #
5023
+ # @overload update_lifecycle_policy(params = {})
5024
+ # @param [Hash] params ({})
5025
+ def update_lifecycle_policy(params = {}, options = {})
5026
+ req = build_request(:update_lifecycle_policy, params)
5027
+ req.send_request(options)
5028
+ end
5029
+
4285
5030
  # @!endgroup
4286
5031
 
4287
5032
  # @param params ({})
@@ -4295,7 +5040,7 @@ module Aws::Imagebuilder
4295
5040
  params: params,
4296
5041
  config: config)
4297
5042
  context[:gem_name] = 'aws-sdk-imagebuilder'
4298
- context[:gem_version] = '1.52.0'
5043
+ context[:gem_version] = '1.54.0'
4299
5044
  Seahorse::Client::Request.new(handlers, context)
4300
5045
  end
4301
5046