aws-sdk-imagebuilder 1.16.0 → 1.21.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 40bb1acbf6befa67e0d7225524760dba1fff56c3fb59f606d6f619300c8fb097
4
- data.tar.gz: afdd23a7a840c95738ea81eb5637b9e5e117788c251853649c984492af38df73
3
+ metadata.gz: afc56c1088a8e968723a1010a8210801e64f53bf514a6ea440c2a66178f61a36
4
+ data.tar.gz: 2057bf07fb5f68b5c92cee2c31a96ff84eba2e55139b5fcd6801c43873298de8
5
5
  SHA512:
6
- metadata.gz: d41a076fefadb8c7488c233ea5f37eb6b0801473b544bb6a782634abe073c4f267c5dffb3f685b07f15748c70168ff66330193ba23822f155b149aff5434c9ea
7
- data.tar.gz: 402c9af5095c2f42b53a2385acfa9f232757c88db4b2613db65218260f81584e9f659bd08c4d24795fd9efe80dd40f691d96194974f96d62323facbabebb2c37
6
+ metadata.gz: 9862c403833ee476cbd3632bff82951afe255cf21f72cac5a974a8a025cc60a52309a97377b8bb10f365a0a97d2d2ebae830d002834ca9ab01fc5b2cb1ae8d99
7
+ data.tar.gz: ee71e42866fb77f2a5eae753e6918b2a3dda85cc9de2e3942238d43461e4ac2a8af61e297d8641cb5d5afc37cc3a73825b598e4680e12520692b9c77e5432a19
data/CHANGELOG.md ADDED
@@ -0,0 +1,115 @@
1
+ Unreleased Changes
2
+ ------------------
3
+
4
+ 1.21.0 (2021-04-02)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for Block Device Mappings for container image builds, and adds distribution configuration support for EC2 launch templates in AMI builds.
8
+
9
+ 1.20.0 (2021-03-10)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.19.0 (2021-02-25)
15
+ ------------------
16
+
17
+ * Feature - This release introduces a new API (ListImagePackages) for listing packages installed on an image, and adds support for GP3 volume types, and for specifying a time zone in an image pipeline schedule.
18
+
19
+ 1.18.0 (2021-02-02)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.17.0 (2020-12-17)
25
+ ------------------
26
+
27
+ * Feature - This release adds support for building and distributing container images within EC2 Image Builder.
28
+
29
+ 1.16.0 (2020-10-30)
30
+ ------------------
31
+
32
+ * Feature - This feature increases the number of accounts that can be added to the Launch permissions within an Image Builder Distribution configuration.
33
+
34
+ 1.15.0 (2020-09-30)
35
+ ------------------
36
+
37
+ * Feature - EC2 Image Builder adds support for copying AMIs created by Image Builder to accounts specific to each Region.
38
+
39
+ 1.14.0 (2020-09-15)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ 1.13.0 (2020-08-25)
45
+ ------------------
46
+
47
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
48
+
49
+ 1.12.0 (2020-07-28)
50
+ ------------------
51
+
52
+ * Feature - This release updates distribution configurations to allow periods in AMI names.
53
+
54
+ 1.11.0 (2020-07-01)
55
+ ------------------
56
+
57
+ * Feature - EC2 Image Builder adds support for encrypted AMI distribution.
58
+
59
+ 1.10.0 (2020-06-23)
60
+ ------------------
61
+
62
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
63
+
64
+ 1.9.0 (2020-06-11)
65
+ ------------------
66
+
67
+ * Feature - EC2 Image Builder now supports specifying a custom working directory for your build and test workflows. In addition, Image Builder now supports defining tags that are applied to ephemeral resources created by EC2 Image Builder as part of the image creation workflow.
68
+
69
+ * Issue - Republish previous version with correct dependency on `aws-sdk-core`.
70
+
71
+ 1.8.0 (2020-06-10)
72
+ ------------------
73
+
74
+ * Issue - This version has been yanked. (#2327).
75
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
76
+
77
+ 1.7.0 (2020-05-28)
78
+ ------------------
79
+
80
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
81
+
82
+ 1.6.0 (2020-05-14)
83
+ ------------------
84
+
85
+ * Feature - This release adds a new parameter (SupportedOsVersions) to the Components API. This parameter lists the OS versions supported by a component.
86
+
87
+ 1.5.0 (2020-05-07)
88
+ ------------------
89
+
90
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
91
+
92
+ 1.4.0 (2020-04-16)
93
+ ------------------
94
+
95
+ * Feature - This release includes support for additional OS Versions within EC2 Image Builder.
96
+
97
+ 1.3.0 (2020-03-09)
98
+ ------------------
99
+
100
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
101
+
102
+ 1.2.0 (2020-02-21)
103
+ ------------------
104
+
105
+ * Feature - This release of EC2 Image Builder increases the maximum policy document size for Image Builder resource-based policy APIs.
106
+
107
+ 1.1.0 (2020-02-07)
108
+ ------------------
109
+
110
+ * Feature - This version of the SDK includes bug fixes and documentation updates.
111
+
112
+ 1.0.0 (2019-12-02)
113
+ ------------------
114
+
115
+ * Feature - Initial release of `aws-sdk-imagebuilder`.
data/LICENSE.txt ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.21.0
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-imagebuilder/customizations'
48
48
  # @!group service
49
49
  module Aws::Imagebuilder
50
50
 
51
- GEM_VERSION = '1.16.0'
51
+ GEM_VERSION = '1.21.0'
52
52
 
53
53
  end
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -457,6 +457,135 @@ module Aws::Imagebuilder
457
457
  req.send_request(options)
458
458
  end
459
459
 
460
+ # Creates a new container recipe. Container recipes define how images
461
+ # are configured, tested, and assessed.
462
+ #
463
+ # @option params [required, String] :container_type
464
+ # The type of container to create.
465
+ #
466
+ # @option params [required, String] :name
467
+ # The name of the container recipe.
468
+ #
469
+ # @option params [String] :description
470
+ # The description of the container recipe.
471
+ #
472
+ # @option params [required, String] :semantic_version
473
+ # The semantic version of the container recipe
474
+ # (<major>.<minor>.<patch>).
475
+ #
476
+ # @option params [required, Array<Types::ComponentConfiguration>] :components
477
+ # Components for build and test that are included in the container
478
+ # recipe.
479
+ #
480
+ # @option params [Types::InstanceConfiguration] :instance_configuration
481
+ # A group of options that can be used to configure an instance for
482
+ # building and testing container images.
483
+ #
484
+ # @option params [String] :dockerfile_template_data
485
+ # The Dockerfile template used to build your image as an inline data
486
+ # blob.
487
+ #
488
+ # @option params [String] :dockerfile_template_uri
489
+ # The S3 URI for the Dockerfile that will be used to build your
490
+ # container image.
491
+ #
492
+ # @option params [String] :platform_override
493
+ # Specifies the operating system platform when you use a custom source
494
+ # image.
495
+ #
496
+ # @option params [String] :image_os_version_override
497
+ # Specifies the operating system version for the source image.
498
+ #
499
+ # @option params [required, String] :parent_image
500
+ # The source image for the container recipe.
501
+ #
502
+ # @option params [Hash<String,String>] :tags
503
+ # Tags that are attached to the container recipe.
504
+ #
505
+ # @option params [String] :working_directory
506
+ # The working directory for use during build and test workflows.
507
+ #
508
+ # @option params [required, Types::TargetContainerRepository] :target_repository
509
+ # The destination repository for the container image.
510
+ #
511
+ # @option params [String] :kms_key_id
512
+ # Identifies which KMS key is used to encrypt the container image.
513
+ #
514
+ # @option params [required, String] :client_token
515
+ # The client token used to make this request idempotent.
516
+ #
517
+ # **A suitable default value is auto-generated.** You should normally
518
+ # not need to pass this option.**
519
+ #
520
+ # @return [Types::CreateContainerRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
521
+ #
522
+ # * {Types::CreateContainerRecipeResponse#request_id #request_id} => String
523
+ # * {Types::CreateContainerRecipeResponse#client_token #client_token} => String
524
+ # * {Types::CreateContainerRecipeResponse#container_recipe_arn #container_recipe_arn} => String
525
+ #
526
+ # @example Request syntax with placeholder values
527
+ #
528
+ # resp = client.create_container_recipe({
529
+ # container_type: "DOCKER", # required, accepts DOCKER
530
+ # name: "ResourceName", # required
531
+ # description: "NonEmptyString",
532
+ # semantic_version: "VersionNumber", # required
533
+ # components: [ # required
534
+ # {
535
+ # component_arn: "ComponentVersionArnOrBuildVersionArn", # required
536
+ # },
537
+ # ],
538
+ # instance_configuration: {
539
+ # image: "NonEmptyString",
540
+ # block_device_mappings: [
541
+ # {
542
+ # device_name: "NonEmptyString",
543
+ # ebs: {
544
+ # encrypted: false,
545
+ # delete_on_termination: false,
546
+ # iops: 1,
547
+ # kms_key_id: "NonEmptyString",
548
+ # snapshot_id: "NonEmptyString",
549
+ # volume_size: 1,
550
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
551
+ # },
552
+ # virtual_name: "NonEmptyString",
553
+ # no_device: "EmptyString",
554
+ # },
555
+ # ],
556
+ # },
557
+ # dockerfile_template_data: "InlineDockerFileTemplate",
558
+ # dockerfile_template_uri: "Uri",
559
+ # platform_override: "Windows", # accepts Windows, Linux
560
+ # image_os_version_override: "NonEmptyString",
561
+ # parent_image: "NonEmptyString", # required
562
+ # tags: {
563
+ # "TagKey" => "TagValue",
564
+ # },
565
+ # working_directory: "NonEmptyString",
566
+ # target_repository: { # required
567
+ # service: "ECR", # required, accepts ECR
568
+ # repository_name: "NonEmptyString", # required
569
+ # },
570
+ # kms_key_id: "NonEmptyString",
571
+ # client_token: "ClientToken", # required
572
+ # })
573
+ #
574
+ # @example Response structure
575
+ #
576
+ # resp.request_id #=> String
577
+ # resp.client_token #=> String
578
+ # resp.container_recipe_arn #=> String
579
+ #
580
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateContainerRecipe AWS API Documentation
581
+ #
582
+ # @overload create_container_recipe(params = {})
583
+ # @param [Hash] params ({})
584
+ def create_container_recipe(params = {}, options = {})
585
+ req = build_request(:create_container_recipe, params)
586
+ req.send_request(options)
587
+ end
588
+
460
589
  # Creates a new distribution configuration. Distribution configurations
461
590
  # define and configure the outputs of your pipeline.
462
591
  #
@@ -505,7 +634,22 @@ module Aws::Imagebuilder
505
634
  # user_groups: ["NonEmptyString"],
506
635
  # },
507
636
  # },
637
+ # container_distribution_configuration: {
638
+ # description: "NonEmptyString",
639
+ # container_tags: ["NonEmptyString"],
640
+ # target_repository: { # required
641
+ # service: "ECR", # required, accepts ECR
642
+ # repository_name: "NonEmptyString", # required
643
+ # },
644
+ # },
508
645
  # license_configuration_arns: ["LicenseConfigurationArn"],
646
+ # launch_template_configurations: [
647
+ # {
648
+ # launch_template_id: "LaunchTemplateId", # required
649
+ # account_id: "AccountId",
650
+ # set_default_version: false,
651
+ # },
652
+ # ],
509
653
  # },
510
654
  # ],
511
655
  # tags: {
@@ -533,10 +677,14 @@ module Aws::Imagebuilder
533
677
  # all of the configured output resources defined in the distribution
534
678
  # configuration.
535
679
  #
536
- # @option params [required, String] :image_recipe_arn
680
+ # @option params [String] :image_recipe_arn
537
681
  # The Amazon Resource Name (ARN) of the image recipe that defines how
538
682
  # images are configured, tested, and assessed.
539
683
  #
684
+ # @option params [String] :container_recipe_arn
685
+ # The Amazon Resource Name (ARN) of the container recipe that defines
686
+ # how images are configured and tested.
687
+ #
540
688
  # @option params [String] :distribution_configuration_arn
541
689
  # The Amazon Resource Name (ARN) of the distribution configuration that
542
690
  # defines and configures the outputs of your pipeline.
@@ -573,7 +721,8 @@ module Aws::Imagebuilder
573
721
  # @example Request syntax with placeholder values
574
722
  #
575
723
  # resp = client.create_image({
576
- # image_recipe_arn: "ImageRecipeArn", # required
724
+ # image_recipe_arn: "ImageRecipeArn",
725
+ # container_recipe_arn: "ContainerRecipeArn",
577
726
  # distribution_configuration_arn: "DistributionConfigurationArn",
578
727
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
579
728
  # image_tests_configuration: {
@@ -611,10 +760,14 @@ module Aws::Imagebuilder
611
760
  # @option params [String] :description
612
761
  # The description of the image pipeline.
613
762
  #
614
- # @option params [required, String] :image_recipe_arn
763
+ # @option params [String] :image_recipe_arn
615
764
  # The Amazon Resource Name (ARN) of the image recipe that will be used
616
765
  # to configure images created by this image pipeline.
617
766
  #
767
+ # @option params [String] :container_recipe_arn
768
+ # The Amazon Resource Name (ARN) of the container recipe that is used to
769
+ # configure images created by this container pipeline.
770
+ #
618
771
  # @option params [required, String] :infrastructure_configuration_arn
619
772
  # The Amazon Resource Name (ARN) of the infrastructure configuration
620
773
  # that will be used to build images created by this image pipeline.
@@ -659,7 +812,8 @@ module Aws::Imagebuilder
659
812
  # resp = client.create_image_pipeline({
660
813
  # name: "ResourceName", # required
661
814
  # description: "NonEmptyString",
662
- # image_recipe_arn: "ImageRecipeArn", # required
815
+ # image_recipe_arn: "ImageRecipeArn",
816
+ # container_recipe_arn: "ContainerRecipeArn",
663
817
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
664
818
  # distribution_configuration_arn: "DistributionConfigurationArn",
665
819
  # image_tests_configuration: {
@@ -669,6 +823,7 @@ module Aws::Imagebuilder
669
823
  # enhanced_image_metadata_enabled: false,
670
824
  # schedule: {
671
825
  # schedule_expression: "NonEmptyString",
826
+ # timezone: "Timezone",
672
827
  # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
673
828
  # },
674
829
  # status: "DISABLED", # accepts DISABLED, ENABLED
@@ -761,7 +916,7 @@ module Aws::Imagebuilder
761
916
  # kms_key_id: "NonEmptyString",
762
917
  # snapshot_id: "NonEmptyString",
763
918
  # volume_size: 1,
764
- # volume_type: "standard", # accepts standard, io1, io2, gp2, sc1, st1
919
+ # volume_type: "standard", # accepts standard, io1, io2, gp2, gp3, sc1, st1
765
920
  # },
766
921
  # virtual_name: "NonEmptyString",
767
922
  # no_device: "EmptyString",
@@ -856,7 +1011,7 @@ module Aws::Imagebuilder
856
1011
  # name: "ResourceName", # required
857
1012
  # description: "NonEmptyString",
858
1013
  # instance_types: ["InstanceType"],
859
- # instance_profile_name: "NonEmptyString", # required
1014
+ # instance_profile_name: "InstanceProfileNameType", # required
860
1015
  # security_group_ids: ["NonEmptyString"],
861
1016
  # subnet_id: "NonEmptyString",
862
1017
  # logging: {
@@ -923,6 +1078,36 @@ module Aws::Imagebuilder
923
1078
  req.send_request(options)
924
1079
  end
925
1080
 
1081
+ # Deletes a container recipe.
1082
+ #
1083
+ # @option params [required, String] :container_recipe_arn
1084
+ # The Amazon Resource Name (ARN) of the container recipe to delete.
1085
+ #
1086
+ # @return [Types::DeleteContainerRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1087
+ #
1088
+ # * {Types::DeleteContainerRecipeResponse#request_id #request_id} => String
1089
+ # * {Types::DeleteContainerRecipeResponse#container_recipe_arn #container_recipe_arn} => String
1090
+ #
1091
+ # @example Request syntax with placeholder values
1092
+ #
1093
+ # resp = client.delete_container_recipe({
1094
+ # container_recipe_arn: "ContainerRecipeArn", # required
1095
+ # })
1096
+ #
1097
+ # @example Response structure
1098
+ #
1099
+ # resp.request_id #=> String
1100
+ # resp.container_recipe_arn #=> String
1101
+ #
1102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteContainerRecipe AWS API Documentation
1103
+ #
1104
+ # @overload delete_container_recipe(params = {})
1105
+ # @param [Hash] params ({})
1106
+ def delete_container_recipe(params = {}, options = {})
1107
+ req = build_request(:delete_container_recipe, params)
1108
+ req.send_request(options)
1109
+ end
1110
+
926
1111
  # Deletes a distribution configuration.
927
1112
  #
928
1113
  # @option params [required, String] :distribution_configuration_arn
@@ -1152,6 +1337,97 @@ module Aws::Imagebuilder
1152
1337
  req.send_request(options)
1153
1338
  end
1154
1339
 
1340
+ # Retrieves a container recipe.
1341
+ #
1342
+ # @option params [required, String] :container_recipe_arn
1343
+ # The Amazon Resource Name (ARN) of the container recipe to retrieve.
1344
+ #
1345
+ # @return [Types::GetContainerRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1346
+ #
1347
+ # * {Types::GetContainerRecipeResponse#request_id #request_id} => String
1348
+ # * {Types::GetContainerRecipeResponse#container_recipe #container_recipe} => Types::ContainerRecipe
1349
+ #
1350
+ # @example Request syntax with placeholder values
1351
+ #
1352
+ # resp = client.get_container_recipe({
1353
+ # container_recipe_arn: "ContainerRecipeArn", # required
1354
+ # })
1355
+ #
1356
+ # @example Response structure
1357
+ #
1358
+ # resp.request_id #=> String
1359
+ # resp.container_recipe.arn #=> String
1360
+ # resp.container_recipe.container_type #=> String, one of "DOCKER"
1361
+ # resp.container_recipe.name #=> String
1362
+ # resp.container_recipe.description #=> String
1363
+ # resp.container_recipe.platform #=> String, one of "Windows", "Linux"
1364
+ # resp.container_recipe.owner #=> String
1365
+ # resp.container_recipe.version #=> String
1366
+ # resp.container_recipe.components #=> Array
1367
+ # resp.container_recipe.components[0].component_arn #=> String
1368
+ # resp.container_recipe.instance_configuration.image #=> String
1369
+ # resp.container_recipe.instance_configuration.block_device_mappings #=> Array
1370
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].device_name #=> String
1371
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.encrypted #=> Boolean
1372
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
1373
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.iops #=> Integer
1374
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.kms_key_id #=> String
1375
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.snapshot_id #=> String
1376
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.volume_size #=> Integer
1377
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "gp3", "sc1", "st1"
1378
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].virtual_name #=> String
1379
+ # resp.container_recipe.instance_configuration.block_device_mappings[0].no_device #=> String
1380
+ # resp.container_recipe.dockerfile_template_data #=> String
1381
+ # resp.container_recipe.kms_key_id #=> String
1382
+ # resp.container_recipe.encrypted #=> Boolean
1383
+ # resp.container_recipe.parent_image #=> String
1384
+ # resp.container_recipe.date_created #=> String
1385
+ # resp.container_recipe.tags #=> Hash
1386
+ # resp.container_recipe.tags["TagKey"] #=> String
1387
+ # resp.container_recipe.working_directory #=> String
1388
+ # resp.container_recipe.target_repository.service #=> String, one of "ECR"
1389
+ # resp.container_recipe.target_repository.repository_name #=> String
1390
+ #
1391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipe AWS API Documentation
1392
+ #
1393
+ # @overload get_container_recipe(params = {})
1394
+ # @param [Hash] params ({})
1395
+ def get_container_recipe(params = {}, options = {})
1396
+ req = build_request(:get_container_recipe, params)
1397
+ req.send_request(options)
1398
+ end
1399
+
1400
+ # Retrieves the policy for a container recipe.
1401
+ #
1402
+ # @option params [required, String] :container_recipe_arn
1403
+ # The Amazon Resource Name (ARN) of the container recipe for the policy
1404
+ # being requested.
1405
+ #
1406
+ # @return [Types::GetContainerRecipePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1407
+ #
1408
+ # * {Types::GetContainerRecipePolicyResponse#request_id #request_id} => String
1409
+ # * {Types::GetContainerRecipePolicyResponse#policy #policy} => String
1410
+ #
1411
+ # @example Request syntax with placeholder values
1412
+ #
1413
+ # resp = client.get_container_recipe_policy({
1414
+ # container_recipe_arn: "ContainerRecipeArn", # required
1415
+ # })
1416
+ #
1417
+ # @example Response structure
1418
+ #
1419
+ # resp.request_id #=> String
1420
+ # resp.policy #=> String
1421
+ #
1422
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetContainerRecipePolicy AWS API Documentation
1423
+ #
1424
+ # @overload get_container_recipe_policy(params = {})
1425
+ # @param [Hash] params ({})
1426
+ def get_container_recipe_policy(params = {}, options = {})
1427
+ req = build_request(:get_container_recipe_policy, params)
1428
+ req.send_request(options)
1429
+ end
1430
+
1155
1431
  # Gets a distribution configuration.
1156
1432
  #
1157
1433
  # @option params [required, String] :distribution_configuration_arn
@@ -1188,8 +1464,17 @@ module Aws::Imagebuilder
1188
1464
  # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids[0] #=> String
1189
1465
  # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups #=> Array
1190
1466
  # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups[0] #=> String
1467
+ # resp.distribution_configuration.distributions[0].container_distribution_configuration.description #=> String
1468
+ # resp.distribution_configuration.distributions[0].container_distribution_configuration.container_tags #=> Array
1469
+ # resp.distribution_configuration.distributions[0].container_distribution_configuration.container_tags[0] #=> String
1470
+ # resp.distribution_configuration.distributions[0].container_distribution_configuration.target_repository.service #=> String, one of "ECR"
1471
+ # resp.distribution_configuration.distributions[0].container_distribution_configuration.target_repository.repository_name #=> String
1191
1472
  # resp.distribution_configuration.distributions[0].license_configuration_arns #=> Array
1192
1473
  # resp.distribution_configuration.distributions[0].license_configuration_arns[0] #=> String
1474
+ # resp.distribution_configuration.distributions[0].launch_template_configurations #=> Array
1475
+ # resp.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1476
+ # resp.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1477
+ # resp.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1193
1478
  # resp.distribution_configuration.timeout_minutes #=> Integer
1194
1479
  # resp.distribution_configuration.date_created #=> String
1195
1480
  # resp.distribution_configuration.date_updated #=> String
@@ -1225,6 +1510,7 @@ module Aws::Imagebuilder
1225
1510
  #
1226
1511
  # resp.request_id #=> String
1227
1512
  # resp.image.arn #=> String
1513
+ # resp.image.type #=> String, one of "AMI", "DOCKER"
1228
1514
  # resp.image.name #=> String
1229
1515
  # resp.image.version #=> String
1230
1516
  # resp.image.platform #=> String, one of "Windows", "Linux"
@@ -1233,6 +1519,7 @@ module Aws::Imagebuilder
1233
1519
  # resp.image.state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1234
1520
  # resp.image.state.reason #=> String
1235
1521
  # resp.image.image_recipe.arn #=> String
1522
+ # resp.image.image_recipe.type #=> String, one of "AMI", "DOCKER"
1236
1523
  # resp.image.image_recipe.name #=> String
1237
1524
  # resp.image.image_recipe.description #=> String
1238
1525
  # resp.image.image_recipe.platform #=> String, one of "Windows", "Linux"
@@ -1249,13 +1536,44 @@ module Aws::Imagebuilder
1249
1536
  # resp.image.image_recipe.block_device_mappings[0].ebs.kms_key_id #=> String
1250
1537
  # resp.image.image_recipe.block_device_mappings[0].ebs.snapshot_id #=> String
1251
1538
  # resp.image.image_recipe.block_device_mappings[0].ebs.volume_size #=> Integer
1252
- # resp.image.image_recipe.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1"
1539
+ # resp.image.image_recipe.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "gp3", "sc1", "st1"
1253
1540
  # resp.image.image_recipe.block_device_mappings[0].virtual_name #=> String
1254
1541
  # resp.image.image_recipe.block_device_mappings[0].no_device #=> String
1255
1542
  # resp.image.image_recipe.date_created #=> String
1256
1543
  # resp.image.image_recipe.tags #=> Hash
1257
1544
  # resp.image.image_recipe.tags["TagKey"] #=> String
1258
1545
  # resp.image.image_recipe.working_directory #=> String
1546
+ # resp.image.container_recipe.arn #=> String
1547
+ # resp.image.container_recipe.container_type #=> String, one of "DOCKER"
1548
+ # resp.image.container_recipe.name #=> String
1549
+ # resp.image.container_recipe.description #=> String
1550
+ # resp.image.container_recipe.platform #=> String, one of "Windows", "Linux"
1551
+ # resp.image.container_recipe.owner #=> String
1552
+ # resp.image.container_recipe.version #=> String
1553
+ # resp.image.container_recipe.components #=> Array
1554
+ # resp.image.container_recipe.components[0].component_arn #=> String
1555
+ # resp.image.container_recipe.instance_configuration.image #=> String
1556
+ # resp.image.container_recipe.instance_configuration.block_device_mappings #=> Array
1557
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].device_name #=> String
1558
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.encrypted #=> Boolean
1559
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
1560
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.iops #=> Integer
1561
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.kms_key_id #=> String
1562
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.snapshot_id #=> String
1563
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.volume_size #=> Integer
1564
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "gp3", "sc1", "st1"
1565
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].virtual_name #=> String
1566
+ # resp.image.container_recipe.instance_configuration.block_device_mappings[0].no_device #=> String
1567
+ # resp.image.container_recipe.dockerfile_template_data #=> String
1568
+ # resp.image.container_recipe.kms_key_id #=> String
1569
+ # resp.image.container_recipe.encrypted #=> Boolean
1570
+ # resp.image.container_recipe.parent_image #=> String
1571
+ # resp.image.container_recipe.date_created #=> String
1572
+ # resp.image.container_recipe.tags #=> Hash
1573
+ # resp.image.container_recipe.tags["TagKey"] #=> String
1574
+ # resp.image.container_recipe.working_directory #=> String
1575
+ # resp.image.container_recipe.target_repository.service #=> String, one of "ECR"
1576
+ # resp.image.container_recipe.target_repository.repository_name #=> String
1259
1577
  # resp.image.source_pipeline_name #=> String
1260
1578
  # resp.image.source_pipeline_arn #=> String
1261
1579
  # resp.image.infrastructure_configuration.arn #=> String
@@ -1294,8 +1612,17 @@ module Aws::Imagebuilder
1294
1612
  # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids[0] #=> String
1295
1613
  # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups #=> Array
1296
1614
  # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups[0] #=> String
1615
+ # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.description #=> String
1616
+ # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.container_tags #=> Array
1617
+ # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.container_tags[0] #=> String
1618
+ # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.target_repository.service #=> String, one of "ECR"
1619
+ # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.target_repository.repository_name #=> String
1297
1620
  # resp.image.distribution_configuration.distributions[0].license_configuration_arns #=> Array
1298
1621
  # resp.image.distribution_configuration.distributions[0].license_configuration_arns[0] #=> String
1622
+ # resp.image.distribution_configuration.distributions[0].launch_template_configurations #=> Array
1623
+ # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1624
+ # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1625
+ # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1299
1626
  # resp.image.distribution_configuration.timeout_minutes #=> Integer
1300
1627
  # resp.image.distribution_configuration.date_created #=> String
1301
1628
  # resp.image.distribution_configuration.date_updated #=> String
@@ -1312,6 +1639,10 @@ module Aws::Imagebuilder
1312
1639
  # resp.image.output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1313
1640
  # resp.image.output_resources.amis[0].state.reason #=> String
1314
1641
  # resp.image.output_resources.amis[0].account_id #=> String
1642
+ # resp.image.output_resources.containers #=> Array
1643
+ # resp.image.output_resources.containers[0].region #=> String
1644
+ # resp.image.output_resources.containers[0].image_uris #=> Array
1645
+ # resp.image.output_resources.containers[0].image_uris[0] #=> String
1315
1646
  # resp.image.tags #=> Hash
1316
1647
  # resp.image.tags["TagKey"] #=> String
1317
1648
  #
@@ -1350,11 +1681,13 @@ module Aws::Imagebuilder
1350
1681
  # resp.image_pipeline.platform #=> String, one of "Windows", "Linux"
1351
1682
  # resp.image_pipeline.enhanced_image_metadata_enabled #=> Boolean
1352
1683
  # resp.image_pipeline.image_recipe_arn #=> String
1684
+ # resp.image_pipeline.container_recipe_arn #=> String
1353
1685
  # resp.image_pipeline.infrastructure_configuration_arn #=> String
1354
1686
  # resp.image_pipeline.distribution_configuration_arn #=> String
1355
1687
  # resp.image_pipeline.image_tests_configuration.image_tests_enabled #=> Boolean
1356
1688
  # resp.image_pipeline.image_tests_configuration.timeout_minutes #=> Integer
1357
1689
  # resp.image_pipeline.schedule.schedule_expression #=> String
1690
+ # resp.image_pipeline.schedule.timezone #=> String
1358
1691
  # resp.image_pipeline.schedule.pipeline_execution_start_condition #=> String, one of "EXPRESSION_MATCH_ONLY", "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
1359
1692
  # resp.image_pipeline.status #=> String, one of "DISABLED", "ENABLED"
1360
1693
  # resp.image_pipeline.date_created #=> String
@@ -1425,6 +1758,7 @@ module Aws::Imagebuilder
1425
1758
  #
1426
1759
  # resp.request_id #=> String
1427
1760
  # resp.image_recipe.arn #=> String
1761
+ # resp.image_recipe.type #=> String, one of "AMI", "DOCKER"
1428
1762
  # resp.image_recipe.name #=> String
1429
1763
  # resp.image_recipe.description #=> String
1430
1764
  # resp.image_recipe.platform #=> String, one of "Windows", "Linux"
@@ -1441,7 +1775,7 @@ module Aws::Imagebuilder
1441
1775
  # resp.image_recipe.block_device_mappings[0].ebs.kms_key_id #=> String
1442
1776
  # resp.image_recipe.block_device_mappings[0].ebs.snapshot_id #=> String
1443
1777
  # resp.image_recipe.block_device_mappings[0].ebs.volume_size #=> Integer
1444
- # resp.image_recipe.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "sc1", "st1"
1778
+ # resp.image_recipe.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "io2", "gp2", "gp3", "sc1", "st1"
1445
1779
  # resp.image_recipe.block_device_mappings[0].virtual_name #=> String
1446
1780
  # resp.image_recipe.block_device_mappings[0].no_device #=> String
1447
1781
  # resp.image_recipe.date_created #=> String
@@ -1701,6 +2035,10 @@ module Aws::Imagebuilder
1701
2035
  # @option params [Array<Types::Filter>] :filters
1702
2036
  # The filters.
1703
2037
  #
2038
+ # @option params [Boolean] :by_name
2039
+ # Returns the list of component build versions for the specified
2040
+ # semantic version.
2041
+ #
1704
2042
  # @option params [Integer] :max_results
1705
2043
  # The maximum items to return in a request.
1706
2044
  #
@@ -1726,6 +2064,7 @@ module Aws::Imagebuilder
1726
2064
  # values: ["FilterValue"],
1727
2065
  # },
1728
2066
  # ],
2067
+ # by_name: false,
1729
2068
  # max_results: 1,
1730
2069
  # next_token: "PaginationToken",
1731
2070
  # })
@@ -1755,6 +2094,71 @@ module Aws::Imagebuilder
1755
2094
  req.send_request(options)
1756
2095
  end
1757
2096
 
2097
+ # Returns a list of container recipes.
2098
+ #
2099
+ # @option params [String] :owner
2100
+ # Returns container recipes belonging to the specified owner, that have
2101
+ # been shared with you. You can omit this field to return container
2102
+ # recipes belonging to your account.
2103
+ #
2104
+ # @option params [Array<Types::Filter>] :filters
2105
+ # Request filters that are used to narrow the list of container images
2106
+ # that are returned.
2107
+ #
2108
+ # @option params [Integer] :max_results
2109
+ # The maximum number of results to return in the list.
2110
+ #
2111
+ # @option params [String] :next_token
2112
+ # Provides a token for pagination, which determines where to begin the
2113
+ # next set of results when the current set reaches the maximum for one
2114
+ # request.
2115
+ #
2116
+ # @return [Types::ListContainerRecipesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2117
+ #
2118
+ # * {Types::ListContainerRecipesResponse#request_id #request_id} => String
2119
+ # * {Types::ListContainerRecipesResponse#container_recipe_summary_list #container_recipe_summary_list} => Array&lt;Types::ContainerRecipeSummary&gt;
2120
+ # * {Types::ListContainerRecipesResponse#next_token #next_token} => String
2121
+ #
2122
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2123
+ #
2124
+ # @example Request syntax with placeholder values
2125
+ #
2126
+ # resp = client.list_container_recipes({
2127
+ # owner: "Self", # accepts Self, Shared, Amazon
2128
+ # filters: [
2129
+ # {
2130
+ # name: "FilterName",
2131
+ # values: ["FilterValue"],
2132
+ # },
2133
+ # ],
2134
+ # max_results: 1,
2135
+ # next_token: "NonEmptyString",
2136
+ # })
2137
+ #
2138
+ # @example Response structure
2139
+ #
2140
+ # resp.request_id #=> String
2141
+ # resp.container_recipe_summary_list #=> Array
2142
+ # resp.container_recipe_summary_list[0].arn #=> String
2143
+ # resp.container_recipe_summary_list[0].container_type #=> String, one of "DOCKER"
2144
+ # resp.container_recipe_summary_list[0].name #=> String
2145
+ # resp.container_recipe_summary_list[0].platform #=> String, one of "Windows", "Linux"
2146
+ # resp.container_recipe_summary_list[0].owner #=> String
2147
+ # resp.container_recipe_summary_list[0].parent_image #=> String
2148
+ # resp.container_recipe_summary_list[0].date_created #=> String
2149
+ # resp.container_recipe_summary_list[0].tags #=> Hash
2150
+ # resp.container_recipe_summary_list[0].tags["TagKey"] #=> String
2151
+ # resp.next_token #=> String
2152
+ #
2153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListContainerRecipes AWS API Documentation
2154
+ #
2155
+ # @overload list_container_recipes(params = {})
2156
+ # @param [Hash] params ({})
2157
+ def list_container_recipes(params = {}, options = {})
2158
+ req = build_request(:list_container_recipes, params)
2159
+ req.send_request(options)
2160
+ end
2161
+
1758
2162
  # Returns a list of distribution configurations.
1759
2163
  #
1760
2164
  # @option params [Array<Types::Filter>] :filters
@@ -1803,6 +2207,8 @@ module Aws::Imagebuilder
1803
2207
  # resp.distribution_configuration_summary_list[0].date_updated #=> String
1804
2208
  # resp.distribution_configuration_summary_list[0].tags #=> Hash
1805
2209
  # resp.distribution_configuration_summary_list[0].tags["TagKey"] #=> String
2210
+ # resp.distribution_configuration_summary_list[0].regions #=> Array
2211
+ # resp.distribution_configuration_summary_list[0].regions[0] #=> String
1806
2212
  # resp.next_token #=> String
1807
2213
  #
1808
2214
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListDistributionConfigurations AWS API Documentation
@@ -1858,6 +2264,7 @@ module Aws::Imagebuilder
1858
2264
  # resp.image_summary_list #=> Array
1859
2265
  # resp.image_summary_list[0].arn #=> String
1860
2266
  # resp.image_summary_list[0].name #=> String
2267
+ # resp.image_summary_list[0].type #=> String, one of "AMI", "DOCKER"
1861
2268
  # resp.image_summary_list[0].version #=> String
1862
2269
  # resp.image_summary_list[0].platform #=> String, one of "Windows", "Linux"
1863
2270
  # resp.image_summary_list[0].os_version #=> String
@@ -1873,6 +2280,10 @@ module Aws::Imagebuilder
1873
2280
  # 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"
1874
2281
  # resp.image_summary_list[0].output_resources.amis[0].state.reason #=> String
1875
2282
  # resp.image_summary_list[0].output_resources.amis[0].account_id #=> String
2283
+ # resp.image_summary_list[0].output_resources.containers #=> Array
2284
+ # resp.image_summary_list[0].output_resources.containers[0].region #=> String
2285
+ # resp.image_summary_list[0].output_resources.containers[0].image_uris #=> Array
2286
+ # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
1876
2287
  # resp.image_summary_list[0].tags #=> Hash
1877
2288
  # resp.image_summary_list[0].tags["TagKey"] #=> String
1878
2289
  # resp.next_token #=> String
@@ -1886,6 +2297,54 @@ module Aws::Imagebuilder
1886
2297
  req.send_request(options)
1887
2298
  end
1888
2299
 
2300
+ # List the Packages that are associated with an Image Build Version, as
2301
+ # determined by AWS Systems Manager Inventory at build time.
2302
+ #
2303
+ # @option params [required, String] :image_build_version_arn
2304
+ # Filter results for the ListImagePackages request by the Image Build
2305
+ # Version ARN
2306
+ #
2307
+ # @option params [Integer] :max_results
2308
+ # The maxiumum number of results to return from the ListImagePackages
2309
+ # request.
2310
+ #
2311
+ # @option params [String] :next_token
2312
+ # A token to specify where to start paginating. This is the NextToken
2313
+ # from a previously truncated response.
2314
+ #
2315
+ # @return [Types::ListImagePackagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2316
+ #
2317
+ # * {Types::ListImagePackagesResponse#request_id #request_id} => String
2318
+ # * {Types::ListImagePackagesResponse#image_package_list #image_package_list} => Array&lt;Types::ImagePackage&gt;
2319
+ # * {Types::ListImagePackagesResponse#next_token #next_token} => String
2320
+ #
2321
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2322
+ #
2323
+ # @example Request syntax with placeholder values
2324
+ #
2325
+ # resp = client.list_image_packages({
2326
+ # image_build_version_arn: "ImageBuildVersionArn", # required
2327
+ # max_results: 1,
2328
+ # next_token: "PaginationToken",
2329
+ # })
2330
+ #
2331
+ # @example Response structure
2332
+ #
2333
+ # resp.request_id #=> String
2334
+ # resp.image_package_list #=> Array
2335
+ # resp.image_package_list[0].package_name #=> String
2336
+ # resp.image_package_list[0].package_version #=> String
2337
+ # resp.next_token #=> String
2338
+ #
2339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePackages AWS API Documentation
2340
+ #
2341
+ # @overload list_image_packages(params = {})
2342
+ # @param [Hash] params ({})
2343
+ def list_image_packages(params = {}, options = {})
2344
+ req = build_request(:list_image_packages, params)
2345
+ req.send_request(options)
2346
+ end
2347
+
1889
2348
  # Returns a list of images created by the specified pipeline.
1890
2349
  #
1891
2350
  # @option params [required, String] :image_pipeline_arn
@@ -1930,6 +2389,7 @@ module Aws::Imagebuilder
1930
2389
  # resp.image_summary_list #=> Array
1931
2390
  # resp.image_summary_list[0].arn #=> String
1932
2391
  # resp.image_summary_list[0].name #=> String
2392
+ # resp.image_summary_list[0].type #=> String, one of "AMI", "DOCKER"
1933
2393
  # resp.image_summary_list[0].version #=> String
1934
2394
  # resp.image_summary_list[0].platform #=> String, one of "Windows", "Linux"
1935
2395
  # resp.image_summary_list[0].os_version #=> String
@@ -1945,6 +2405,10 @@ module Aws::Imagebuilder
1945
2405
  # 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"
1946
2406
  # resp.image_summary_list[0].output_resources.amis[0].state.reason #=> String
1947
2407
  # resp.image_summary_list[0].output_resources.amis[0].account_id #=> String
2408
+ # resp.image_summary_list[0].output_resources.containers #=> Array
2409
+ # resp.image_summary_list[0].output_resources.containers[0].region #=> String
2410
+ # resp.image_summary_list[0].output_resources.containers[0].image_uris #=> Array
2411
+ # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
1948
2412
  # resp.image_summary_list[0].tags #=> Hash
1949
2413
  # resp.image_summary_list[0].tags["TagKey"] #=> String
1950
2414
  # resp.next_token #=> String
@@ -2001,11 +2465,13 @@ module Aws::Imagebuilder
2001
2465
  # resp.image_pipeline_list[0].platform #=> String, one of "Windows", "Linux"
2002
2466
  # resp.image_pipeline_list[0].enhanced_image_metadata_enabled #=> Boolean
2003
2467
  # resp.image_pipeline_list[0].image_recipe_arn #=> String
2468
+ # resp.image_pipeline_list[0].container_recipe_arn #=> String
2004
2469
  # resp.image_pipeline_list[0].infrastructure_configuration_arn #=> String
2005
2470
  # resp.image_pipeline_list[0].distribution_configuration_arn #=> String
2006
2471
  # resp.image_pipeline_list[0].image_tests_configuration.image_tests_enabled #=> Boolean
2007
2472
  # resp.image_pipeline_list[0].image_tests_configuration.timeout_minutes #=> Integer
2008
2473
  # resp.image_pipeline_list[0].schedule.schedule_expression #=> String
2474
+ # resp.image_pipeline_list[0].schedule.timezone #=> String
2009
2475
  # resp.image_pipeline_list[0].schedule.pipeline_execution_start_condition #=> String, one of "EXPRESSION_MATCH_ONLY", "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
2010
2476
  # resp.image_pipeline_list[0].status #=> String, one of "DISABLED", "ENABLED"
2011
2477
  # resp.image_pipeline_list[0].date_created #=> String
@@ -2101,6 +2567,9 @@ module Aws::Imagebuilder
2101
2567
  # @option params [Array<Types::Filter>] :filters
2102
2568
  # The filters.
2103
2569
  #
2570
+ # @option params [Boolean] :by_name
2571
+ # Requests a list of images with a specific recipe name.
2572
+ #
2104
2573
  # @option params [Integer] :max_results
2105
2574
  # The maximum items to return in a request.
2106
2575
  #
@@ -2108,6 +2577,9 @@ module Aws::Imagebuilder
2108
2577
  # A token to specify where to start paginating. This is the NextToken
2109
2578
  # from a previously truncated response.
2110
2579
  #
2580
+ # @option params [Boolean] :include_deprecated
2581
+ # Includes deprecated images in the response list.
2582
+ #
2111
2583
  # @return [Types::ListImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2112
2584
  #
2113
2585
  # * {Types::ListImagesResponse#request_id #request_id} => String
@@ -2126,8 +2598,10 @@ module Aws::Imagebuilder
2126
2598
  # values: ["FilterValue"],
2127
2599
  # },
2128
2600
  # ],
2601
+ # by_name: false,
2129
2602
  # max_results: 1,
2130
2603
  # next_token: "PaginationToken",
2604
+ # include_deprecated: false,
2131
2605
  # })
2132
2606
  #
2133
2607
  # @example Response structure
@@ -2136,6 +2610,7 @@ module Aws::Imagebuilder
2136
2610
  # resp.image_version_list #=> Array
2137
2611
  # resp.image_version_list[0].arn #=> String
2138
2612
  # resp.image_version_list[0].name #=> String
2613
+ # resp.image_version_list[0].type #=> String, one of "AMI", "DOCKER"
2139
2614
  # resp.image_version_list[0].version #=> String
2140
2615
  # resp.image_version_list[0].platform #=> String, one of "Windows", "Linux"
2141
2616
  # resp.image_version_list[0].os_version #=> String
@@ -2198,6 +2673,9 @@ module Aws::Imagebuilder
2198
2673
  # resp.infrastructure_configuration_summary_list[0].resource_tags["TagKey"] #=> String
2199
2674
  # resp.infrastructure_configuration_summary_list[0].tags #=> Hash
2200
2675
  # resp.infrastructure_configuration_summary_list[0].tags["TagKey"] #=> String
2676
+ # resp.infrastructure_configuration_summary_list[0].instance_types #=> Array
2677
+ # resp.infrastructure_configuration_summary_list[0].instance_types[0] #=> String
2678
+ # resp.infrastructure_configuration_summary_list[0].instance_profile_name #=> String
2201
2679
  # resp.next_token #=> String
2202
2680
  #
2203
2681
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListInfrastructureConfigurations AWS API Documentation
@@ -2283,6 +2761,49 @@ module Aws::Imagebuilder
2283
2761
  req.send_request(options)
2284
2762
  end
2285
2763
 
2764
+ # Applies a policy to a container image. We recommend that you call the
2765
+ # RAM API CreateResourceShare
2766
+ # (https://docs.aws.amazon.com/ram/latest/APIReference/API\_CreateResourceShare.html)
2767
+ # to share resources. If you call the Image Builder API
2768
+ # `PutContainerImagePolicy`, you must also call the RAM API
2769
+ # PromoteResourceShareCreatedFromPolicy
2770
+ # (https://docs.aws.amazon.com/ram/latest/APIReference/API\_PromoteResourceShareCreatedFromPolicy.html)
2771
+ # in order for the resource to be visible to all principals with whom
2772
+ # the resource is shared.
2773
+ #
2774
+ # @option params [required, String] :container_recipe_arn
2775
+ # The Amazon Resource Name (ARN) of the container recipe that this
2776
+ # policy should be applied to.
2777
+ #
2778
+ # @option params [required, String] :policy
2779
+ # The policy to apply to the container recipe.
2780
+ #
2781
+ # @return [Types::PutContainerRecipePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2782
+ #
2783
+ # * {Types::PutContainerRecipePolicyResponse#request_id #request_id} => String
2784
+ # * {Types::PutContainerRecipePolicyResponse#container_recipe_arn #container_recipe_arn} => String
2785
+ #
2786
+ # @example Request syntax with placeholder values
2787
+ #
2788
+ # resp = client.put_container_recipe_policy({
2789
+ # container_recipe_arn: "ContainerRecipeArn", # required
2790
+ # policy: "ResourcePolicyDocument", # required
2791
+ # })
2792
+ #
2793
+ # @example Response structure
2794
+ #
2795
+ # resp.request_id #=> String
2796
+ # resp.container_recipe_arn #=> String
2797
+ #
2798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutContainerRecipePolicy AWS API Documentation
2799
+ #
2800
+ # @overload put_container_recipe_policy(params = {})
2801
+ # @param [Hash] params ({})
2802
+ def put_container_recipe_policy(params = {}, options = {})
2803
+ req = build_request(:put_container_recipe_policy, params)
2804
+ req.send_request(options)
2805
+ end
2806
+
2286
2807
  # Applies a policy to an image. We recommend that you call the RAM API
2287
2808
  # [CreateResourceShare][1] to share resources. If you call the Image
2288
2809
  # Builder API `PutImagePolicy`, you must also call the RAM API
@@ -2512,7 +3033,22 @@ module Aws::Imagebuilder
2512
3033
  # user_groups: ["NonEmptyString"],
2513
3034
  # },
2514
3035
  # },
3036
+ # container_distribution_configuration: {
3037
+ # description: "NonEmptyString",
3038
+ # container_tags: ["NonEmptyString"],
3039
+ # target_repository: { # required
3040
+ # service: "ECR", # required, accepts ECR
3041
+ # repository_name: "NonEmptyString", # required
3042
+ # },
3043
+ # },
2515
3044
  # license_configuration_arns: ["LicenseConfigurationArn"],
3045
+ # launch_template_configurations: [
3046
+ # {
3047
+ # launch_template_id: "LaunchTemplateId", # required
3048
+ # account_id: "AccountId",
3049
+ # set_default_version: false,
3050
+ # },
3051
+ # ],
2516
3052
  # },
2517
3053
  # ],
2518
3054
  # client_token: "ClientToken", # required
@@ -2543,10 +3079,13 @@ module Aws::Imagebuilder
2543
3079
  # @option params [String] :description
2544
3080
  # The description of the image pipeline.
2545
3081
  #
2546
- # @option params [required, String] :image_recipe_arn
3082
+ # @option params [String] :image_recipe_arn
2547
3083
  # The Amazon Resource Name (ARN) of the image recipe that will be used
2548
3084
  # to configure images updated by this image pipeline.
2549
3085
  #
3086
+ # @option params [String] :container_recipe_arn
3087
+ # The Amazon Resource Name (ARN) of the container pipeline to update.
3088
+ #
2550
3089
  # @option params [required, String] :infrastructure_configuration_arn
2551
3090
  # The Amazon Resource Name (ARN) of the infrastructure configuration
2552
3091
  # that will be used to build images updated by this image pipeline.
@@ -2588,7 +3127,8 @@ module Aws::Imagebuilder
2588
3127
  # resp = client.update_image_pipeline({
2589
3128
  # image_pipeline_arn: "ImagePipelineArn", # required
2590
3129
  # description: "NonEmptyString",
2591
- # image_recipe_arn: "ImageRecipeArn", # required
3130
+ # image_recipe_arn: "ImageRecipeArn",
3131
+ # container_recipe_arn: "ContainerRecipeArn",
2592
3132
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
2593
3133
  # distribution_configuration_arn: "DistributionConfigurationArn",
2594
3134
  # image_tests_configuration: {
@@ -2598,6 +3138,7 @@ module Aws::Imagebuilder
2598
3138
  # enhanced_image_metadata_enabled: false,
2599
3139
  # schedule: {
2600
3140
  # schedule_expression: "NonEmptyString",
3141
+ # timezone: "Timezone",
2601
3142
  # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
2602
3143
  # },
2603
3144
  # status: "DISABLED", # accepts DISABLED, ENABLED
@@ -2683,7 +3224,7 @@ module Aws::Imagebuilder
2683
3224
  # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
2684
3225
  # description: "NonEmptyString",
2685
3226
  # instance_types: ["InstanceType"],
2686
- # instance_profile_name: "NonEmptyString", # required
3227
+ # instance_profile_name: "InstanceProfileNameType", # required
2687
3228
  # security_group_ids: ["NonEmptyString"],
2688
3229
  # subnet_id: "NonEmptyString",
2689
3230
  # logging: {
@@ -2729,7 +3270,7 @@ module Aws::Imagebuilder
2729
3270
  params: params,
2730
3271
  config: config)
2731
3272
  context[:gem_name] = 'aws-sdk-imagebuilder'
2732
- context[:gem_version] = '1.16.0'
3273
+ context[:gem_version] = '1.21.0'
2733
3274
  Seahorse::Client::Request.new(handlers, context)
2734
3275
  end
2735
3276