aws-sdk-imagebuilder 1.33.0 → 1.37.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: 27448cd578cb4ee5908fa9185bd697131f79d153261ecfc1d13ca2c61b96f7ed
4
- data.tar.gz: 4ad244769c5d0944a90a712b59f4e055b0d2ec62f3416c150225553710a698ff
3
+ metadata.gz: 006e3ce2e7fbeab5ed0e2a3023812e4493d7d0a5aaca79d752c1fdf7fb6c048d
4
+ data.tar.gz: 80649fd685b0e4d29ee4b6c6e752b53f5dacadda183600a08ce9cb8a543b56f1
5
5
  SHA512:
6
- metadata.gz: e1b078f72de53e517c54afb2e4f2bd171f87ad138c855b39c0d477b47a2b2979f17af2cc6e84976bc4777c32d653bcb6a3d7c59983215a039eb070e64bff4295
7
- data.tar.gz: 35763d8856f2c53e2f2c77996e8a274caa6957ba6f82df50d36b3bb513ec9ce975457798e57c02bea8c335c5753ac22f87e639fe627b6a3078bdbef52667de39
6
+ metadata.gz: bdb7a2166defaced9aa96d106ea20fa72848f7ccd9e07fc7e3f07a3e0641782549c15a905b3f9ca0f4fec5cee0f18827149ff22a9acdc6426a31a9e36915c5e1
7
+ data.tar.gz: 514b1c5c6d83100aaeafe75ea1ba4d554408472779b523c58cc4c9680a515d743a52ac0a4922c4018a12e153db625340e93ef83fc49945b1f8b56fe654725177
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.37.0 (2021-12-21)
5
+ ------------------
6
+
7
+ * Feature - Added a note to infrastructure configuration actions and data types concerning delivery of Image Builder event messages to encrypted SNS topics. The key that's used to encrypt the SNS topic must reside in the account that Image Builder runs under.
8
+
9
+ 1.36.0 (2021-12-20)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for importing and exporting VM Images as part of the Image Creation workflow via EC2 VM Import/Export.
13
+
14
+ 1.35.0 (2021-11-30)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.34.0 (2021-11-24)
20
+ ------------------
21
+
22
+ * Feature - This release adds support for sharing AMIs with Organizations within an EC2 Image Builder Distribution Configuration.
23
+
4
24
  1.33.0 (2021-11-04)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.33.0
1
+ 1.37.0
@@ -27,6 +27,7 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
30
31
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
32
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
33
 
@@ -73,6 +74,7 @@ module Aws::Imagebuilder
73
74
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
75
  add_plugin(Aws::Plugins::TransferEncoding)
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
77
+ add_plugin(Aws::Plugins::DefaultsMode)
76
78
  add_plugin(Aws::Plugins::SignatureV4)
77
79
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
80
 
@@ -119,7 +121,9 @@ module Aws::Imagebuilder
119
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
122
  # are very aggressive. Construct and pass an instance of
121
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
123
127
  #
124
128
  # @option options [required, String] :region
125
129
  # The AWS region to connect to. The configured `:region` is
@@ -173,6 +177,10 @@ module Aws::Imagebuilder
173
177
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
174
178
  # a clock skew correction and retry requests with skewed client clocks.
175
179
  #
180
+ # @option options [String] :defaults_mode ("legacy")
181
+ # See {Aws::DefaultsModeConfiguration} for a list of the
182
+ # accepted modes and the configuration defaults that are included.
183
+ #
176
184
  # @option options [Boolean] :disable_host_prefix_injection (false)
177
185
  # Set to true to disable SDK automatically adding host prefix
178
186
  # to default service endpoint when available.
@@ -295,7 +303,7 @@ module Aws::Imagebuilder
295
303
  # seconds to wait when opening a HTTP session before raising a
296
304
  # `Timeout::Error`.
297
305
  #
298
- # @option options [Integer] :http_read_timeout (60) The default
306
+ # @option options [Float] :http_read_timeout (60) The default
299
307
  # number of seconds to wait for response data. This value can
300
308
  # safely be set per-request on the session.
301
309
  #
@@ -311,6 +319,9 @@ module Aws::Imagebuilder
311
319
  # disables this behaviour. This value can safely be set per
312
320
  # request on the session.
313
321
  #
322
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
323
+ # in seconds.
324
+ #
314
325
  # @option options [Boolean] :http_wire_trace (false) When `true`,
315
326
  # HTTP debug output will be sent to the `:logger`.
316
327
  #
@@ -344,11 +355,17 @@ module Aws::Imagebuilder
344
355
  # cancel.
345
356
  #
346
357
  # @option params [required, String] :client_token
347
- # The idempotency token used to make this request idempotent.
358
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
359
+ # the request. For more information, see [Ensuring idempotency][1] in
360
+ # the *Amazon EC2 API Reference*.
348
361
  #
349
362
  # **A suitable default value is auto-generated.** You should normally
350
363
  # not need to pass this option.**
351
364
  #
365
+ #
366
+ #
367
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
368
+ #
352
369
  # @return [Types::CancelImageCreationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
353
370
  #
354
371
  # * {Types::CancelImageCreationResponse#request_id #request_id} => String
@@ -679,6 +696,8 @@ module Aws::Imagebuilder
679
696
  # launch_permission: {
680
697
  # user_ids: ["AccountId"],
681
698
  # user_groups: ["NonEmptyString"],
699
+ # organization_arns: ["OrganizationArn"],
700
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
682
701
  # },
683
702
  # },
684
703
  # container_distribution_configuration: {
@@ -697,6 +716,12 @@ module Aws::Imagebuilder
697
716
  # set_default_version: false,
698
717
  # },
699
718
  # ],
719
+ # s3_export_configuration: {
720
+ # role_name: "NonEmptyString", # required
721
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
722
+ # s3_bucket: "NonEmptyString", # required
723
+ # s3_prefix: "NonEmptyString",
724
+ # },
700
725
  # },
701
726
  # ],
702
727
  # tags: {
@@ -1067,7 +1092,15 @@ module Aws::Imagebuilder
1067
1092
  # workflow fails.
1068
1093
  #
1069
1094
  # @option params [String] :sns_topic_arn
1070
- # The SNS topic on which to send image build events.
1095
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
1096
+ # image build event notifications.
1097
+ #
1098
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
1099
+ # are encrypted using keys from other accounts. The key that is used to
1100
+ # encrypt the SNS topic must reside in the account that the Image
1101
+ # Builder service runs under.
1102
+ #
1103
+ # </note>
1071
1104
  #
1072
1105
  # @option params [Hash<String,String>] :resource_tags
1073
1106
  # The tags attached to the resource created by Image Builder.
@@ -1247,7 +1280,7 @@ module Aws::Imagebuilder
1247
1280
  #
1248
1281
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html
1249
1282
  # [2]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/deregister-ami.html
1250
- # [3]: https://docs.aws.amazon.com/https:/docs.aws.amazon.comAmazonECR/latest/userguide/delete_image.html
1283
+ # [3]: https://docs.aws.amazon.com/AmazonECR/latest/userguide/delete_image.html
1251
1284
  #
1252
1285
  # @option params [required, String] :image_build_version_arn
1253
1286
  # The Amazon Resource Name (ARN) of the Image Builder image resource to
@@ -1586,6 +1619,10 @@ module Aws::Imagebuilder
1586
1619
  # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids[0] #=> String
1587
1620
  # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups #=> Array
1588
1621
  # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups[0] #=> String
1622
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organization_arns #=> Array
1623
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organization_arns[0] #=> String
1624
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organizational_unit_arns #=> Array
1625
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organizational_unit_arns[0] #=> String
1589
1626
  # resp.distribution_configuration.distributions[0].container_distribution_configuration.description #=> String
1590
1627
  # resp.distribution_configuration.distributions[0].container_distribution_configuration.container_tags #=> Array
1591
1628
  # resp.distribution_configuration.distributions[0].container_distribution_configuration.container_tags[0] #=> String
@@ -1597,6 +1634,10 @@ module Aws::Imagebuilder
1597
1634
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1598
1635
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1599
1636
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1637
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.role_name #=> String
1638
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
1639
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.s3_bucket #=> String
1640
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.s3_prefix #=> String
1600
1641
  # resp.distribution_configuration.timeout_minutes #=> Integer
1601
1642
  # resp.distribution_configuration.date_created #=> String
1602
1643
  # resp.distribution_configuration.date_updated #=> String
@@ -1748,6 +1789,10 @@ module Aws::Imagebuilder
1748
1789
  # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids[0] #=> String
1749
1790
  # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups #=> Array
1750
1791
  # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups[0] #=> String
1792
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organization_arns #=> Array
1793
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organization_arns[0] #=> String
1794
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organizational_unit_arns #=> Array
1795
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.organizational_unit_arns[0] #=> String
1751
1796
  # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.description #=> String
1752
1797
  # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.container_tags #=> Array
1753
1798
  # resp.image.distribution_configuration.distributions[0].container_distribution_configuration.container_tags[0] #=> String
@@ -1759,6 +1804,10 @@ module Aws::Imagebuilder
1759
1804
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1760
1805
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1761
1806
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1807
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.role_name #=> String
1808
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
1809
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.s3_bucket #=> String
1810
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.s3_prefix #=> String
1762
1811
  # resp.image.distribution_configuration.timeout_minutes #=> Integer
1763
1812
  # resp.image.distribution_configuration.date_created #=> String
1764
1813
  # resp.image.distribution_configuration.date_updated #=> String
@@ -1781,6 +1830,7 @@ module Aws::Imagebuilder
1781
1830
  # resp.image.output_resources.containers[0].image_uris[0] #=> String
1782
1831
  # resp.image.tags #=> Hash
1783
1832
  # resp.image.tags["TagKey"] #=> String
1833
+ # resp.image.build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
1784
1834
  #
1785
1835
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage AWS API Documentation
1786
1836
  #
@@ -2120,6 +2170,113 @@ module Aws::Imagebuilder
2120
2170
  req.send_request(options)
2121
2171
  end
2122
2172
 
2173
+ # When you export your virtual machine (VM) from its virtualization
2174
+ # environment, that process creates a set of one or more disk container
2175
+ # files that act as snapshots of your VM’s environment, settings, and
2176
+ # data. The Amazon EC2 API [ImportImage][1] action uses those files to
2177
+ # import your VM and create an AMI. To import using the CLI command, see
2178
+ # [import-image][2]
2179
+ #
2180
+ # You can reference the task ID from the VM import to pull in the AMI
2181
+ # that the import created as the base image for your Image Builder
2182
+ # recipe.
2183
+ #
2184
+ #
2185
+ #
2186
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportImage.html
2187
+ # [2]: https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html
2188
+ #
2189
+ # @option params [required, String] :name
2190
+ # The name of the base image that is created by the import process.
2191
+ #
2192
+ # @option params [required, String] :semantic_version
2193
+ # The semantic version to attach to the base image that was created
2194
+ # during the import process. This version follows the semantic version
2195
+ # syntax.
2196
+ #
2197
+ # <note markdown="1"> The semantic version has four nodes:
2198
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
2199
+ # assign values for the first three, and can filter on all of them.
2200
+ #
2201
+ # **Assignment:** For the first three nodes you can assign any positive
2202
+ # integer value, including zero, with an upper limit of 2^30-1, or
2203
+ # 1073741823 for each node. Image Builder automatically assigns the
2204
+ # build number to the fourth node.
2205
+ #
2206
+ # **Patterns:** You can use any numeric pattern that adheres to the
2207
+ # assignment requirements for the nodes that you can assign. For
2208
+ # example, you might choose a software version pattern, such as 1.0.0,
2209
+ # or a date, such as 2021.01.01.
2210
+ #
2211
+ # </note>
2212
+ #
2213
+ # @option params [String] :description
2214
+ # The description for the base image that is created by the import
2215
+ # process.
2216
+ #
2217
+ # @option params [required, String] :platform
2218
+ # The operating system platform for the imported VM.
2219
+ #
2220
+ # @option params [String] :os_version
2221
+ # The operating system version for the imported VM.
2222
+ #
2223
+ # @option params [required, String] :vm_import_task_id
2224
+ # The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
2225
+ # VM import process. Image Builder retrieves information from the import
2226
+ # process to pull in the AMI that is created from the VM source as the
2227
+ # base image for your recipe.
2228
+ #
2229
+ # @option params [Hash<String,String>] :tags
2230
+ # Tags that are attached to the import resources.
2231
+ #
2232
+ # @option params [required, String] :client_token
2233
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
2234
+ # the request. For more information, see [Ensuring idempotency][1] in
2235
+ # the *Amazon EC2 API Reference*.
2236
+ #
2237
+ # **A suitable default value is auto-generated.** You should normally
2238
+ # not need to pass this option.**
2239
+ #
2240
+ #
2241
+ #
2242
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2243
+ #
2244
+ # @return [Types::ImportVmImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2245
+ #
2246
+ # * {Types::ImportVmImageResponse#request_id #request_id} => String
2247
+ # * {Types::ImportVmImageResponse#image_arn #image_arn} => String
2248
+ # * {Types::ImportVmImageResponse#client_token #client_token} => String
2249
+ #
2250
+ # @example Request syntax with placeholder values
2251
+ #
2252
+ # resp = client.import_vm_image({
2253
+ # name: "NonEmptyString", # required
2254
+ # semantic_version: "VersionNumber", # required
2255
+ # description: "NonEmptyString",
2256
+ # platform: "Windows", # required, accepts Windows, Linux
2257
+ # os_version: "OsVersion",
2258
+ # vm_import_task_id: "NonEmptyString", # required
2259
+ # tags: {
2260
+ # "TagKey" => "TagValue",
2261
+ # },
2262
+ # client_token: "ClientToken", # required
2263
+ # })
2264
+ #
2265
+ # @example Response structure
2266
+ #
2267
+ # resp.request_id #=> String
2268
+ # resp.image_arn #=> String
2269
+ # resp.client_token #=> String
2270
+ #
2271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImage AWS API Documentation
2272
+ #
2273
+ # @overload import_vm_image(params = {})
2274
+ # @param [Hash] params ({})
2275
+ def import_vm_image(params = {}, options = {})
2276
+ req = build_request(:import_vm_image, params)
2277
+ req.send_request(options)
2278
+ end
2279
+
2123
2280
  # Returns the list of component build versions for the specified
2124
2281
  # semantic version.
2125
2282
  #
@@ -2492,6 +2649,7 @@ module Aws::Imagebuilder
2492
2649
  # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
2493
2650
  # resp.image_summary_list[0].tags #=> Hash
2494
2651
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2652
+ # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2495
2653
  # resp.next_token #=> String
2496
2654
  #
2497
2655
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions AWS API Documentation
@@ -2622,6 +2780,7 @@ module Aws::Imagebuilder
2622
2780
  # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
2623
2781
  # resp.image_summary_list[0].tags #=> Hash
2624
2782
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2783
+ # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2625
2784
  # resp.next_token #=> String
2626
2785
  #
2627
2786
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages AWS API Documentation
@@ -2855,6 +3014,7 @@ module Aws::Imagebuilder
2855
3014
  # resp.image_version_list[0].os_version #=> String
2856
3015
  # resp.image_version_list[0].owner #=> String
2857
3016
  # resp.image_version_list[0].date_created #=> String
3017
+ # resp.image_version_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2858
3018
  # resp.next_token #=> String
2859
3019
  #
2860
3020
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages AWS API Documentation
@@ -3002,11 +3162,11 @@ module Aws::Imagebuilder
3002
3162
 
3003
3163
  # Applies a policy to a container image. We recommend that you call the
3004
3164
  # RAM API CreateResourceShare
3005
- # (https://docs.aws.amazon.com/ram/latest/APIReference/API\_CreateResourceShare.html)
3165
+ # (https://docs.aws.amazon.com//ram/latest/APIReference/API\_CreateResourceShare.html)
3006
3166
  # to share resources. If you call the Image Builder API
3007
3167
  # `PutContainerImagePolicy`, you must also call the RAM API
3008
3168
  # PromoteResourceShareCreatedFromPolicy
3009
- # (https://docs.aws.amazon.com/ram/latest/APIReference/API\_PromoteResourceShareCreatedFromPolicy.html)
3169
+ # (https://docs.aws.amazon.com//ram/latest/APIReference/API\_PromoteResourceShareCreatedFromPolicy.html)
3010
3170
  # in order for the resource to be visible to all principals with whom
3011
3171
  # the resource is shared.
3012
3172
  #
@@ -3270,6 +3430,8 @@ module Aws::Imagebuilder
3270
3430
  # launch_permission: {
3271
3431
  # user_ids: ["AccountId"],
3272
3432
  # user_groups: ["NonEmptyString"],
3433
+ # organization_arns: ["OrganizationArn"],
3434
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
3273
3435
  # },
3274
3436
  # },
3275
3437
  # container_distribution_configuration: {
@@ -3288,6 +3450,12 @@ module Aws::Imagebuilder
3288
3450
  # set_default_version: false,
3289
3451
  # },
3290
3452
  # ],
3453
+ # s3_export_configuration: {
3454
+ # role_name: "NonEmptyString", # required
3455
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
3456
+ # s3_bucket: "NonEmptyString", # required
3457
+ # s3_prefix: "NonEmptyString",
3458
+ # },
3291
3459
  # },
3292
3460
  # ],
3293
3461
  # client_token: "ClientToken", # required
@@ -3447,7 +3615,15 @@ module Aws::Imagebuilder
3447
3615
  # workflow fails.
3448
3616
  #
3449
3617
  # @option params [String] :sns_topic_arn
3450
- # The SNS topic on which to send image build events.
3618
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
3619
+ # image build event notifications.
3620
+ #
3621
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
3622
+ # are encrypted using keys from other accounts. The key that is used to
3623
+ # encrypt the SNS topic must reside in the account that the Image
3624
+ # Builder service runs under.
3625
+ #
3626
+ # </note>
3451
3627
  #
3452
3628
  # @option params [required, String] :client_token
3453
3629
  # The idempotency token used to make this request idempotent.
@@ -3537,7 +3713,7 @@ module Aws::Imagebuilder
3537
3713
  params: params,
3538
3714
  config: config)
3539
3715
  context[:gem_name] = 'aws-sdk-imagebuilder'
3540
- context[:gem_version] = '1.33.0'
3716
+ context[:gem_version] = '1.37.0'
3541
3717
  Seahorse::Client::Request.new(handlers, context)
3542
3718
  end
3543
3719
 
@@ -22,6 +22,7 @@ module Aws::Imagebuilder
22
22
  AmiNameString = Shapes::StringShape.new(name: 'AmiNameString')
23
23
  Arn = Shapes::StringShape.new(name: 'Arn')
24
24
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
25
+ BuildType = Shapes::StringShape.new(name: 'BuildType')
25
26
  CallRateLimitExceededException = Shapes::StructureShape.new(name: 'CallRateLimitExceededException')
26
27
  CancelImageCreationRequest = Shapes::StructureShape.new(name: 'CancelImageCreationRequest')
27
28
  CancelImageCreationResponse = Shapes::StructureShape.new(name: 'CancelImageCreationResponse')
@@ -89,6 +90,7 @@ module Aws::Imagebuilder
89
90
  DeleteImageResponse = Shapes::StructureShape.new(name: 'DeleteImageResponse')
90
91
  DeleteInfrastructureConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteInfrastructureConfigurationRequest')
91
92
  DeleteInfrastructureConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteInfrastructureConfigurationResponse')
93
+ DiskImageFormat = Shapes::StringShape.new(name: 'DiskImageFormat')
92
94
  Distribution = Shapes::StructureShape.new(name: 'Distribution')
93
95
  DistributionConfiguration = Shapes::StructureShape.new(name: 'DistributionConfiguration')
94
96
  DistributionConfigurationArn = Shapes::StringShape.new(name: 'DistributionConfigurationArn')
@@ -160,6 +162,8 @@ module Aws::Imagebuilder
160
162
  ImageVersionList = Shapes::ListShape.new(name: 'ImageVersionList')
161
163
  ImportComponentRequest = Shapes::StructureShape.new(name: 'ImportComponentRequest')
162
164
  ImportComponentResponse = Shapes::StructureShape.new(name: 'ImportComponentResponse')
165
+ ImportVmImageRequest = Shapes::StructureShape.new(name: 'ImportVmImageRequest')
166
+ ImportVmImageResponse = Shapes::StructureShape.new(name: 'ImportVmImageResponse')
163
167
  InfrastructureConfiguration = Shapes::StructureShape.new(name: 'InfrastructureConfiguration')
164
168
  InfrastructureConfigurationArn = Shapes::StringShape.new(name: 'InfrastructureConfigurationArn')
165
169
  InfrastructureConfigurationSummary = Shapes::StructureShape.new(name: 'InfrastructureConfigurationSummary')
@@ -212,6 +216,10 @@ module Aws::Imagebuilder
212
216
  Logging = Shapes::StructureShape.new(name: 'Logging')
213
217
  NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
214
218
  NullableBoolean = Shapes::BooleanShape.new(name: 'NullableBoolean')
219
+ OrganizationArn = Shapes::StringShape.new(name: 'OrganizationArn')
220
+ OrganizationArnList = Shapes::ListShape.new(name: 'OrganizationArnList')
221
+ OrganizationalUnitArn = Shapes::StringShape.new(name: 'OrganizationalUnitArn')
222
+ OrganizationalUnitArnList = Shapes::ListShape.new(name: 'OrganizationalUnitArnList')
215
223
  OsVersion = Shapes::StringShape.new(name: 'OsVersion')
216
224
  OsVersionList = Shapes::ListShape.new(name: 'OsVersionList')
217
225
  OutputResources = Shapes::StructureShape.new(name: 'OutputResources')
@@ -237,6 +245,7 @@ module Aws::Imagebuilder
237
245
  ResourcePolicyDocument = Shapes::StringShape.new(name: 'ResourcePolicyDocument')
238
246
  ResourceTagMap = Shapes::MapShape.new(name: 'ResourceTagMap')
239
247
  RestrictedInteger = Shapes::IntegerShape.new(name: 'RestrictedInteger')
248
+ S3ExportConfiguration = Shapes::StructureShape.new(name: 'S3ExportConfiguration')
240
249
  S3Logs = Shapes::StructureShape.new(name: 'S3Logs')
241
250
  Schedule = Shapes::StructureShape.new(name: 'Schedule')
242
251
  SecurityGroupIds = Shapes::ListShape.new(name: 'SecurityGroupIds')
@@ -601,6 +610,7 @@ module Aws::Imagebuilder
601
610
  Distribution.add_member(:container_distribution_configuration, Shapes::ShapeRef.new(shape: ContainerDistributionConfiguration, location_name: "containerDistributionConfiguration"))
602
611
  Distribution.add_member(:license_configuration_arns, Shapes::ShapeRef.new(shape: LicenseConfigurationArnList, location_name: "licenseConfigurationArns"))
603
612
  Distribution.add_member(:launch_template_configurations, Shapes::ShapeRef.new(shape: LaunchTemplateConfigurationList, location_name: "launchTemplateConfigurations"))
613
+ Distribution.add_member(:s3_export_configuration, Shapes::ShapeRef.new(shape: S3ExportConfiguration, location_name: "s3ExportConfiguration"))
604
614
  Distribution.struct_class = Types::Distribution
605
615
 
606
616
  DistributionConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: ImageBuilderArn, location_name: "arn"))
@@ -745,6 +755,7 @@ module Aws::Imagebuilder
745
755
  Image.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
746
756
  Image.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
747
757
  Image.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
758
+ Image.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
748
759
  Image.struct_class = Types::Image
749
760
 
750
761
  ImagePackage.add_member(:package_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "packageName"))
@@ -816,6 +827,7 @@ module Aws::Imagebuilder
816
827
  ImageSummary.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
817
828
  ImageSummary.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
818
829
  ImageSummary.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
830
+ ImageSummary.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
819
831
  ImageSummary.struct_class = Types::ImageSummary
820
832
 
821
833
  ImageSummaryList.member = Shapes::ShapeRef.new(shape: ImageSummary)
@@ -832,6 +844,7 @@ module Aws::Imagebuilder
832
844
  ImageVersion.add_member(:os_version, Shapes::ShapeRef.new(shape: OsVersion, location_name: "osVersion"))
833
845
  ImageVersion.add_member(:owner, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "owner"))
834
846
  ImageVersion.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
847
+ ImageVersion.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
835
848
  ImageVersion.struct_class = Types::ImageVersion
836
849
 
837
850
  ImageVersionList.member = Shapes::ShapeRef.new(shape: ImageVersion)
@@ -855,6 +868,21 @@ module Aws::Imagebuilder
855
868
  ImportComponentResponse.add_member(:component_build_version_arn, Shapes::ShapeRef.new(shape: ComponentBuildVersionArn, location_name: "componentBuildVersionArn"))
856
869
  ImportComponentResponse.struct_class = Types::ImportComponentResponse
857
870
 
871
+ ImportVmImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "name"))
872
+ ImportVmImageRequest.add_member(:semantic_version, Shapes::ShapeRef.new(shape: VersionNumber, required: true, location_name: "semanticVersion"))
873
+ ImportVmImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "description"))
874
+ ImportVmImageRequest.add_member(:platform, Shapes::ShapeRef.new(shape: Platform, required: true, location_name: "platform"))
875
+ ImportVmImageRequest.add_member(:os_version, Shapes::ShapeRef.new(shape: OsVersion, location_name: "osVersion"))
876
+ ImportVmImageRequest.add_member(:vm_import_task_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "vmImportTaskId"))
877
+ ImportVmImageRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
878
+ ImportVmImageRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
879
+ ImportVmImageRequest.struct_class = Types::ImportVmImageRequest
880
+
881
+ ImportVmImageResponse.add_member(:request_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "requestId"))
882
+ ImportVmImageResponse.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "imageArn"))
883
+ ImportVmImageResponse.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken"))
884
+ ImportVmImageResponse.struct_class = Types::ImportVmImageResponse
885
+
858
886
  InfrastructureConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: ImageBuilderArn, location_name: "arn"))
859
887
  InfrastructureConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "name"))
860
888
  InfrastructureConfiguration.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "description"))
@@ -924,6 +952,8 @@ module Aws::Imagebuilder
924
952
 
925
953
  LaunchPermissionConfiguration.add_member(:user_ids, Shapes::ShapeRef.new(shape: AccountList, location_name: "userIds"))
926
954
  LaunchPermissionConfiguration.add_member(:user_groups, Shapes::ShapeRef.new(shape: StringList, location_name: "userGroups"))
955
+ LaunchPermissionConfiguration.add_member(:organization_arns, Shapes::ShapeRef.new(shape: OrganizationArnList, location_name: "organizationArns"))
956
+ LaunchPermissionConfiguration.add_member(:organizational_unit_arns, Shapes::ShapeRef.new(shape: OrganizationalUnitArnList, location_name: "organizationalUnitArns"))
927
957
  LaunchPermissionConfiguration.struct_class = Types::LaunchPermissionConfiguration
928
958
 
929
959
  LaunchTemplateConfiguration.add_member(:launch_template_id, Shapes::ShapeRef.new(shape: LaunchTemplateId, required: true, location_name: "launchTemplateId"))
@@ -1063,6 +1093,10 @@ module Aws::Imagebuilder
1063
1093
  Logging.add_member(:s3_logs, Shapes::ShapeRef.new(shape: S3Logs, location_name: "s3Logs"))
1064
1094
  Logging.struct_class = Types::Logging
1065
1095
 
1096
+ OrganizationArnList.member = Shapes::ShapeRef.new(shape: OrganizationArn)
1097
+
1098
+ OrganizationalUnitArnList.member = Shapes::ShapeRef.new(shape: OrganizationalUnitArn)
1099
+
1066
1100
  OsVersionList.member = Shapes::ShapeRef.new(shape: OsVersion)
1067
1101
 
1068
1102
  OutputResources.add_member(:amis, Shapes::ShapeRef.new(shape: AmiList, location_name: "amis"))
@@ -1118,6 +1152,12 @@ module Aws::Imagebuilder
1118
1152
  ResourceTagMap.key = Shapes::ShapeRef.new(shape: TagKey)
1119
1153
  ResourceTagMap.value = Shapes::ShapeRef.new(shape: TagValue)
1120
1154
 
1155
+ S3ExportConfiguration.add_member(:role_name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "roleName"))
1156
+ S3ExportConfiguration.add_member(:disk_image_format, Shapes::ShapeRef.new(shape: DiskImageFormat, required: true, location_name: "diskImageFormat"))
1157
+ S3ExportConfiguration.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "s3Bucket"))
1158
+ S3ExportConfiguration.add_member(:s3_prefix, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3Prefix"))
1159
+ S3ExportConfiguration.struct_class = Types::S3ExportConfiguration
1160
+
1121
1161
  S3Logs.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3BucketName"))
1122
1162
  S3Logs.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3KeyPrefix"))
1123
1163
  S3Logs.struct_class = Types::S3Logs
@@ -1663,6 +1703,17 @@ module Aws::Imagebuilder
1663
1703
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
1664
1704
  end)
1665
1705
 
1706
+ api.add_operation(:import_vm_image, Seahorse::Model::Operation.new.tap do |o|
1707
+ o.name = "ImportVmImage"
1708
+ o.http_method = "PUT"
1709
+ o.http_request_uri = "/ImportVmImage"
1710
+ o.input = Shapes::ShapeRef.new(shape: ImportVmImageRequest)
1711
+ o.output = Shapes::ShapeRef.new(shape: ImportVmImageResponse)
1712
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1713
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1714
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1715
+ end)
1716
+
1666
1717
  api.add_operation(:list_component_build_versions, Seahorse::Model::Operation.new.tap do |o|
1667
1718
  o.name = "ListComponentBuildVersions"
1668
1719
  o.http_method = "POST"
@@ -110,6 +110,8 @@ module Aws::Imagebuilder
110
110
  # launch_permission: {
111
111
  # user_ids: ["AccountId"],
112
112
  # user_groups: ["NonEmptyString"],
113
+ # organization_arns: ["OrganizationArn"],
114
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
113
115
  # },
114
116
  # }
115
117
  #
@@ -118,7 +120,7 @@ module Aws::Imagebuilder
118
120
  # @return [String]
119
121
  #
120
122
  # @!attribute [rw] description
121
- # The description of the distribution configuration. Minimum and
123
+ # The description of the AMI distribution configuration. Minimum and
122
124
  # maximum length are in characters.
123
125
  # @return [String]
124
126
  #
@@ -180,10 +182,16 @@ module Aws::Imagebuilder
180
182
  # @return [String]
181
183
  #
182
184
  # @!attribute [rw] client_token
183
- # The idempotency token used to make this request idempotent.
185
+ # Unique, case-sensitive identifier you provide to ensure idempotency
186
+ # of the request. For more information, see [Ensuring idempotency][1]
187
+ # in the *Amazon EC2 API Reference*.
184
188
  #
185
189
  # **A suitable default value is auto-generated.** You should normally
186
190
  # not need to pass this option.
191
+ #
192
+ #
193
+ #
194
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
187
195
  # @return [String]
188
196
  #
189
197
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreationRequest AWS API Documentation
@@ -200,7 +208,7 @@ module Aws::Imagebuilder
200
208
  # @return [String]
201
209
  #
202
210
  # @!attribute [rw] client_token
203
- # The idempotency token used to make this request idempotent.
211
+ # The idempotency token that was used for this request.
204
212
  # @return [String]
205
213
  #
206
214
  # @!attribute [rw] image_build_version_arn
@@ -1197,6 +1205,8 @@ module Aws::Imagebuilder
1197
1205
  # launch_permission: {
1198
1206
  # user_ids: ["AccountId"],
1199
1207
  # user_groups: ["NonEmptyString"],
1208
+ # organization_arns: ["OrganizationArn"],
1209
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
1200
1210
  # },
1201
1211
  # },
1202
1212
  # container_distribution_configuration: {
@@ -1215,6 +1225,12 @@ module Aws::Imagebuilder
1215
1225
  # set_default_version: false,
1216
1226
  # },
1217
1227
  # ],
1228
+ # s3_export_configuration: {
1229
+ # role_name: "NonEmptyString", # required
1230
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
1231
+ # s3_bucket: "NonEmptyString", # required
1232
+ # s3_prefix: "NonEmptyString",
1233
+ # },
1218
1234
  # },
1219
1235
  # ],
1220
1236
  # tags: {
@@ -1744,7 +1760,15 @@ module Aws::Imagebuilder
1744
1760
  # @return [Boolean]
1745
1761
  #
1746
1762
  # @!attribute [rw] sns_topic_arn
1747
- # The SNS topic on which to send image build events.
1763
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
1764
+ # image build event notifications.
1765
+ #
1766
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
1767
+ # are encrypted using keys from other accounts. The key that is used
1768
+ # to encrypt the SNS topic must reside in the account that the Image
1769
+ # Builder service runs under.
1770
+ #
1771
+ # </note>
1748
1772
  # @return [String]
1749
1773
  #
1750
1774
  # @!attribute [rw] resource_tags
@@ -2091,6 +2115,8 @@ module Aws::Imagebuilder
2091
2115
  # launch_permission: {
2092
2116
  # user_ids: ["AccountId"],
2093
2117
  # user_groups: ["NonEmptyString"],
2118
+ # organization_arns: ["OrganizationArn"],
2119
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
2094
2120
  # },
2095
2121
  # },
2096
2122
  # container_distribution_configuration: {
@@ -2109,6 +2135,12 @@ module Aws::Imagebuilder
2109
2135
  # set_default_version: false,
2110
2136
  # },
2111
2137
  # ],
2138
+ # s3_export_configuration: {
2139
+ # role_name: "NonEmptyString", # required
2140
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
2141
+ # s3_bucket: "NonEmptyString", # required
2142
+ # s3_prefix: "NonEmptyString",
2143
+ # },
2112
2144
  # }
2113
2145
  #
2114
2146
  # @!attribute [rw] region
@@ -2135,6 +2167,12 @@ module Aws::Imagebuilder
2135
2167
  # distribution for specified accounts.
2136
2168
  # @return [Array<Types::LaunchTemplateConfiguration>]
2137
2169
  #
2170
+ # @!attribute [rw] s3_export_configuration
2171
+ # Configure export settings to deliver disk images created from your
2172
+ # image build, using a file format that is compatible with your VMs in
2173
+ # that Region.
2174
+ # @return [Types::S3ExportConfiguration]
2175
+ #
2138
2176
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Distribution AWS API Documentation
2139
2177
  #
2140
2178
  class Distribution < Struct.new(
@@ -2142,7 +2180,8 @@ module Aws::Imagebuilder
2142
2180
  :ami_distribution_configuration,
2143
2181
  :container_distribution_configuration,
2144
2182
  :license_configuration_arns,
2145
- :launch_template_configurations)
2183
+ :launch_template_configurations,
2184
+ :s3_export_configuration)
2146
2185
  SENSITIVE = []
2147
2186
  include Aws::Structure
2148
2187
  end
@@ -2892,6 +2931,19 @@ module Aws::Imagebuilder
2892
2931
  # The tags of the image.
2893
2932
  # @return [Hash<String,String>]
2894
2933
  #
2934
+ # @!attribute [rw] build_type
2935
+ # Indicates the type of build that created this image. The build can
2936
+ # be initiated in the following ways:
2937
+ #
2938
+ # * **USER\_INITIATED** – A manual pipeline build request.
2939
+ #
2940
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
2941
+ # the Image Builder pipeline, or from EventBridge.
2942
+ #
2943
+ # * **IMPORT** – A VM import created the image to use as the base
2944
+ # image for the recipe.
2945
+ # @return [String]
2946
+ #
2895
2947
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Image AWS API Documentation
2896
2948
  #
2897
2949
  class Image < Struct.new(
@@ -2912,7 +2964,8 @@ module Aws::Imagebuilder
2912
2964
  :image_tests_configuration,
2913
2965
  :date_created,
2914
2966
  :output_resources,
2915
- :tags)
2967
+ :tags,
2968
+ :build_type)
2916
2969
  SENSITIVE = []
2917
2970
  include Aws::Structure
2918
2971
  end
@@ -3234,6 +3287,19 @@ module Aws::Imagebuilder
3234
3287
  # The tags of the image.
3235
3288
  # @return [Hash<String,String>]
3236
3289
  #
3290
+ # @!attribute [rw] build_type
3291
+ # Indicates the type of build that created this image. The build can
3292
+ # be initiated in the following ways:
3293
+ #
3294
+ # * **USER\_INITIATED** – A manual pipeline build request.
3295
+ #
3296
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3297
+ # the Image Builder pipeline, or from EventBridge.
3298
+ #
3299
+ # * **IMPORT** – A VM import created the image to use as the base
3300
+ # image for the recipe.
3301
+ # @return [String]
3302
+ #
3237
3303
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageSummary AWS API Documentation
3238
3304
  #
3239
3305
  class ImageSummary < Struct.new(
@@ -3247,12 +3313,15 @@ module Aws::Imagebuilder
3247
3313
  :owner,
3248
3314
  :date_created,
3249
3315
  :output_resources,
3250
- :tags)
3316
+ :tags,
3317
+ :build_type)
3251
3318
  SENSITIVE = []
3252
3319
  include Aws::Structure
3253
3320
  end
3254
3321
 
3255
- # Image tests configuration.
3322
+ # Configure image tests for your pipeline build. Tests run after
3323
+ # building the image, to verify that the AMI or container image is valid
3324
+ # before distributing it.
3256
3325
  #
3257
3326
  # @note When making an API call, you may pass ImageTestsConfiguration
3258
3327
  # data as a hash:
@@ -3263,7 +3332,9 @@ module Aws::Imagebuilder
3263
3332
  # }
3264
3333
  #
3265
3334
  # @!attribute [rw] image_tests_enabled
3266
- # Defines if tests should be executed when building this image.
3335
+ # Determines if tests should run after building the image. Image
3336
+ # Builder defaults to enable tests to run following the image build,
3337
+ # before image distribution.
3267
3338
  # @return [Boolean]
3268
3339
  #
3269
3340
  # @!attribute [rw] timeout_minutes
@@ -3357,6 +3428,19 @@ module Aws::Imagebuilder
3357
3428
  # was created.
3358
3429
  # @return [String]
3359
3430
  #
3431
+ # @!attribute [rw] build_type
3432
+ # Indicates the type of build that created this image. The build can
3433
+ # be initiated in the following ways:
3434
+ #
3435
+ # * **USER\_INITIATED** – A manual pipeline build request.
3436
+ #
3437
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3438
+ # the Image Builder pipeline, or from EventBridge.
3439
+ #
3440
+ # * **IMPORT** – A VM import created the image to use as the base
3441
+ # image for the recipe.
3442
+ # @return [String]
3443
+ #
3360
3444
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageVersion AWS API Documentation
3361
3445
  #
3362
3446
  class ImageVersion < Struct.new(
@@ -3367,7 +3451,8 @@ module Aws::Imagebuilder
3367
3451
  :platform,
3368
3452
  :os_version,
3369
3453
  :owner,
3370
- :date_created)
3454
+ :date_created,
3455
+ :build_type)
3371
3456
  SENSITIVE = []
3372
3457
  include Aws::Structure
3373
3458
  end
@@ -3507,6 +3592,124 @@ module Aws::Imagebuilder
3507
3592
  include Aws::Structure
3508
3593
  end
3509
3594
 
3595
+ # @note When making an API call, you may pass ImportVmImageRequest
3596
+ # data as a hash:
3597
+ #
3598
+ # {
3599
+ # name: "NonEmptyString", # required
3600
+ # semantic_version: "VersionNumber", # required
3601
+ # description: "NonEmptyString",
3602
+ # platform: "Windows", # required, accepts Windows, Linux
3603
+ # os_version: "OsVersion",
3604
+ # vm_import_task_id: "NonEmptyString", # required
3605
+ # tags: {
3606
+ # "TagKey" => "TagValue",
3607
+ # },
3608
+ # client_token: "ClientToken", # required
3609
+ # }
3610
+ #
3611
+ # @!attribute [rw] name
3612
+ # The name of the base image that is created by the import process.
3613
+ # @return [String]
3614
+ #
3615
+ # @!attribute [rw] semantic_version
3616
+ # The semantic version to attach to the base image that was created
3617
+ # during the import process. This version follows the semantic version
3618
+ # syntax.
3619
+ #
3620
+ # <note markdown="1"> The semantic version has four nodes:
3621
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
3622
+ # assign values for the first three, and can filter on all of them.
3623
+ #
3624
+ # **Assignment:** For the first three nodes you can assign any
3625
+ # positive integer value, including zero, with an upper limit of
3626
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
3627
+ # assigns the build number to the fourth node.
3628
+ #
3629
+ # **Patterns:** You can use any numeric pattern that adheres to the
3630
+ # assignment requirements for the nodes that you can assign. For
3631
+ # example, you might choose a software version pattern, such as 1.0.0,
3632
+ # or a date, such as 2021.01.01.
3633
+ #
3634
+ # </note>
3635
+ # @return [String]
3636
+ #
3637
+ # @!attribute [rw] description
3638
+ # The description for the base image that is created by the import
3639
+ # process.
3640
+ # @return [String]
3641
+ #
3642
+ # @!attribute [rw] platform
3643
+ # The operating system platform for the imported VM.
3644
+ # @return [String]
3645
+ #
3646
+ # @!attribute [rw] os_version
3647
+ # The operating system version for the imported VM.
3648
+ # @return [String]
3649
+ #
3650
+ # @!attribute [rw] vm_import_task_id
3651
+ # The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
3652
+ # VM import process. Image Builder retrieves information from the
3653
+ # import process to pull in the AMI that is created from the VM source
3654
+ # as the base image for your recipe.
3655
+ # @return [String]
3656
+ #
3657
+ # @!attribute [rw] tags
3658
+ # Tags that are attached to the import resources.
3659
+ # @return [Hash<String,String>]
3660
+ #
3661
+ # @!attribute [rw] client_token
3662
+ # Unique, case-sensitive identifier you provide to ensure idempotency
3663
+ # of the request. For more information, see [Ensuring idempotency][1]
3664
+ # in the *Amazon EC2 API Reference*.
3665
+ #
3666
+ # **A suitable default value is auto-generated.** You should normally
3667
+ # not need to pass this option.
3668
+ #
3669
+ #
3670
+ #
3671
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3672
+ # @return [String]
3673
+ #
3674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageRequest AWS API Documentation
3675
+ #
3676
+ class ImportVmImageRequest < Struct.new(
3677
+ :name,
3678
+ :semantic_version,
3679
+ :description,
3680
+ :platform,
3681
+ :os_version,
3682
+ :vm_import_task_id,
3683
+ :tags,
3684
+ :client_token)
3685
+ SENSITIVE = []
3686
+ include Aws::Structure
3687
+ end
3688
+
3689
+ # @!attribute [rw] request_id
3690
+ # The request ID that uniquely identifies this request.
3691
+ # @return [String]
3692
+ #
3693
+ # @!attribute [rw] image_arn
3694
+ # The Amazon Resource Name (ARN) of the AMI that was created during
3695
+ # the VM import process. This AMI is used as the base image for the
3696
+ # recipe that imported the VM.
3697
+ # @return [String]
3698
+ #
3699
+ # @!attribute [rw] client_token
3700
+ # The idempotency token that was used for this request.
3701
+ # @return [String]
3702
+ #
3703
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageResponse AWS API Documentation
3704
+ #
3705
+ class ImportVmImageResponse < Struct.new(
3706
+ :request_id,
3707
+ :image_arn,
3708
+ :client_token)
3709
+ SENSITIVE = []
3710
+ include Aws::Structure
3711
+ end
3712
+
3510
3713
  # Details of the infrastructure configuration.
3511
3714
  #
3512
3715
  # @!attribute [rw] arn
@@ -3551,8 +3754,15 @@ module Aws::Imagebuilder
3551
3754
  # @return [Boolean]
3552
3755
  #
3553
3756
  # @!attribute [rw] sns_topic_arn
3554
- # The SNS topic Amazon Resource Name (ARN) of the infrastructure
3555
- # configuration.
3757
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
3758
+ # image build event notifications.
3759
+ #
3760
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
3761
+ # are encrypted using keys from other accounts. The key that is used
3762
+ # to encrypt the SNS topic must reside in the account that the Image
3763
+ # Builder service runs under.
3764
+ #
3765
+ # </note>
3556
3766
  # @return [String]
3557
3767
  #
3558
3768
  # @!attribute [rw] date_created
@@ -3899,6 +4109,8 @@ module Aws::Imagebuilder
3899
4109
  # {
3900
4110
  # user_ids: ["AccountId"],
3901
4111
  # user_groups: ["NonEmptyString"],
4112
+ # organization_arns: ["OrganizationArn"],
4113
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
3902
4114
  # }
3903
4115
  #
3904
4116
  # @!attribute [rw] user_ids
@@ -3909,11 +4121,33 @@ module Aws::Imagebuilder
3909
4121
  # The name of the group.
3910
4122
  # @return [Array<String>]
3911
4123
  #
4124
+ # @!attribute [rw] organization_arns
4125
+ # The ARN for an Amazon Web Services Organization that you want to
4126
+ # share your AMI with. For more information, see [What is
4127
+ # Organizations?][1].
4128
+ #
4129
+ #
4130
+ #
4131
+ # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html
4132
+ # @return [Array<String>]
4133
+ #
4134
+ # @!attribute [rw] organizational_unit_arns
4135
+ # The ARN for an Organizations organizational unit (OU) that you want
4136
+ # to share your AMI with. For more information about key concepts for
4137
+ # Organizations, see [Organizations terminology and concepts][1].
4138
+ #
4139
+ #
4140
+ #
4141
+ # [1]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html
4142
+ # @return [Array<String>]
4143
+ #
3912
4144
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/LaunchPermissionConfiguration AWS API Documentation
3913
4145
  #
3914
4146
  class LaunchPermissionConfiguration < Struct.new(
3915
4147
  :user_ids,
3916
- :user_groups)
4148
+ :user_groups,
4149
+ :organization_arns,
4150
+ :organizational_unit_arns)
3917
4151
  SENSITIVE = []
3918
4152
  include Aws::Structure
3919
4153
  end
@@ -5084,6 +5318,57 @@ module Aws::Imagebuilder
5084
5318
  include Aws::Structure
5085
5319
  end
5086
5320
 
5321
+ # Properties that configure export from your build instance to a
5322
+ # compatible file format for your VM.
5323
+ #
5324
+ # @note When making an API call, you may pass S3ExportConfiguration
5325
+ # data as a hash:
5326
+ #
5327
+ # {
5328
+ # role_name: "NonEmptyString", # required
5329
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
5330
+ # s3_bucket: "NonEmptyString", # required
5331
+ # s3_prefix: "NonEmptyString",
5332
+ # }
5333
+ #
5334
+ # @!attribute [rw] role_name
5335
+ # The name of the role that grants VM Import/Export permission to
5336
+ # export images to your S3 bucket.
5337
+ # @return [String]
5338
+ #
5339
+ # @!attribute [rw] disk_image_format
5340
+ # Export the updated image to one of the following supported disk
5341
+ # image formats:
5342
+ #
5343
+ # * **Virtual Hard Disk (VHD)** – Compatible with Citrix Xen and
5344
+ # Microsoft Hyper-V virtualization products.
5345
+ #
5346
+ # * **Stream-optimized ESX Virtual Machine Disk (VMDK)** – Compatible
5347
+ # with VMware ESX and VMware vSphere versions 4, 5, and 6.
5348
+ #
5349
+ # * **Raw** – Raw format.
5350
+ # @return [String]
5351
+ #
5352
+ # @!attribute [rw] s3_bucket
5353
+ # The S3 bucket in which to store the output disk images for your VM.
5354
+ # @return [String]
5355
+ #
5356
+ # @!attribute [rw] s3_prefix
5357
+ # The Amazon S3 path for the bucket where the output disk images for
5358
+ # your VM are stored.
5359
+ # @return [String]
5360
+ #
5361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3ExportConfiguration AWS API Documentation
5362
+ #
5363
+ class S3ExportConfiguration < Struct.new(
5364
+ :role_name,
5365
+ :disk_image_format,
5366
+ :s3_bucket,
5367
+ :s3_prefix)
5368
+ SENSITIVE = []
5369
+ include Aws::Structure
5370
+ end
5371
+
5087
5372
  # Amazon S3 logging configuration.
5088
5373
  #
5089
5374
  # @note When making an API call, you may pass S3Logs
@@ -5095,11 +5380,11 @@ module Aws::Imagebuilder
5095
5380
  # }
5096
5381
  #
5097
5382
  # @!attribute [rw] s3_bucket_name
5098
- # The Amazon S3 bucket in which to store the logs.
5383
+ # The S3 bucket in which to store the logs.
5099
5384
  # @return [String]
5100
5385
  #
5101
5386
  # @!attribute [rw] s3_key_prefix
5102
- # The Amazon S3 path in which to store the logs.
5387
+ # The Amazon S3 path to the bucket where the logs are stored.
5103
5388
  # @return [String]
5104
5389
  #
5105
5390
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3Logs AWS API Documentation
@@ -5406,6 +5691,8 @@ module Aws::Imagebuilder
5406
5691
  # launch_permission: {
5407
5692
  # user_ids: ["AccountId"],
5408
5693
  # user_groups: ["NonEmptyString"],
5694
+ # organization_arns: ["OrganizationArn"],
5695
+ # organizational_unit_arns: ["OrganizationalUnitArn"],
5409
5696
  # },
5410
5697
  # },
5411
5698
  # container_distribution_configuration: {
@@ -5424,6 +5711,12 @@ module Aws::Imagebuilder
5424
5711
  # set_default_version: false,
5425
5712
  # },
5426
5713
  # ],
5714
+ # s3_export_configuration: {
5715
+ # role_name: "NonEmptyString", # required
5716
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
5717
+ # s3_bucket: "NonEmptyString", # required
5718
+ # s3_prefix: "NonEmptyString",
5719
+ # },
5427
5720
  # },
5428
5721
  # ],
5429
5722
  # client_token: "ClientToken", # required
@@ -5679,7 +5972,15 @@ module Aws::Imagebuilder
5679
5972
  # @return [Boolean]
5680
5973
  #
5681
5974
  # @!attribute [rw] sns_topic_arn
5682
- # The SNS topic on which to send image build events.
5975
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
5976
+ # image build event notifications.
5977
+ #
5978
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
5979
+ # are encrypted using keys from other accounts. The key that is used
5980
+ # to encrypt the SNS topic must reside in the account that the Image
5981
+ # Builder service runs under.
5982
+ #
5983
+ # </note>
5683
5984
  # @return [String]
5684
5985
  #
5685
5986
  # @!attribute [rw] client_token
@@ -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.33.0'
51
+ GEM_VERSION = '1.37.0'
52
52
 
53
53
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-imagebuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.33.0
4
+ version: 1.37.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-04 00:00:00.000000000 Z
11
+ date: 2021-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.122.0
22
+ version: 3.125.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.122.0
32
+ version: 3.125.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement