aws-sdk-imagebuilder 1.14.0 → 1.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,13 +25,18 @@ module Aws::Imagebuilder
25
25
  # @return [String]
26
26
  #
27
27
  # @!attribute [rw] description
28
- # The description of the EC2 AMI.
28
+ # The description of the EC2 AMI. Minimum and maximum length are in
29
+ # characters.
29
30
  # @return [String]
30
31
  #
31
32
  # @!attribute [rw] state
32
33
  # Image state shows the image status and the reason for that status.
33
34
  # @return [Types::ImageState]
34
35
  #
36
+ # @!attribute [rw] account_id
37
+ # The account ID of the owner of the AMI.
38
+ # @return [String]
39
+ #
35
40
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Ami AWS API Documentation
36
41
  #
37
42
  class Ami < Struct.new(
@@ -39,7 +44,8 @@ module Aws::Imagebuilder
39
44
  :image,
40
45
  :name,
41
46
  :description,
42
- :state)
47
+ :state,
48
+ :account_id)
43
49
  SENSITIVE = []
44
50
  include Aws::Structure
45
51
  end
@@ -52,12 +58,13 @@ module Aws::Imagebuilder
52
58
  # {
53
59
  # name: "AmiNameString",
54
60
  # description: "NonEmptyString",
61
+ # target_account_ids: ["AccountId"],
55
62
  # ami_tags: {
56
63
  # "TagKey" => "TagValue",
57
64
  # },
58
65
  # kms_key_id: "NonEmptyString",
59
66
  # launch_permission: {
60
- # user_ids: ["NonEmptyString"],
67
+ # user_ids: ["AccountId"],
61
68
  # user_groups: ["NonEmptyString"],
62
69
  # },
63
70
  # }
@@ -67,9 +74,14 @@ module Aws::Imagebuilder
67
74
  # @return [String]
68
75
  #
69
76
  # @!attribute [rw] description
70
- # The description of the distribution configuration.
77
+ # The description of the distribution configuration. Minimum and
78
+ # maximum length are in characters.
71
79
  # @return [String]
72
80
  #
81
+ # @!attribute [rw] target_account_ids
82
+ # The ID of an account to which you want to distribute an image.
83
+ # @return [Array<String>]
84
+ #
73
85
  # @!attribute [rw] ami_tags
74
86
  # The tags to apply to AMIs distributed to this Region.
75
87
  # @return [Hash<String,String>]
@@ -88,6 +100,7 @@ module Aws::Imagebuilder
88
100
  class AmiDistributionConfiguration < Struct.new(
89
101
  :name,
90
102
  :description,
103
+ :target_account_ids,
91
104
  :ami_tags,
92
105
  :kms_key_id,
93
106
  :launch_permission)
@@ -404,6 +417,209 @@ module Aws::Imagebuilder
404
417
  include Aws::Structure
405
418
  end
406
419
 
420
+ # A container encapsulates the runtime environment for an application.
421
+ #
422
+ # @!attribute [rw] region
423
+ # Containers and container images are Region-specific. This is the
424
+ # Region context for the container.
425
+ # @return [String]
426
+ #
427
+ # @!attribute [rw] image_uris
428
+ # A list of URIs for containers created in the context Region.
429
+ # @return [Array<String>]
430
+ #
431
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Container AWS API Documentation
432
+ #
433
+ class Container < Struct.new(
434
+ :region,
435
+ :image_uris)
436
+ SENSITIVE = []
437
+ include Aws::Structure
438
+ end
439
+
440
+ # Container distribution settings for encryption, licensing, and sharing
441
+ # in a specific Region.
442
+ #
443
+ # @note When making an API call, you may pass ContainerDistributionConfiguration
444
+ # data as a hash:
445
+ #
446
+ # {
447
+ # description: "NonEmptyString",
448
+ # container_tags: ["NonEmptyString"],
449
+ # target_repository: { # required
450
+ # service: "ECR", # required, accepts ECR
451
+ # repository_name: "NonEmptyString", # required
452
+ # },
453
+ # }
454
+ #
455
+ # @!attribute [rw] description
456
+ # The description of the container distribution configuration.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] container_tags
460
+ # Tags that are attached to the container distribution configuration.
461
+ # @return [Array<String>]
462
+ #
463
+ # @!attribute [rw] target_repository
464
+ # The destination repository for the container distribution
465
+ # configuration.
466
+ # @return [Types::TargetContainerRepository]
467
+ #
468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ContainerDistributionConfiguration AWS API Documentation
469
+ #
470
+ class ContainerDistributionConfiguration < Struct.new(
471
+ :description,
472
+ :container_tags,
473
+ :target_repository)
474
+ SENSITIVE = []
475
+ include Aws::Structure
476
+ end
477
+
478
+ # A container recipe.
479
+ #
480
+ # @!attribute [rw] arn
481
+ # The Amazon Resource Name (ARN) of the container recipe.
482
+ # @return [String]
483
+ #
484
+ # @!attribute [rw] container_type
485
+ # Specifies the type of container, such as Docker.
486
+ # @return [String]
487
+ #
488
+ # @!attribute [rw] name
489
+ # The name of the container recipe.
490
+ # @return [String]
491
+ #
492
+ # @!attribute [rw] description
493
+ # The description of the container recipe.
494
+ # @return [String]
495
+ #
496
+ # @!attribute [rw] platform
497
+ # The system platform for the container, such as Windows or Linux.
498
+ # @return [String]
499
+ #
500
+ # @!attribute [rw] owner
501
+ # The owner of the container recipe.
502
+ # @return [String]
503
+ #
504
+ # @!attribute [rw] version
505
+ # The semantic version of the container recipe
506
+ # (&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;).
507
+ # @return [String]
508
+ #
509
+ # @!attribute [rw] components
510
+ # Components for build and test that are included in the container
511
+ # recipe.
512
+ # @return [Array<Types::ComponentConfiguration>]
513
+ #
514
+ # @!attribute [rw] dockerfile_template_data
515
+ # Dockerfiles are text documents that are used to build Docker
516
+ # containers, and ensure that they contain all of the elements
517
+ # required by the application running inside. The template data
518
+ # consists of contextual variables where Image Builder places build
519
+ # information or scripts, based on your container image recipe.
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] kms_key_id
523
+ # Identifies which KMS key is used to encrypt the container image for
524
+ # distribution to the target Region.
525
+ # @return [String]
526
+ #
527
+ # @!attribute [rw] encrypted
528
+ # A flag that indicates if the target container is encrypted.
529
+ # @return [Boolean]
530
+ #
531
+ # @!attribute [rw] parent_image
532
+ # The source image for the container recipe.
533
+ # @return [String]
534
+ #
535
+ # @!attribute [rw] date_created
536
+ # The date when this container recipe was created.
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] tags
540
+ # Tags that are attached to the container recipe.
541
+ # @return [Hash<String,String>]
542
+ #
543
+ # @!attribute [rw] working_directory
544
+ # The working directory for use during build and test workflows.
545
+ # @return [String]
546
+ #
547
+ # @!attribute [rw] target_repository
548
+ # The destination repository for the container image.
549
+ # @return [Types::TargetContainerRepository]
550
+ #
551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ContainerRecipe AWS API Documentation
552
+ #
553
+ class ContainerRecipe < Struct.new(
554
+ :arn,
555
+ :container_type,
556
+ :name,
557
+ :description,
558
+ :platform,
559
+ :owner,
560
+ :version,
561
+ :components,
562
+ :dockerfile_template_data,
563
+ :kms_key_id,
564
+ :encrypted,
565
+ :parent_image,
566
+ :date_created,
567
+ :tags,
568
+ :working_directory,
569
+ :target_repository)
570
+ SENSITIVE = []
571
+ include Aws::Structure
572
+ end
573
+
574
+ # A summary of a container recipe
575
+ #
576
+ # @!attribute [rw] arn
577
+ # The Amazon Resource Name (ARN) of the container recipe.
578
+ # @return [String]
579
+ #
580
+ # @!attribute [rw] container_type
581
+ # Specifies the type of container, such as "Docker".
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] name
585
+ # The name of the container recipe.
586
+ # @return [String]
587
+ #
588
+ # @!attribute [rw] platform
589
+ # The system platform for the container, such as Windows or Linux.
590
+ # @return [String]
591
+ #
592
+ # @!attribute [rw] owner
593
+ # The owner of the container recipe.
594
+ # @return [String]
595
+ #
596
+ # @!attribute [rw] parent_image
597
+ # The source image for the container recipe.
598
+ # @return [String]
599
+ #
600
+ # @!attribute [rw] date_created
601
+ # The date when this container recipe was created.
602
+ # @return [String]
603
+ #
604
+ # @!attribute [rw] tags
605
+ # Tags that are attached to the container recipe.
606
+ # @return [Hash<String,String>]
607
+ #
608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ContainerRecipeSummary AWS API Documentation
609
+ #
610
+ class ContainerRecipeSummary < Struct.new(
611
+ :arn,
612
+ :container_type,
613
+ :name,
614
+ :platform,
615
+ :owner,
616
+ :parent_image,
617
+ :date_created,
618
+ :tags)
619
+ SENSITIVE = []
620
+ include Aws::Structure
621
+ end
622
+
407
623
  # @note When making an API call, you may pass CreateComponentRequest
408
624
  # data as a hash:
409
625
  #
@@ -523,6 +739,149 @@ module Aws::Imagebuilder
523
739
  include Aws::Structure
524
740
  end
525
741
 
742
+ # @note When making an API call, you may pass CreateContainerRecipeRequest
743
+ # data as a hash:
744
+ #
745
+ # {
746
+ # container_type: "DOCKER", # required, accepts DOCKER
747
+ # name: "ResourceName", # required
748
+ # description: "NonEmptyString",
749
+ # semantic_version: "VersionNumber", # required
750
+ # components: [ # required
751
+ # {
752
+ # component_arn: "ComponentVersionArnOrBuildVersionArn", # required
753
+ # },
754
+ # ],
755
+ # dockerfile_template_data: "InlineDockerFileTemplate", # required
756
+ # dockerfile_template_uri: "Uri",
757
+ # platform_override: "Windows", # accepts Windows, Linux
758
+ # image_os_version_override: "NonEmptyString",
759
+ # parent_image: "NonEmptyString", # required
760
+ # tags: {
761
+ # "TagKey" => "TagValue",
762
+ # },
763
+ # working_directory: "NonEmptyString",
764
+ # target_repository: { # required
765
+ # service: "ECR", # required, accepts ECR
766
+ # repository_name: "NonEmptyString", # required
767
+ # },
768
+ # kms_key_id: "NonEmptyString",
769
+ # client_token: "ClientToken", # required
770
+ # }
771
+ #
772
+ # @!attribute [rw] container_type
773
+ # The type of container to create.
774
+ # @return [String]
775
+ #
776
+ # @!attribute [rw] name
777
+ # The name of the container recipe.
778
+ # @return [String]
779
+ #
780
+ # @!attribute [rw] description
781
+ # The description of the container recipe.
782
+ # @return [String]
783
+ #
784
+ # @!attribute [rw] semantic_version
785
+ # The semantic version of the container recipe
786
+ # (&lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;).
787
+ # @return [String]
788
+ #
789
+ # @!attribute [rw] components
790
+ # Components for build and test that are included in the container
791
+ # recipe.
792
+ # @return [Array<Types::ComponentConfiguration>]
793
+ #
794
+ # @!attribute [rw] dockerfile_template_data
795
+ # The Dockerfile template used to build your image as an inline data
796
+ # blob.
797
+ # @return [String]
798
+ #
799
+ # @!attribute [rw] dockerfile_template_uri
800
+ # The S3 URI for the Dockerfile that will be used to build your
801
+ # container image.
802
+ # @return [String]
803
+ #
804
+ # @!attribute [rw] platform_override
805
+ # Specifies the operating system platform when you use a custom source
806
+ # image.
807
+ # @return [String]
808
+ #
809
+ # @!attribute [rw] image_os_version_override
810
+ # Specifies the operating system version for the source image.
811
+ # @return [String]
812
+ #
813
+ # @!attribute [rw] parent_image
814
+ # The source image for the container recipe.
815
+ # @return [String]
816
+ #
817
+ # @!attribute [rw] tags
818
+ # Tags that are attached to the container recipe.
819
+ # @return [Hash<String,String>]
820
+ #
821
+ # @!attribute [rw] working_directory
822
+ # The working directory for use during build and test workflows.
823
+ # @return [String]
824
+ #
825
+ # @!attribute [rw] target_repository
826
+ # The destination repository for the container image.
827
+ # @return [Types::TargetContainerRepository]
828
+ #
829
+ # @!attribute [rw] kms_key_id
830
+ # Identifies which KMS key is used to encrypt the container image.
831
+ # @return [String]
832
+ #
833
+ # @!attribute [rw] client_token
834
+ # The client token used to make this request idempotent.
835
+ #
836
+ # **A suitable default value is auto-generated.** You should normally
837
+ # not need to pass this option.
838
+ # @return [String]
839
+ #
840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipeRequest AWS API Documentation
841
+ #
842
+ class CreateContainerRecipeRequest < Struct.new(
843
+ :container_type,
844
+ :name,
845
+ :description,
846
+ :semantic_version,
847
+ :components,
848
+ :dockerfile_template_data,
849
+ :dockerfile_template_uri,
850
+ :platform_override,
851
+ :image_os_version_override,
852
+ :parent_image,
853
+ :tags,
854
+ :working_directory,
855
+ :target_repository,
856
+ :kms_key_id,
857
+ :client_token)
858
+ SENSITIVE = []
859
+ include Aws::Structure
860
+ end
861
+
862
+ # @!attribute [rw] request_id
863
+ # The request ID that uniquely identifies this request.
864
+ # @return [String]
865
+ #
866
+ # @!attribute [rw] client_token
867
+ # The client token used to make this request idempotent.
868
+ # @return [String]
869
+ #
870
+ # @!attribute [rw] container_recipe_arn
871
+ # Returns the Amazon Resource Name (ARN) of the container recipe that
872
+ # the request created.
873
+ # @return [String]
874
+ #
875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipeResponse AWS API Documentation
876
+ #
877
+ class CreateContainerRecipeResponse < Struct.new(
878
+ :request_id,
879
+ :client_token,
880
+ :container_recipe_arn)
881
+ SENSITIVE = []
882
+ include Aws::Structure
883
+ end
884
+
526
885
  # @note When making an API call, you may pass CreateDistributionConfigurationRequest
527
886
  # data as a hash:
528
887
  #
@@ -535,16 +894,25 @@ module Aws::Imagebuilder
535
894
  # ami_distribution_configuration: {
536
895
  # name: "AmiNameString",
537
896
  # description: "NonEmptyString",
897
+ # target_account_ids: ["AccountId"],
538
898
  # ami_tags: {
539
899
  # "TagKey" => "TagValue",
540
900
  # },
541
901
  # kms_key_id: "NonEmptyString",
542
902
  # launch_permission: {
543
- # user_ids: ["NonEmptyString"],
903
+ # user_ids: ["AccountId"],
544
904
  # user_groups: ["NonEmptyString"],
545
905
  # },
546
906
  # },
547
- # license_configuration_arns: ["Arn"],
907
+ # container_distribution_configuration: {
908
+ # description: "NonEmptyString",
909
+ # container_tags: ["NonEmptyString"],
910
+ # target_repository: { # required
911
+ # service: "ECR", # required, accepts ECR
912
+ # repository_name: "NonEmptyString", # required
913
+ # },
914
+ # },
915
+ # license_configuration_arns: ["LicenseConfigurationArn"],
548
916
  # },
549
917
  # ],
550
918
  # tags: {
@@ -617,7 +985,8 @@ module Aws::Imagebuilder
617
985
  # {
618
986
  # name: "ResourceName", # required
619
987
  # description: "NonEmptyString",
620
- # image_recipe_arn: "ImageRecipeArn", # required
988
+ # image_recipe_arn: "ImageRecipeArn",
989
+ # container_recipe_arn: "ContainerRecipeArn",
621
990
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
622
991
  # distribution_configuration_arn: "DistributionConfigurationArn",
623
992
  # image_tests_configuration: {
@@ -627,6 +996,7 @@ module Aws::Imagebuilder
627
996
  # enhanced_image_metadata_enabled: false,
628
997
  # schedule: {
629
998
  # schedule_expression: "NonEmptyString",
999
+ # timezone: "Timezone",
630
1000
  # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
631
1001
  # },
632
1002
  # status: "DISABLED", # accepts DISABLED, ENABLED
@@ -649,6 +1019,11 @@ module Aws::Imagebuilder
649
1019
  # to configure images created by this image pipeline.
650
1020
  # @return [String]
651
1021
  #
1022
+ # @!attribute [rw] container_recipe_arn
1023
+ # The Amazon Resource Name (ARN) of the container recipe that is used
1024
+ # to configure images created by this container pipeline.
1025
+ # @return [String]
1026
+ #
652
1027
  # @!attribute [rw] infrastructure_configuration_arn
653
1028
  # The Amazon Resource Name (ARN) of the infrastructure configuration
654
1029
  # that will be used to build images created by this image pipeline.
@@ -696,6 +1071,7 @@ module Aws::Imagebuilder
696
1071
  :name,
697
1072
  :description,
698
1073
  :image_recipe_arn,
1074
+ :container_recipe_arn,
699
1075
  :infrastructure_configuration_arn,
700
1076
  :distribution_configuration_arn,
701
1077
  :image_tests_configuration,
@@ -754,7 +1130,7 @@ module Aws::Imagebuilder
754
1130
  # kms_key_id: "NonEmptyString",
755
1131
  # snapshot_id: "NonEmptyString",
756
1132
  # volume_size: 1,
757
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
1133
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
758
1134
  # },
759
1135
  # virtual_name: "NonEmptyString",
760
1136
  # no_device: "EmptyString",
@@ -787,9 +1163,7 @@ module Aws::Imagebuilder
787
1163
  # The parent image of the image recipe. The value of the string can be
788
1164
  # the ARN of the parent image or an AMI ID. The format for the ARN
789
1165
  # follows this example:
790
- # `arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x`.
791
- # The ARN ends with `/20xx.x.x`, which communicates to EC2 Image
792
- # Builder that you want to use the latest AMI created in 20xx (year).
1166
+ # `arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/xxxx.x.x`.
793
1167
  # You can provide the specific version that you want to use, or you
794
1168
  # can use a wildcard in all of the fields. If you enter an AMI ID for
795
1169
  # the string value, you must have access to the AMI, and the AMI must
@@ -858,7 +1232,8 @@ module Aws::Imagebuilder
858
1232
  # data as a hash:
859
1233
  #
860
1234
  # {
861
- # image_recipe_arn: "ImageRecipeArn", # required
1235
+ # image_recipe_arn: "ImageRecipeArn",
1236
+ # container_recipe_arn: "ContainerRecipeArn",
862
1237
  # distribution_configuration_arn: "DistributionConfigurationArn",
863
1238
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
864
1239
  # image_tests_configuration: {
@@ -877,6 +1252,11 @@ module Aws::Imagebuilder
877
1252
  # images are configured, tested, and assessed.
878
1253
  # @return [String]
879
1254
  #
1255
+ # @!attribute [rw] container_recipe_arn
1256
+ # The Amazon Resource Name (ARN) of the container recipe that defines
1257
+ # how images are configured and tested.
1258
+ # @return [String]
1259
+ #
880
1260
  # @!attribute [rw] distribution_configuration_arn
881
1261
  # The Amazon Resource Name (ARN) of the distribution configuration
882
1262
  # that defines and configures the outputs of your pipeline.
@@ -914,6 +1294,7 @@ module Aws::Imagebuilder
914
1294
  #
915
1295
  class CreateImageRequest < Struct.new(
916
1296
  :image_recipe_arn,
1297
+ :container_recipe_arn,
917
1298
  :distribution_configuration_arn,
918
1299
  :infrastructure_configuration_arn,
919
1300
  :image_tests_configuration,
@@ -1120,6 +1501,43 @@ module Aws::Imagebuilder
1120
1501
  include Aws::Structure
1121
1502
  end
1122
1503
 
1504
+ # @note When making an API call, you may pass DeleteContainerRecipeRequest
1505
+ # data as a hash:
1506
+ #
1507
+ # {
1508
+ # container_recipe_arn: "ContainerRecipeArn", # required
1509
+ # }
1510
+ #
1511
+ # @!attribute [rw] container_recipe_arn
1512
+ # The Amazon Resource Name (ARN) of the container recipe to delete.
1513
+ # @return [String]
1514
+ #
1515
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipeRequest AWS API Documentation
1516
+ #
1517
+ class DeleteContainerRecipeRequest < Struct.new(
1518
+ :container_recipe_arn)
1519
+ SENSITIVE = []
1520
+ include Aws::Structure
1521
+ end
1522
+
1523
+ # @!attribute [rw] request_id
1524
+ # The request ID that uniquely identifies this request.
1525
+ # @return [String]
1526
+ #
1527
+ # @!attribute [rw] container_recipe_arn
1528
+ # The Amazon Resource Name (ARN) of the container recipe that was
1529
+ # deleted.
1530
+ # @return [String]
1531
+ #
1532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipeResponse AWS API Documentation
1533
+ #
1534
+ class DeleteContainerRecipeResponse < Struct.new(
1535
+ :request_id,
1536
+ :container_recipe_arn)
1537
+ SENSITIVE = []
1538
+ include Aws::Structure
1539
+ end
1540
+
1123
1541
  # @note When making an API call, you may pass DeleteDistributionConfigurationRequest
1124
1542
  # data as a hash:
1125
1543
  #
@@ -1315,16 +1733,25 @@ module Aws::Imagebuilder
1315
1733
  # ami_distribution_configuration: {
1316
1734
  # name: "AmiNameString",
1317
1735
  # description: "NonEmptyString",
1736
+ # target_account_ids: ["AccountId"],
1318
1737
  # ami_tags: {
1319
1738
  # "TagKey" => "TagValue",
1320
1739
  # },
1321
1740
  # kms_key_id: "NonEmptyString",
1322
1741
  # launch_permission: {
1323
- # user_ids: ["NonEmptyString"],
1742
+ # user_ids: ["AccountId"],
1324
1743
  # user_groups: ["NonEmptyString"],
1325
1744
  # },
1326
1745
  # },
1327
- # license_configuration_arns: ["Arn"],
1746
+ # container_distribution_configuration: {
1747
+ # description: "NonEmptyString",
1748
+ # container_tags: ["NonEmptyString"],
1749
+ # target_repository: { # required
1750
+ # service: "ECR", # required, accepts ECR
1751
+ # repository_name: "NonEmptyString", # required
1752
+ # },
1753
+ # },
1754
+ # license_configuration_arns: ["LicenseConfigurationArn"],
1328
1755
  # }
1329
1756
  #
1330
1757
  # @!attribute [rw] region
@@ -1336,6 +1763,11 @@ module Aws::Imagebuilder
1336
1763
  # tags).
1337
1764
  # @return [Types::AmiDistributionConfiguration]
1338
1765
  #
1766
+ # @!attribute [rw] container_distribution_configuration
1767
+ # Container distribution settings for encryption, licensing, and
1768
+ # sharing in a specific Region.
1769
+ # @return [Types::ContainerDistributionConfiguration]
1770
+ #
1339
1771
  # @!attribute [rw] license_configuration_arns
1340
1772
  # The License Manager Configuration to associate with the AMI in the
1341
1773
  # specified Region.
@@ -1346,6 +1778,7 @@ module Aws::Imagebuilder
1346
1778
  class Distribution < Struct.new(
1347
1779
  :region,
1348
1780
  :ami_distribution_configuration,
1781
+ :container_distribution_configuration,
1349
1782
  :license_configuration_arns)
1350
1783
  SENSITIVE = []
1351
1784
  include Aws::Structure
@@ -1426,6 +1859,10 @@ module Aws::Imagebuilder
1426
1859
  # The tags associated with the distribution configuration.
1427
1860
  # @return [Hash<String,String>]
1428
1861
  #
1862
+ # @!attribute [rw] regions
1863
+ # A list of Regions where the container image is distributed to.
1864
+ # @return [Array<String>]
1865
+ #
1429
1866
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DistributionConfigurationSummary AWS API Documentation
1430
1867
  #
1431
1868
  class DistributionConfigurationSummary < Struct.new(
@@ -1434,7 +1871,8 @@ module Aws::Imagebuilder
1434
1871
  :description,
1435
1872
  :date_created,
1436
1873
  :date_updated,
1437
- :tags)
1874
+ :tags,
1875
+ :regions)
1438
1876
  SENSITIVE = []
1439
1877
  include Aws::Structure
1440
1878
  end
@@ -1451,7 +1889,7 @@ module Aws::Imagebuilder
1451
1889
  # kms_key_id: "NonEmptyString",
1452
1890
  # snapshot_id: "NonEmptyString",
1453
1891
  # volume_size: 1,
1454
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
1892
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
1455
1893
  # }
1456
1894
  #
1457
1895
  # @!attribute [rw] encrypted
@@ -1526,35 +1964,109 @@ module Aws::Imagebuilder
1526
1964
  include Aws::Structure
1527
1965
  end
1528
1966
 
1529
- # You are not authorized to perform the requested operation.
1530
- #
1531
- # @!attribute [rw] message
1967
+ # You are not authorized to perform the requested operation.
1968
+ #
1969
+ # @!attribute [rw] message
1970
+ # @return [String]
1971
+ #
1972
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ForbiddenException AWS API Documentation
1973
+ #
1974
+ class ForbiddenException < Struct.new(
1975
+ :message)
1976
+ SENSITIVE = []
1977
+ include Aws::Structure
1978
+ end
1979
+
1980
+ # @note When making an API call, you may pass GetComponentPolicyRequest
1981
+ # data as a hash:
1982
+ #
1983
+ # {
1984
+ # component_arn: "ComponentBuildVersionArn", # required
1985
+ # }
1986
+ #
1987
+ # @!attribute [rw] component_arn
1988
+ # The Amazon Resource Name (ARN) of the component whose policy you
1989
+ # want to retrieve.
1990
+ # @return [String]
1991
+ #
1992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicyRequest AWS API Documentation
1993
+ #
1994
+ class GetComponentPolicyRequest < Struct.new(
1995
+ :component_arn)
1996
+ SENSITIVE = []
1997
+ include Aws::Structure
1998
+ end
1999
+
2000
+ # @!attribute [rw] request_id
2001
+ # The request ID that uniquely identifies this request.
2002
+ # @return [String]
2003
+ #
2004
+ # @!attribute [rw] policy
2005
+ # The component policy.
2006
+ # @return [String]
2007
+ #
2008
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicyResponse AWS API Documentation
2009
+ #
2010
+ class GetComponentPolicyResponse < Struct.new(
2011
+ :request_id,
2012
+ :policy)
2013
+ SENSITIVE = []
2014
+ include Aws::Structure
2015
+ end
2016
+
2017
+ # @note When making an API call, you may pass GetComponentRequest
2018
+ # data as a hash:
2019
+ #
2020
+ # {
2021
+ # component_build_version_arn: "ComponentVersionArnOrBuildVersionArn", # required
2022
+ # }
2023
+ #
2024
+ # @!attribute [rw] component_build_version_arn
2025
+ # The Amazon Resource Name (ARN) of the component that you want to
2026
+ # retrieve. Regex requires "/\\d+$" suffix.
2027
+ # @return [String]
2028
+ #
2029
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentRequest AWS API Documentation
2030
+ #
2031
+ class GetComponentRequest < Struct.new(
2032
+ :component_build_version_arn)
2033
+ SENSITIVE = []
2034
+ include Aws::Structure
2035
+ end
2036
+
2037
+ # @!attribute [rw] request_id
2038
+ # The request ID that uniquely identifies this request.
1532
2039
  # @return [String]
1533
2040
  #
1534
- # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ForbiddenException AWS API Documentation
2041
+ # @!attribute [rw] component
2042
+ # The component object associated with the specified ARN.
2043
+ # @return [Types::Component]
1535
2044
  #
1536
- class ForbiddenException < Struct.new(
1537
- :message)
2045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentResponse AWS API Documentation
2046
+ #
2047
+ class GetComponentResponse < Struct.new(
2048
+ :request_id,
2049
+ :component)
1538
2050
  SENSITIVE = []
1539
2051
  include Aws::Structure
1540
2052
  end
1541
2053
 
1542
- # @note When making an API call, you may pass GetComponentPolicyRequest
2054
+ # @note When making an API call, you may pass GetContainerRecipePolicyRequest
1543
2055
  # data as a hash:
1544
2056
  #
1545
2057
  # {
1546
- # component_arn: "ComponentBuildVersionArn", # required
2058
+ # container_recipe_arn: "ContainerRecipeArn", # required
1547
2059
  # }
1548
2060
  #
1549
- # @!attribute [rw] component_arn
1550
- # The Amazon Resource Name (ARN) of the component whose policy you
1551
- # want to retrieve.
2061
+ # @!attribute [rw] container_recipe_arn
2062
+ # The Amazon Resource Name (ARN) of the container recipe for the
2063
+ # policy being requested.
1552
2064
  # @return [String]
1553
2065
  #
1554
- # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicyRequest AWS API Documentation
2066
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicyRequest AWS API Documentation
1555
2067
  #
1556
- class GetComponentPolicyRequest < Struct.new(
1557
- :component_arn)
2068
+ class GetContainerRecipePolicyRequest < Struct.new(
2069
+ :container_recipe_arn)
1558
2070
  SENSITIVE = []
1559
2071
  include Aws::Structure
1560
2072
  end
@@ -1564,34 +2076,33 @@ module Aws::Imagebuilder
1564
2076
  # @return [String]
1565
2077
  #
1566
2078
  # @!attribute [rw] policy
1567
- # The component policy.
2079
+ # The container recipe policy object that is returned.
1568
2080
  # @return [String]
1569
2081
  #
1570
- # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicyResponse AWS API Documentation
2082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicyResponse AWS API Documentation
1571
2083
  #
1572
- class GetComponentPolicyResponse < Struct.new(
2084
+ class GetContainerRecipePolicyResponse < Struct.new(
1573
2085
  :request_id,
1574
2086
  :policy)
1575
2087
  SENSITIVE = []
1576
2088
  include Aws::Structure
1577
2089
  end
1578
2090
 
1579
- # @note When making an API call, you may pass GetComponentRequest
2091
+ # @note When making an API call, you may pass GetContainerRecipeRequest
1580
2092
  # data as a hash:
1581
2093
  #
1582
2094
  # {
1583
- # component_build_version_arn: "ComponentVersionArnOrBuildVersionArn", # required
2095
+ # container_recipe_arn: "ContainerRecipeArn", # required
1584
2096
  # }
1585
2097
  #
1586
- # @!attribute [rw] component_build_version_arn
1587
- # The Amazon Resource Name (ARN) of the component that you want to
1588
- # retrieve. Regex requires "/\\d+$" suffix.
2098
+ # @!attribute [rw] container_recipe_arn
2099
+ # The Amazon Resource Name (ARN) of the container recipe to retrieve.
1589
2100
  # @return [String]
1590
2101
  #
1591
- # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentRequest AWS API Documentation
2102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipeRequest AWS API Documentation
1592
2103
  #
1593
- class GetComponentRequest < Struct.new(
1594
- :component_build_version_arn)
2104
+ class GetContainerRecipeRequest < Struct.new(
2105
+ :container_recipe_arn)
1595
2106
  SENSITIVE = []
1596
2107
  include Aws::Structure
1597
2108
  end
@@ -1600,15 +2111,15 @@ module Aws::Imagebuilder
1600
2111
  # The request ID that uniquely identifies this request.
1601
2112
  # @return [String]
1602
2113
  #
1603
- # @!attribute [rw] component
1604
- # The component object associated with the specified ARN.
1605
- # @return [Types::Component]
2114
+ # @!attribute [rw] container_recipe
2115
+ # The container recipe object that is returned.
2116
+ # @return [Types::ContainerRecipe]
1606
2117
  #
1607
- # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentResponse AWS API Documentation
2118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipeResponse AWS API Documentation
1608
2119
  #
1609
- class GetComponentResponse < Struct.new(
2120
+ class GetContainerRecipeResponse < Struct.new(
1610
2121
  :request_id,
1611
- :component)
2122
+ :container_recipe)
1612
2123
  SENSITIVE = []
1613
2124
  include Aws::Structure
1614
2125
  end
@@ -1897,6 +2408,10 @@ module Aws::Imagebuilder
1897
2408
  # The Amazon Resource Name (ARN) of the image.
1898
2409
  # @return [String]
1899
2410
  #
2411
+ # @!attribute [rw] type
2412
+ # Specifies whether this is an AMI or container image.
2413
+ # @return [String]
2414
+ #
1900
2415
  # @!attribute [rw] name
1901
2416
  # The name of the image.
1902
2417
  # @return [String]
@@ -1929,6 +2444,10 @@ module Aws::Imagebuilder
1929
2444
  # The image recipe used when creating the image.
1930
2445
  # @return [Types::ImageRecipe]
1931
2446
  #
2447
+ # @!attribute [rw] container_recipe
2448
+ # The container recipe used to create the container image type.
2449
+ # @return [Types::ContainerRecipe]
2450
+ #
1932
2451
  # @!attribute [rw] source_pipeline_name
1933
2452
  # The name of the image pipeline that created this image.
1934
2453
  # @return [String]
@@ -1966,6 +2485,7 @@ module Aws::Imagebuilder
1966
2485
  #
1967
2486
  class Image < Struct.new(
1968
2487
  :arn,
2488
+ :type,
1969
2489
  :name,
1970
2490
  :version,
1971
2491
  :platform,
@@ -1973,6 +2493,7 @@ module Aws::Imagebuilder
1973
2493
  :os_version,
1974
2494
  :state,
1975
2495
  :image_recipe,
2496
+ :container_recipe,
1976
2497
  :source_pipeline_name,
1977
2498
  :source_pipeline_arn,
1978
2499
  :infrastructure_configuration,
@@ -1985,6 +2506,27 @@ module Aws::Imagebuilder
1985
2506
  include Aws::Structure
1986
2507
  end
1987
2508
 
2509
+ # Represents a package installed on an Image Builder image.
2510
+ #
2511
+ # @!attribute [rw] package_name
2512
+ # The name of the package as reported to the operating system package
2513
+ # manager.
2514
+ # @return [String]
2515
+ #
2516
+ # @!attribute [rw] package_version
2517
+ # The version of the package as reported to the operating system
2518
+ # package manager.
2519
+ # @return [String]
2520
+ #
2521
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImagePackage AWS API Documentation
2522
+ #
2523
+ class ImagePackage < Struct.new(
2524
+ :package_name,
2525
+ :package_version)
2526
+ SENSITIVE = []
2527
+ include Aws::Structure
2528
+ end
2529
+
1988
2530
  # Details of an image pipeline.
1989
2531
  #
1990
2532
  # @!attribute [rw] arn
@@ -2015,6 +2557,11 @@ module Aws::Imagebuilder
2015
2557
  # this image pipeline.
2016
2558
  # @return [String]
2017
2559
  #
2560
+ # @!attribute [rw] container_recipe_arn
2561
+ # The Amazon Resource Name (ARN) of the container recipe that is used
2562
+ # for this pipeline.
2563
+ # @return [String]
2564
+ #
2018
2565
  # @!attribute [rw] infrastructure_configuration_arn
2019
2566
  # The Amazon Resource Name (ARN) of the infrastructure configuration
2020
2567
  # associated with this image pipeline.
@@ -2066,6 +2613,7 @@ module Aws::Imagebuilder
2066
2613
  :platform,
2067
2614
  :enhanced_image_metadata_enabled,
2068
2615
  :image_recipe_arn,
2616
+ :container_recipe_arn,
2069
2617
  :infrastructure_configuration_arn,
2070
2618
  :distribution_configuration_arn,
2071
2619
  :image_tests_configuration,
@@ -2086,6 +2634,11 @@ module Aws::Imagebuilder
2086
2634
  # The Amazon Resource Name (ARN) of the image recipe.
2087
2635
  # @return [String]
2088
2636
  #
2637
+ # @!attribute [rw] type
2638
+ # Specifies which type of image is created by the recipe - an AMI or a
2639
+ # container image.
2640
+ # @return [String]
2641
+ #
2089
2642
  # @!attribute [rw] name
2090
2643
  # The name of the image recipe.
2091
2644
  # @return [String]
@@ -2135,6 +2688,7 @@ module Aws::Imagebuilder
2135
2688
  #
2136
2689
  class ImageRecipe < Struct.new(
2137
2690
  :arn,
2691
+ :type,
2138
2692
  :name,
2139
2693
  :description,
2140
2694
  :platform,
@@ -2223,6 +2777,10 @@ module Aws::Imagebuilder
2223
2777
  # The name of the image.
2224
2778
  # @return [String]
2225
2779
  #
2780
+ # @!attribute [rw] type
2781
+ # Specifies whether this is an AMI or container image.
2782
+ # @return [String]
2783
+ #
2226
2784
  # @!attribute [rw] version
2227
2785
  # The version of the image.
2228
2786
  # @return [String]
@@ -2261,6 +2819,7 @@ module Aws::Imagebuilder
2261
2819
  class ImageSummary < Struct.new(
2262
2820
  :arn,
2263
2821
  :name,
2822
+ :type,
2264
2823
  :version,
2265
2824
  :platform,
2266
2825
  :os_version,
@@ -2310,6 +2869,10 @@ module Aws::Imagebuilder
2310
2869
  # The name of the image semantic version.
2311
2870
  # @return [String]
2312
2871
  #
2872
+ # @!attribute [rw] type
2873
+ # Specifies whether this is an AMI or container image.
2874
+ # @return [String]
2875
+ #
2313
2876
  # @!attribute [rw] version
2314
2877
  # The semantic version of the image semantic version.
2315
2878
  # @return [String]
@@ -2336,6 +2899,7 @@ module Aws::Imagebuilder
2336
2899
  class ImageVersion < Struct.new(
2337
2900
  :arn,
2338
2901
  :name,
2902
+ :type,
2339
2903
  :version,
2340
2904
  :platform,
2341
2905
  :os_version,
@@ -2584,6 +3148,14 @@ module Aws::Imagebuilder
2584
3148
  # The tags of the infrastructure configuration.
2585
3149
  # @return [Hash<String,String>]
2586
3150
  #
3151
+ # @!attribute [rw] instance_types
3152
+ # The instance types of the infrastructure configuration.
3153
+ # @return [Array<String>]
3154
+ #
3155
+ # @!attribute [rw] instance_profile_name
3156
+ # The instance profile of the infrastructure configuration.
3157
+ # @return [String]
3158
+ #
2587
3159
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/InfrastructureConfigurationSummary AWS API Documentation
2588
3160
  #
2589
3161
  class InfrastructureConfigurationSummary < Struct.new(
@@ -2593,7 +3165,9 @@ module Aws::Imagebuilder
2593
3165
  :date_created,
2594
3166
  :date_updated,
2595
3167
  :resource_tags,
2596
- :tags)
3168
+ :tags,
3169
+ :instance_types,
3170
+ :instance_profile_name)
2597
3171
  SENSITIVE = []
2598
3172
  include Aws::Structure
2599
3173
  end
@@ -2613,7 +3187,7 @@ module Aws::Imagebuilder
2613
3187
  # kms_key_id: "NonEmptyString",
2614
3188
  # snapshot_id: "NonEmptyString",
2615
3189
  # volume_size: 1,
2616
- # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
3190
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
2617
3191
  # },
2618
3192
  # virtual_name: "NonEmptyString",
2619
3193
  # no_device: "EmptyString",
@@ -2743,7 +3317,7 @@ module Aws::Imagebuilder
2743
3317
  # data as a hash:
2744
3318
  #
2745
3319
  # {
2746
- # user_ids: ["NonEmptyString"],
3320
+ # user_ids: ["AccountId"],
2747
3321
  # user_groups: ["NonEmptyString"],
2748
3322
  # }
2749
3323
  #
@@ -2770,7 +3344,7 @@ module Aws::Imagebuilder
2770
3344
  # {
2771
3345
  # component_version_arn: "ComponentVersionArn", # required
2772
3346
  # max_results: 1,
2773
- # next_token: "NonEmptyString",
3347
+ # next_token: "PaginationToken",
2774
3348
  # }
2775
3349
  #
2776
3350
  # @!attribute [rw] component_version_arn
@@ -2833,8 +3407,9 @@ module Aws::Imagebuilder
2833
3407
  # values: ["FilterValue"],
2834
3408
  # },
2835
3409
  # ],
3410
+ # by_name: false,
2836
3411
  # max_results: 1,
2837
- # next_token: "NonEmptyString",
3412
+ # next_token: "PaginationToken",
2838
3413
  # }
2839
3414
  #
2840
3415
  # @!attribute [rw] owner
@@ -2849,6 +3424,11 @@ module Aws::Imagebuilder
2849
3424
  # The filters.
2850
3425
  # @return [Array<Types::Filter>]
2851
3426
  #
3427
+ # @!attribute [rw] by_name
3428
+ # Returns the list of component build versions for the specified
3429
+ # semantic version.
3430
+ # @return [Boolean]
3431
+ #
2852
3432
  # @!attribute [rw] max_results
2853
3433
  # The maximum items to return in a request.
2854
3434
  # @return [Integer]
@@ -2863,6 +3443,7 @@ module Aws::Imagebuilder
2863
3443
  class ListComponentsRequest < Struct.new(
2864
3444
  :owner,
2865
3445
  :filters,
3446
+ :by_name,
2866
3447
  :max_results,
2867
3448
  :next_token)
2868
3449
  SENSITIVE = []
@@ -2894,10 +3475,11 @@ module Aws::Imagebuilder
2894
3475
  include Aws::Structure
2895
3476
  end
2896
3477
 
2897
- # @note When making an API call, you may pass ListDistributionConfigurationsRequest
3478
+ # @note When making an API call, you may pass ListContainerRecipesRequest
2898
3479
  # data as a hash:
2899
3480
  #
2900
3481
  # {
3482
+ # owner: "Self", # accepts Self, Shared, Amazon
2901
3483
  # filters: [
2902
3484
  # {
2903
3485
  # name: "FilterName",
@@ -2908,6 +3490,77 @@ module Aws::Imagebuilder
2908
3490
  # next_token: "NonEmptyString",
2909
3491
  # }
2910
3492
  #
3493
+ # @!attribute [rw] owner
3494
+ # Returns container recipes belonging to the specified owner, that
3495
+ # have been shared with you. You can omit this field to return
3496
+ # container recipes belonging to your account.
3497
+ # @return [String]
3498
+ #
3499
+ # @!attribute [rw] filters
3500
+ # Request filters that are used to narrow the list of container images
3501
+ # that are returned.
3502
+ # @return [Array<Types::Filter>]
3503
+ #
3504
+ # @!attribute [rw] max_results
3505
+ # The maximum number of results to return in the list.
3506
+ # @return [Integer]
3507
+ #
3508
+ # @!attribute [rw] next_token
3509
+ # Provides a token for pagination, which determines where to begin the
3510
+ # next set of results when the current set reaches the maximum for one
3511
+ # request.
3512
+ # @return [String]
3513
+ #
3514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipesRequest AWS API Documentation
3515
+ #
3516
+ class ListContainerRecipesRequest < Struct.new(
3517
+ :owner,
3518
+ :filters,
3519
+ :max_results,
3520
+ :next_token)
3521
+ SENSITIVE = []
3522
+ include Aws::Structure
3523
+ end
3524
+
3525
+ # @!attribute [rw] request_id
3526
+ # The request ID that uniquely identifies this request.
3527
+ # @return [String]
3528
+ #
3529
+ # @!attribute [rw] container_recipe_summary_list
3530
+ # The list of container recipes returned for the request.
3531
+ # @return [Array<Types::ContainerRecipeSummary>]
3532
+ #
3533
+ # @!attribute [rw] next_token
3534
+ # The next token field is used for paginated responses. When this is
3535
+ # not empty, there are additional container recipes that the service
3536
+ # has not included in this response. Use this token with the next
3537
+ # request to retrieve additional list items.
3538
+ # @return [String]
3539
+ #
3540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipesResponse AWS API Documentation
3541
+ #
3542
+ class ListContainerRecipesResponse < Struct.new(
3543
+ :request_id,
3544
+ :container_recipe_summary_list,
3545
+ :next_token)
3546
+ SENSITIVE = []
3547
+ include Aws::Structure
3548
+ end
3549
+
3550
+ # @note When making an API call, you may pass ListDistributionConfigurationsRequest
3551
+ # data as a hash:
3552
+ #
3553
+ # {
3554
+ # filters: [
3555
+ # {
3556
+ # name: "FilterName",
3557
+ # values: ["FilterValue"],
3558
+ # },
3559
+ # ],
3560
+ # max_results: 1,
3561
+ # next_token: "PaginationToken",
3562
+ # }
3563
+ #
2911
3564
  # @!attribute [rw] filters
2912
3565
  # The filters.
2913
3566
  #
@@ -2972,7 +3625,7 @@ module Aws::Imagebuilder
2972
3625
  # },
2973
3626
  # ],
2974
3627
  # max_results: 1,
2975
- # next_token: "NonEmptyString",
3628
+ # next_token: "PaginationToken",
2976
3629
  # }
2977
3630
  #
2978
3631
  # @!attribute [rw] image_version_arn
@@ -3029,6 +3682,63 @@ module Aws::Imagebuilder
3029
3682
  include Aws::Structure
3030
3683
  end
3031
3684
 
3685
+ # @note When making an API call, you may pass ListImagePackagesRequest
3686
+ # data as a hash:
3687
+ #
3688
+ # {
3689
+ # image_build_version_arn: "ImageBuildVersionArn", # required
3690
+ # max_results: 1,
3691
+ # next_token: "PaginationToken",
3692
+ # }
3693
+ #
3694
+ # @!attribute [rw] image_build_version_arn
3695
+ # Filter results for the ListImagePackages request by the Image Build
3696
+ # Version ARN
3697
+ # @return [String]
3698
+ #
3699
+ # @!attribute [rw] max_results
3700
+ # The maxiumum number of results to return from the ListImagePackages
3701
+ # request.
3702
+ # @return [Integer]
3703
+ #
3704
+ # @!attribute [rw] next_token
3705
+ # A token to specify where to start paginating. This is the NextToken
3706
+ # from a previously truncated response.
3707
+ # @return [String]
3708
+ #
3709
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackagesRequest AWS API Documentation
3710
+ #
3711
+ class ListImagePackagesRequest < Struct.new(
3712
+ :image_build_version_arn,
3713
+ :max_results,
3714
+ :next_token)
3715
+ SENSITIVE = []
3716
+ include Aws::Structure
3717
+ end
3718
+
3719
+ # @!attribute [rw] request_id
3720
+ # The request ID that uniquely identifies this request.
3721
+ # @return [String]
3722
+ #
3723
+ # @!attribute [rw] image_package_list
3724
+ # The list of Image Packages returned in the response.
3725
+ # @return [Array<Types::ImagePackage>]
3726
+ #
3727
+ # @!attribute [rw] next_token
3728
+ # A token to specify where to start paginating. This is the NextToken
3729
+ # from a previously truncated response.
3730
+ # @return [String]
3731
+ #
3732
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackagesResponse AWS API Documentation
3733
+ #
3734
+ class ListImagePackagesResponse < Struct.new(
3735
+ :request_id,
3736
+ :image_package_list,
3737
+ :next_token)
3738
+ SENSITIVE = []
3739
+ include Aws::Structure
3740
+ end
3741
+
3032
3742
  # @note When making an API call, you may pass ListImagePipelineImagesRequest
3033
3743
  # data as a hash:
3034
3744
  #
@@ -3041,7 +3751,7 @@ module Aws::Imagebuilder
3041
3751
  # },
3042
3752
  # ],
3043
3753
  # max_results: 1,
3044
- # next_token: "NonEmptyString",
3754
+ # next_token: "PaginationToken",
3045
3755
  # }
3046
3756
  #
3047
3757
  # @!attribute [rw] image_pipeline_arn
@@ -3109,7 +3819,7 @@ module Aws::Imagebuilder
3109
3819
  # },
3110
3820
  # ],
3111
3821
  # max_results: 1,
3112
- # next_token: "NonEmptyString",
3822
+ # next_token: "PaginationToken",
3113
3823
  # }
3114
3824
  #
3115
3825
  # @!attribute [rw] filters
@@ -3172,7 +3882,7 @@ module Aws::Imagebuilder
3172
3882
  # },
3173
3883
  # ],
3174
3884
  # max_results: 1,
3175
- # next_token: "NonEmptyString",
3885
+ # next_token: "PaginationToken",
3176
3886
  # }
3177
3887
  #
3178
3888
  # @!attribute [rw] owner
@@ -3243,8 +3953,10 @@ module Aws::Imagebuilder
3243
3953
  # values: ["FilterValue"],
3244
3954
  # },
3245
3955
  # ],
3956
+ # by_name: false,
3246
3957
  # max_results: 1,
3247
- # next_token: "NonEmptyString",
3958
+ # next_token: "PaginationToken",
3959
+ # include_deprecated: false,
3248
3960
  # }
3249
3961
  #
3250
3962
  # @!attribute [rw] owner
@@ -3259,6 +3971,10 @@ module Aws::Imagebuilder
3259
3971
  # The filters.
3260
3972
  # @return [Array<Types::Filter>]
3261
3973
  #
3974
+ # @!attribute [rw] by_name
3975
+ # Requests a list of images with a specific recipe name.
3976
+ # @return [Boolean]
3977
+ #
3262
3978
  # @!attribute [rw] max_results
3263
3979
  # The maximum items to return in a request.
3264
3980
  # @return [Integer]
@@ -3268,13 +3984,19 @@ module Aws::Imagebuilder
3268
3984
  # from a previously truncated response.
3269
3985
  # @return [String]
3270
3986
  #
3987
+ # @!attribute [rw] include_deprecated
3988
+ # Includes deprecated images in the response list.
3989
+ # @return [Boolean]
3990
+ #
3271
3991
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagesRequest AWS API Documentation
3272
3992
  #
3273
3993
  class ListImagesRequest < Struct.new(
3274
3994
  :owner,
3275
3995
  :filters,
3996
+ :by_name,
3276
3997
  :max_results,
3277
- :next_token)
3998
+ :next_token,
3999
+ :include_deprecated)
3278
4000
  SENSITIVE = []
3279
4001
  include Aws::Structure
3280
4002
  end
@@ -3315,7 +4037,7 @@ module Aws::Imagebuilder
3315
4037
  # },
3316
4038
  # ],
3317
4039
  # max_results: 1,
3318
- # next_token: "NonEmptyString",
4040
+ # next_token: "PaginationToken",
3319
4041
  # }
3320
4042
  #
3321
4043
  # @!attribute [rw] filters
@@ -3428,10 +4150,16 @@ module Aws::Imagebuilder
3428
4150
  # The EC2 AMIs created by this image.
3429
4151
  # @return [Array<Types::Ami>]
3430
4152
  #
4153
+ # @!attribute [rw] containers
4154
+ # Container images that the pipeline has generated and stored in the
4155
+ # output repository.
4156
+ # @return [Array<Types::Container>]
4157
+ #
3431
4158
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/OutputResources AWS API Documentation
3432
4159
  #
3433
4160
  class OutputResources < Struct.new(
3434
- :amis)
4161
+ :amis,
4162
+ :containers)
3435
4163
  SENSITIVE = []
3436
4164
  include Aws::Structure
3437
4165
  end
@@ -3480,6 +4208,50 @@ module Aws::Imagebuilder
3480
4208
  include Aws::Structure
3481
4209
  end
3482
4210
 
4211
+ # @note When making an API call, you may pass PutContainerRecipePolicyRequest
4212
+ # data as a hash:
4213
+ #
4214
+ # {
4215
+ # container_recipe_arn: "ContainerRecipeArn", # required
4216
+ # policy: "ResourcePolicyDocument", # required
4217
+ # }
4218
+ #
4219
+ # @!attribute [rw] container_recipe_arn
4220
+ # The Amazon Resource Name (ARN) of the container recipe that this
4221
+ # policy should be applied to.
4222
+ # @return [String]
4223
+ #
4224
+ # @!attribute [rw] policy
4225
+ # The policy to apply to the container recipe.
4226
+ # @return [String]
4227
+ #
4228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicyRequest AWS API Documentation
4229
+ #
4230
+ class PutContainerRecipePolicyRequest < Struct.new(
4231
+ :container_recipe_arn,
4232
+ :policy)
4233
+ SENSITIVE = []
4234
+ include Aws::Structure
4235
+ end
4236
+
4237
+ # @!attribute [rw] request_id
4238
+ # The request ID that uniquely identifies this request.
4239
+ # @return [String]
4240
+ #
4241
+ # @!attribute [rw] container_recipe_arn
4242
+ # The Amazon Resource Name (ARN) of the container recipe that this
4243
+ # policy was applied to.
4244
+ # @return [String]
4245
+ #
4246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicyResponse AWS API Documentation
4247
+ #
4248
+ class PutContainerRecipePolicyResponse < Struct.new(
4249
+ :request_id,
4250
+ :container_recipe_arn)
4251
+ SENSITIVE = []
4252
+ include Aws::Structure
4253
+ end
4254
+
3483
4255
  # @note When making an API call, you may pass PutImagePolicyRequest
3484
4256
  # data as a hash:
3485
4257
  #
@@ -3658,27 +4430,55 @@ module Aws::Imagebuilder
3658
4430
  #
3659
4431
  # {
3660
4432
  # schedule_expression: "NonEmptyString",
4433
+ # timezone: "Timezone",
3661
4434
  # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
3662
4435
  # }
3663
4436
  #
3664
4437
  # @!attribute [rw] schedule_expression
3665
- # The expression determines how often EC2 Image Builder evaluates your
3666
- # `pipelineExecutionStartCondition`.
4438
+ # The cron expression determines how often EC2 Image Builder evaluates
4439
+ # your `pipelineExecutionStartCondition`.
4440
+ #
4441
+ # For information on how to format a cron expression in Image Builder,
4442
+ # see [Use cron expressions in EC2 Image Builder][1].
4443
+ #
4444
+ #
4445
+ #
4446
+ # [1]: https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html
4447
+ # @return [String]
4448
+ #
4449
+ # @!attribute [rw] timezone
4450
+ # The timezone that applies to the scheduling expression. For example,
4451
+ # "Etc/UTC", "America/Los\_Angeles" in the [IANA timezone
4452
+ # format][1]. If not specified this defaults to UTC.
4453
+ #
4454
+ #
4455
+ #
4456
+ # [1]: https://www.joda.org/joda-time/timezones.html
3667
4457
  # @return [String]
3668
4458
  #
3669
4459
  # @!attribute [rw] pipeline_execution_start_condition
3670
4460
  # The condition configures when the pipeline should trigger a new
3671
4461
  # image build. When the `pipelineExecutionStartCondition` is set to
3672
- # `EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE`, EC2 Image
3673
- # Builder will build a new image only when there are known changes
3674
- # pending. When it is set to `EXPRESSION_MATCH_ONLY`, it will build a
3675
- # new image every time the CRON expression matches the current time.
4462
+ # `EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE`, and you use
4463
+ # semantic version filters on the source image or components in your
4464
+ # image recipe, EC2 Image Builder will build a new image only when
4465
+ # there are new versions of the image or components in your recipe
4466
+ # that match the semantic version filter. When it is set to
4467
+ # `EXPRESSION_MATCH_ONLY`, it will build a new image every time the
4468
+ # CRON expression matches the current time. For semantic version
4469
+ # syntax, see [CreateComponent][1] in the <i> EC2 Image Builder API
4470
+ # Reference</i>.
4471
+ #
4472
+ #
4473
+ #
4474
+ # [1]: https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html
3676
4475
  # @return [String]
3677
4476
  #
3678
4477
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Schedule AWS API Documentation
3679
4478
  #
3680
4479
  class Schedule < Struct.new(
3681
4480
  :schedule_expression,
4481
+ :timezone,
3682
4482
  :pipeline_execution_start_condition)
3683
4483
  SENSITIVE = []
3684
4484
  include Aws::Structure
@@ -3813,6 +4613,34 @@ module Aws::Imagebuilder
3813
4613
  #
3814
4614
  class TagResourceResponse < Aws::EmptyStructure; end
3815
4615
 
4616
+ # The container repository where the output container image is stored.
4617
+ #
4618
+ # @note When making an API call, you may pass TargetContainerRepository
4619
+ # data as a hash:
4620
+ #
4621
+ # {
4622
+ # service: "ECR", # required, accepts ECR
4623
+ # repository_name: "NonEmptyString", # required
4624
+ # }
4625
+ #
4626
+ # @!attribute [rw] service
4627
+ # Specifies the service in which this image was registered.
4628
+ # @return [String]
4629
+ #
4630
+ # @!attribute [rw] repository_name
4631
+ # The name of the container repository where the output container
4632
+ # image is stored. This name is prefixed by the repository location.
4633
+ # @return [String]
4634
+ #
4635
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TargetContainerRepository AWS API Documentation
4636
+ #
4637
+ class TargetContainerRepository < Struct.new(
4638
+ :service,
4639
+ :repository_name)
4640
+ SENSITIVE = []
4641
+ include Aws::Structure
4642
+ end
4643
+
3816
4644
  # @note When making an API call, you may pass UntagResourceRequest
3817
4645
  # data as a hash:
3818
4646
  #
@@ -3855,16 +4683,25 @@ module Aws::Imagebuilder
3855
4683
  # ami_distribution_configuration: {
3856
4684
  # name: "AmiNameString",
3857
4685
  # description: "NonEmptyString",
4686
+ # target_account_ids: ["AccountId"],
3858
4687
  # ami_tags: {
3859
4688
  # "TagKey" => "TagValue",
3860
4689
  # },
3861
4690
  # kms_key_id: "NonEmptyString",
3862
4691
  # launch_permission: {
3863
- # user_ids: ["NonEmptyString"],
4692
+ # user_ids: ["AccountId"],
3864
4693
  # user_groups: ["NonEmptyString"],
3865
4694
  # },
3866
4695
  # },
3867
- # license_configuration_arns: ["Arn"],
4696
+ # container_distribution_configuration: {
4697
+ # description: "NonEmptyString",
4698
+ # container_tags: ["NonEmptyString"],
4699
+ # target_repository: { # required
4700
+ # service: "ECR", # required, accepts ECR
4701
+ # repository_name: "NonEmptyString", # required
4702
+ # },
4703
+ # },
4704
+ # license_configuration_arns: ["LicenseConfigurationArn"],
3868
4705
  # },
3869
4706
  # ],
3870
4707
  # client_token: "ClientToken", # required
@@ -3930,7 +4767,8 @@ module Aws::Imagebuilder
3930
4767
  # {
3931
4768
  # image_pipeline_arn: "ImagePipelineArn", # required
3932
4769
  # description: "NonEmptyString",
3933
- # image_recipe_arn: "ImageRecipeArn", # required
4770
+ # image_recipe_arn: "ImageRecipeArn",
4771
+ # container_recipe_arn: "ContainerRecipeArn",
3934
4772
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
3935
4773
  # distribution_configuration_arn: "DistributionConfigurationArn",
3936
4774
  # image_tests_configuration: {
@@ -3940,6 +4778,7 @@ module Aws::Imagebuilder
3940
4778
  # enhanced_image_metadata_enabled: false,
3941
4779
  # schedule: {
3942
4780
  # schedule_expression: "NonEmptyString",
4781
+ # timezone: "Timezone",
3943
4782
  # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
3944
4783
  # },
3945
4784
  # status: "DISABLED", # accepts DISABLED, ENABLED
@@ -3960,6 +4799,10 @@ module Aws::Imagebuilder
3960
4799
  # to configure images updated by this image pipeline.
3961
4800
  # @return [String]
3962
4801
  #
4802
+ # @!attribute [rw] container_recipe_arn
4803
+ # The Amazon Resource Name (ARN) of the container pipeline to update.
4804
+ # @return [String]
4805
+ #
3963
4806
  # @!attribute [rw] infrastructure_configuration_arn
3964
4807
  # The Amazon Resource Name (ARN) of the infrastructure configuration
3965
4808
  # that will be used to build images updated by this image pipeline.
@@ -4003,6 +4846,7 @@ module Aws::Imagebuilder
4003
4846
  :image_pipeline_arn,
4004
4847
  :description,
4005
4848
  :image_recipe_arn,
4849
+ :container_recipe_arn,
4006
4850
  :infrastructure_configuration_arn,
4007
4851
  :distribution_configuration_arn,
4008
4852
  :image_tests_configuration,