aws-sdk-imagebuilder 1.35.0 → 1.39.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: 425e66c6219fdde5988b5c2acb13f1e0e89dfab996e8c5a826cf0fbc271f0a41
4
- data.tar.gz: 2dbccf67ff3e1e43c37b28d1e216f0ded9486cae34666d666d7ba9a0bb925b27
3
+ metadata.gz: b9aff09b0526fa490399b7ed70c526ec37ae41b11a04c9885307046d855da65b
4
+ data.tar.gz: 50c99cc8a146ba8308927482d14bade660496cdd2af5b77a3d9f245ed0d322f6
5
5
  SHA512:
6
- metadata.gz: 64ae4d2c6c348bf09542004100d64cd058172603d0930d951705c5d2f3c5ec4dfd6cc20bef84d6423bcde56c9f5af99a4f1d4f17b2a8fbf4532a1773bdec6f54
7
- data.tar.gz: 202268f4313f0a208dcf8701d21348050127830af7a0541e74fd7c5c61595d53cb6895b57326efd7b89ccb98a270ed9de19765ba8a958ac8b3b317784db7ad3c
6
+ metadata.gz: 1fd6710e2b5cd2b7f2fd43d05db4cb1558b78896f4a802640bcb9dfb93f8a41dfbcdaf4ebba249418e968e066806be71d874d6038de590d3018cfdd5fd81c08a
7
+ data.tar.gz: 2f91e26563be39c12062d4c955df0ab9354816e9aca4761ae153dc95309d2ce940ab69fd397997d893817ef9bdaa439632a28adf50708ec01b8211350f79f717
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.39.0 (2022-02-21)
5
+ ------------------
6
+
7
+ * Feature - This release adds support to enable faster launching for Windows AMIs created by EC2 Image Builder.
8
+
9
+ 1.38.0 (2022-02-03)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.37.0 (2021-12-21)
15
+ ------------------
16
+
17
+ * 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.
18
+
19
+ 1.36.0 (2021-12-20)
20
+ ------------------
21
+
22
+ * Feature - This release adds support for importing and exporting VM Images as part of the Image Creation workflow via EC2 VM Import/Export.
23
+
4
24
  1.35.0 (2021-11-30)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.35.0
1
+ 1.39.0
@@ -27,6 +27,8 @@ 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'
31
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
30
32
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
33
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
34
 
@@ -73,6 +75,8 @@ module Aws::Imagebuilder
73
75
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
76
  add_plugin(Aws::Plugins::TransferEncoding)
75
77
  add_plugin(Aws::Plugins::HttpChecksum)
78
+ add_plugin(Aws::Plugins::DefaultsMode)
79
+ add_plugin(Aws::Plugins::RecursionDetection)
76
80
  add_plugin(Aws::Plugins::SignatureV4)
77
81
  add_plugin(Aws::Plugins::Protocols::RestJson)
78
82
 
@@ -175,6 +179,10 @@ module Aws::Imagebuilder
175
179
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
180
  # a clock skew correction and retry requests with skewed client clocks.
177
181
  #
182
+ # @option options [String] :defaults_mode ("legacy")
183
+ # See {Aws::DefaultsModeConfiguration} for a list of the
184
+ # accepted modes and the configuration defaults that are included.
185
+ #
178
186
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
187
  # Set to true to disable SDK automatically adding host prefix
180
188
  # to default service endpoint when available.
@@ -297,7 +305,7 @@ module Aws::Imagebuilder
297
305
  # seconds to wait when opening a HTTP session before raising a
298
306
  # `Timeout::Error`.
299
307
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
308
+ # @option options [Float] :http_read_timeout (60) The default
301
309
  # number of seconds to wait for response data. This value can
302
310
  # safely be set per-request on the session.
303
311
  #
@@ -313,6 +321,9 @@ module Aws::Imagebuilder
313
321
  # disables this behaviour. This value can safely be set per
314
322
  # request on the session.
315
323
  #
324
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
325
+ # in seconds.
326
+ #
316
327
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
328
  # HTTP debug output will be sent to the `:logger`.
318
329
  #
@@ -346,11 +357,17 @@ module Aws::Imagebuilder
346
357
  # cancel.
347
358
  #
348
359
  # @option params [required, String] :client_token
349
- # The idempotency token used to make this request idempotent.
360
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
361
+ # the request. For more information, see [Ensuring idempotency][1] in
362
+ # the *Amazon EC2 API Reference*.
350
363
  #
351
364
  # **A suitable default value is auto-generated.** You should normally
352
365
  # not need to pass this option.**
353
366
  #
367
+ #
368
+ #
369
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
370
+ #
354
371
  # @return [Types::CancelImageCreationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
355
372
  #
356
373
  # * {Types::CancelImageCreationResponse#request_id #request_id} => String
@@ -380,7 +397,13 @@ module Aws::Imagebuilder
380
397
  end
381
398
 
382
399
  # Creates a new component that can be used to build, validate, test, and
383
- # assess your image.
400
+ # assess your image. The component is based on a YAML document that you
401
+ # specify using exactly one of the following methods:
402
+ #
403
+ # * Inline, using the `data` property in the request body.
404
+ #
405
+ # * A URL that points to a YAML document file stored in Amazon S3, using
406
+ # the `uri` property in the request body.
384
407
  #
385
408
  # @option params [required, String] :name
386
409
  # The name of the component.
@@ -423,14 +446,18 @@ module Aws::Imagebuilder
423
446
  # base image OS version during image recipe creation.
424
447
  #
425
448
  # @option params [String] :data
426
- # The data of the component. Used to specify the data inline. Either
427
- # `data` or `uri` can be used to specify the data within the component.
449
+ # Component `data` contains inline YAML document content for the
450
+ # component. Alternatively, you can specify the `uri` of a YAML document
451
+ # file stored in Amazon S3. However, you cannot specify both properties.
428
452
  #
429
453
  # @option params [String] :uri
430
- # The uri of the component. Must be an Amazon S3 URL and the requester
431
- # must have permission to access the Amazon S3 bucket. If you use Amazon
432
- # S3, you can specify component content up to your service quota. Either
433
- # `data` or `uri` can be used to specify the data within the component.
454
+ # The `uri` of a YAML component document file. This must be an S3 URL
455
+ # (`s3://bucket/key`), and the requester must have permission to access
456
+ # the S3 bucket it points to. If you use Amazon S3, you can specify
457
+ # component content up to your service quota.
458
+ #
459
+ # Alternatively, you can specify the YAML document inline, using the
460
+ # component `data` property. You cannot specify both properties.
434
461
  #
435
462
  # @option params [String] :kms_key_id
436
463
  # The ID of the KMS key that should be used to encrypt this component.
@@ -701,6 +728,27 @@ module Aws::Imagebuilder
701
728
  # set_default_version: false,
702
729
  # },
703
730
  # ],
731
+ # s3_export_configuration: {
732
+ # role_name: "NonEmptyString", # required
733
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
734
+ # s3_bucket: "NonEmptyString", # required
735
+ # s3_prefix: "NonEmptyString",
736
+ # },
737
+ # fast_launch_configurations: [
738
+ # {
739
+ # enabled: false, # required
740
+ # snapshot_configuration: {
741
+ # target_resource_count: 1,
742
+ # },
743
+ # max_parallel_launches: 1,
744
+ # launch_template: {
745
+ # launch_template_id: "LaunchTemplateId",
746
+ # launch_template_name: "NonEmptyString",
747
+ # launch_template_version: "NonEmptyString",
748
+ # },
749
+ # account_id: "AccountId",
750
+ # },
751
+ # ],
704
752
  # },
705
753
  # ],
706
754
  # tags: {
@@ -1071,7 +1119,15 @@ module Aws::Imagebuilder
1071
1119
  # workflow fails.
1072
1120
  #
1073
1121
  # @option params [String] :sns_topic_arn
1074
- # The SNS topic on which to send image build events.
1122
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
1123
+ # image build event notifications.
1124
+ #
1125
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
1126
+ # are encrypted using keys from other accounts. The key that is used to
1127
+ # encrypt the SNS topic must reside in the account that the Image
1128
+ # Builder service runs under.
1129
+ #
1130
+ # </note>
1075
1131
  #
1076
1132
  # @option params [Hash<String,String>] :resource_tags
1077
1133
  # The tags attached to the resource created by Image Builder.
@@ -1605,6 +1661,18 @@ module Aws::Imagebuilder
1605
1661
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1606
1662
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1607
1663
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1664
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.role_name #=> String
1665
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
1666
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.s3_bucket #=> String
1667
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.s3_prefix #=> String
1668
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations #=> Array
1669
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].enabled #=> Boolean
1670
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].snapshot_configuration.target_resource_count #=> Integer
1671
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].max_parallel_launches #=> Integer
1672
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].launch_template.launch_template_id #=> String
1673
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].launch_template.launch_template_name #=> String
1674
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].launch_template.launch_template_version #=> String
1675
+ # resp.distribution_configuration.distributions[0].fast_launch_configurations[0].account_id #=> String
1608
1676
  # resp.distribution_configuration.timeout_minutes #=> Integer
1609
1677
  # resp.distribution_configuration.date_created #=> String
1610
1678
  # resp.distribution_configuration.date_updated #=> String
@@ -1771,6 +1839,18 @@ module Aws::Imagebuilder
1771
1839
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1772
1840
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1773
1841
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1842
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.role_name #=> String
1843
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
1844
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.s3_bucket #=> String
1845
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.s3_prefix #=> String
1846
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations #=> Array
1847
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].enabled #=> Boolean
1848
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].snapshot_configuration.target_resource_count #=> Integer
1849
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].max_parallel_launches #=> Integer
1850
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].launch_template.launch_template_id #=> String
1851
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].launch_template.launch_template_name #=> String
1852
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].launch_template.launch_template_version #=> String
1853
+ # resp.image.distribution_configuration.distributions[0].fast_launch_configurations[0].account_id #=> String
1774
1854
  # resp.image.distribution_configuration.timeout_minutes #=> Integer
1775
1855
  # resp.image.distribution_configuration.date_created #=> String
1776
1856
  # resp.image.distribution_configuration.date_updated #=> String
@@ -1793,6 +1873,7 @@ module Aws::Imagebuilder
1793
1873
  # resp.image.output_resources.containers[0].image_uris[0] #=> String
1794
1874
  # resp.image.tags #=> Hash
1795
1875
  # resp.image.tags["TagKey"] #=> String
1876
+ # resp.image.build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
1796
1877
  #
1797
1878
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage AWS API Documentation
1798
1879
  #
@@ -2132,6 +2213,113 @@ module Aws::Imagebuilder
2132
2213
  req.send_request(options)
2133
2214
  end
2134
2215
 
2216
+ # When you export your virtual machine (VM) from its virtualization
2217
+ # environment, that process creates a set of one or more disk container
2218
+ # files that act as snapshots of your VM’s environment, settings, and
2219
+ # data. The Amazon EC2 API [ImportImage][1] action uses those files to
2220
+ # import your VM and create an AMI. To import using the CLI command, see
2221
+ # [import-image][2]
2222
+ #
2223
+ # You can reference the task ID from the VM import to pull in the AMI
2224
+ # that the import created as the base image for your Image Builder
2225
+ # recipe.
2226
+ #
2227
+ #
2228
+ #
2229
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportImage.html
2230
+ # [2]: https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html
2231
+ #
2232
+ # @option params [required, String] :name
2233
+ # The name of the base image that is created by the import process.
2234
+ #
2235
+ # @option params [required, String] :semantic_version
2236
+ # The semantic version to attach to the base image that was created
2237
+ # during the import process. This version follows the semantic version
2238
+ # syntax.
2239
+ #
2240
+ # <note markdown="1"> The semantic version has four nodes:
2241
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
2242
+ # assign values for the first three, and can filter on all of them.
2243
+ #
2244
+ # **Assignment:** For the first three nodes you can assign any positive
2245
+ # integer value, including zero, with an upper limit of 2^30-1, or
2246
+ # 1073741823 for each node. Image Builder automatically assigns the
2247
+ # build number to the fourth node.
2248
+ #
2249
+ # **Patterns:** You can use any numeric pattern that adheres to the
2250
+ # assignment requirements for the nodes that you can assign. For
2251
+ # example, you might choose a software version pattern, such as 1.0.0,
2252
+ # or a date, such as 2021.01.01.
2253
+ #
2254
+ # </note>
2255
+ #
2256
+ # @option params [String] :description
2257
+ # The description for the base image that is created by the import
2258
+ # process.
2259
+ #
2260
+ # @option params [required, String] :platform
2261
+ # The operating system platform for the imported VM.
2262
+ #
2263
+ # @option params [String] :os_version
2264
+ # The operating system version for the imported VM.
2265
+ #
2266
+ # @option params [required, String] :vm_import_task_id
2267
+ # The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
2268
+ # VM import process. Image Builder retrieves information from the import
2269
+ # process to pull in the AMI that is created from the VM source as the
2270
+ # base image for your recipe.
2271
+ #
2272
+ # @option params [Hash<String,String>] :tags
2273
+ # Tags that are attached to the import resources.
2274
+ #
2275
+ # @option params [required, String] :client_token
2276
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
2277
+ # the request. For more information, see [Ensuring idempotency][1] in
2278
+ # the *Amazon EC2 API Reference*.
2279
+ #
2280
+ # **A suitable default value is auto-generated.** You should normally
2281
+ # not need to pass this option.**
2282
+ #
2283
+ #
2284
+ #
2285
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2286
+ #
2287
+ # @return [Types::ImportVmImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2288
+ #
2289
+ # * {Types::ImportVmImageResponse#request_id #request_id} => String
2290
+ # * {Types::ImportVmImageResponse#image_arn #image_arn} => String
2291
+ # * {Types::ImportVmImageResponse#client_token #client_token} => String
2292
+ #
2293
+ # @example Request syntax with placeholder values
2294
+ #
2295
+ # resp = client.import_vm_image({
2296
+ # name: "NonEmptyString", # required
2297
+ # semantic_version: "VersionNumber", # required
2298
+ # description: "NonEmptyString",
2299
+ # platform: "Windows", # required, accepts Windows, Linux
2300
+ # os_version: "OsVersion",
2301
+ # vm_import_task_id: "NonEmptyString", # required
2302
+ # tags: {
2303
+ # "TagKey" => "TagValue",
2304
+ # },
2305
+ # client_token: "ClientToken", # required
2306
+ # })
2307
+ #
2308
+ # @example Response structure
2309
+ #
2310
+ # resp.request_id #=> String
2311
+ # resp.image_arn #=> String
2312
+ # resp.client_token #=> String
2313
+ #
2314
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImage AWS API Documentation
2315
+ #
2316
+ # @overload import_vm_image(params = {})
2317
+ # @param [Hash] params ({})
2318
+ def import_vm_image(params = {}, options = {})
2319
+ req = build_request(:import_vm_image, params)
2320
+ req.send_request(options)
2321
+ end
2322
+
2135
2323
  # Returns the list of component build versions for the specified
2136
2324
  # semantic version.
2137
2325
  #
@@ -2504,6 +2692,7 @@ module Aws::Imagebuilder
2504
2692
  # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
2505
2693
  # resp.image_summary_list[0].tags #=> Hash
2506
2694
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2695
+ # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2507
2696
  # resp.next_token #=> String
2508
2697
  #
2509
2698
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions AWS API Documentation
@@ -2634,6 +2823,7 @@ module Aws::Imagebuilder
2634
2823
  # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
2635
2824
  # resp.image_summary_list[0].tags #=> Hash
2636
2825
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2826
+ # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2637
2827
  # resp.next_token #=> String
2638
2828
  #
2639
2829
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages AWS API Documentation
@@ -2867,6 +3057,7 @@ module Aws::Imagebuilder
2867
3057
  # resp.image_version_list[0].os_version #=> String
2868
3058
  # resp.image_version_list[0].owner #=> String
2869
3059
  # resp.image_version_list[0].date_created #=> String
3060
+ # resp.image_version_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2870
3061
  # resp.next_token #=> String
2871
3062
  #
2872
3063
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages AWS API Documentation
@@ -3302,6 +3493,27 @@ module Aws::Imagebuilder
3302
3493
  # set_default_version: false,
3303
3494
  # },
3304
3495
  # ],
3496
+ # s3_export_configuration: {
3497
+ # role_name: "NonEmptyString", # required
3498
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
3499
+ # s3_bucket: "NonEmptyString", # required
3500
+ # s3_prefix: "NonEmptyString",
3501
+ # },
3502
+ # fast_launch_configurations: [
3503
+ # {
3504
+ # enabled: false, # required
3505
+ # snapshot_configuration: {
3506
+ # target_resource_count: 1,
3507
+ # },
3508
+ # max_parallel_launches: 1,
3509
+ # launch_template: {
3510
+ # launch_template_id: "LaunchTemplateId",
3511
+ # launch_template_name: "NonEmptyString",
3512
+ # launch_template_version: "NonEmptyString",
3513
+ # },
3514
+ # account_id: "AccountId",
3515
+ # },
3516
+ # ],
3305
3517
  # },
3306
3518
  # ],
3307
3519
  # client_token: "ClientToken", # required
@@ -3461,7 +3673,15 @@ module Aws::Imagebuilder
3461
3673
  # workflow fails.
3462
3674
  #
3463
3675
  # @option params [String] :sns_topic_arn
3464
- # The SNS topic on which to send image build events.
3676
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
3677
+ # image build event notifications.
3678
+ #
3679
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
3680
+ # are encrypted using keys from other accounts. The key that is used to
3681
+ # encrypt the SNS topic must reside in the account that the Image
3682
+ # Builder service runs under.
3683
+ #
3684
+ # </note>
3465
3685
  #
3466
3686
  # @option params [required, String] :client_token
3467
3687
  # The idempotency token used to make this request idempotent.
@@ -3551,7 +3771,7 @@ module Aws::Imagebuilder
3551
3771
  params: params,
3552
3772
  config: config)
3553
3773
  context[:gem_name] = 'aws-sdk-imagebuilder'
3554
- context[:gem_version] = '1.35.0'
3774
+ context[:gem_version] = '1.39.0'
3555
3775
  Seahorse::Client::Request.new(handlers, context)
3556
3776
  end
3557
3777
 
@@ -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')
@@ -104,6 +106,10 @@ module Aws::Imagebuilder
104
106
  EbsVolumeType = Shapes::StringShape.new(name: 'EbsVolumeType')
105
107
  EmptyString = Shapes::StringShape.new(name: 'EmptyString')
106
108
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
109
+ FastLaunchConfiguration = Shapes::StructureShape.new(name: 'FastLaunchConfiguration')
110
+ FastLaunchConfigurationList = Shapes::ListShape.new(name: 'FastLaunchConfigurationList')
111
+ FastLaunchLaunchTemplateSpecification = Shapes::StructureShape.new(name: 'FastLaunchLaunchTemplateSpecification')
112
+ FastLaunchSnapshotConfiguration = Shapes::StructureShape.new(name: 'FastLaunchSnapshotConfiguration')
107
113
  Filter = Shapes::StructureShape.new(name: 'Filter')
108
114
  FilterList = Shapes::ListShape.new(name: 'FilterList')
109
115
  FilterName = Shapes::StringShape.new(name: 'FilterName')
@@ -160,6 +166,8 @@ module Aws::Imagebuilder
160
166
  ImageVersionList = Shapes::ListShape.new(name: 'ImageVersionList')
161
167
  ImportComponentRequest = Shapes::StructureShape.new(name: 'ImportComponentRequest')
162
168
  ImportComponentResponse = Shapes::StructureShape.new(name: 'ImportComponentResponse')
169
+ ImportVmImageRequest = Shapes::StructureShape.new(name: 'ImportVmImageRequest')
170
+ ImportVmImageResponse = Shapes::StructureShape.new(name: 'ImportVmImageResponse')
163
171
  InfrastructureConfiguration = Shapes::StructureShape.new(name: 'InfrastructureConfiguration')
164
172
  InfrastructureConfigurationArn = Shapes::StringShape.new(name: 'InfrastructureConfigurationArn')
165
173
  InfrastructureConfigurationSummary = Shapes::StructureShape.new(name: 'InfrastructureConfigurationSummary')
@@ -210,6 +218,7 @@ module Aws::Imagebuilder
210
218
  ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
211
219
  ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
212
220
  Logging = Shapes::StructureShape.new(name: 'Logging')
221
+ MaxParallelLaunches = Shapes::IntegerShape.new(name: 'MaxParallelLaunches')
213
222
  NonEmptyString = Shapes::StringShape.new(name: 'NonEmptyString')
214
223
  NullableBoolean = Shapes::BooleanShape.new(name: 'NullableBoolean')
215
224
  OrganizationArn = Shapes::StringShape.new(name: 'OrganizationArn')
@@ -241,6 +250,7 @@ module Aws::Imagebuilder
241
250
  ResourcePolicyDocument = Shapes::StringShape.new(name: 'ResourcePolicyDocument')
242
251
  ResourceTagMap = Shapes::MapShape.new(name: 'ResourceTagMap')
243
252
  RestrictedInteger = Shapes::IntegerShape.new(name: 'RestrictedInteger')
253
+ S3ExportConfiguration = Shapes::StructureShape.new(name: 'S3ExportConfiguration')
244
254
  S3Logs = Shapes::StructureShape.new(name: 'S3Logs')
245
255
  Schedule = Shapes::StructureShape.new(name: 'Schedule')
246
256
  SecurityGroupIds = Shapes::ListShape.new(name: 'SecurityGroupIds')
@@ -259,6 +269,7 @@ module Aws::Imagebuilder
259
269
  TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
260
270
  TagValue = Shapes::StringShape.new(name: 'TagValue')
261
271
  TargetContainerRepository = Shapes::StructureShape.new(name: 'TargetContainerRepository')
272
+ TargetResourceCount = Shapes::IntegerShape.new(name: 'TargetResourceCount')
262
273
  Timezone = Shapes::StringShape.new(name: 'Timezone')
263
274
  UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
264
275
  UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
@@ -605,6 +616,8 @@ module Aws::Imagebuilder
605
616
  Distribution.add_member(:container_distribution_configuration, Shapes::ShapeRef.new(shape: ContainerDistributionConfiguration, location_name: "containerDistributionConfiguration"))
606
617
  Distribution.add_member(:license_configuration_arns, Shapes::ShapeRef.new(shape: LicenseConfigurationArnList, location_name: "licenseConfigurationArns"))
607
618
  Distribution.add_member(:launch_template_configurations, Shapes::ShapeRef.new(shape: LaunchTemplateConfigurationList, location_name: "launchTemplateConfigurations"))
619
+ Distribution.add_member(:s3_export_configuration, Shapes::ShapeRef.new(shape: S3ExportConfiguration, location_name: "s3ExportConfiguration"))
620
+ Distribution.add_member(:fast_launch_configurations, Shapes::ShapeRef.new(shape: FastLaunchConfigurationList, location_name: "fastLaunchConfigurations"))
608
621
  Distribution.struct_class = Types::Distribution
609
622
 
610
623
  DistributionConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: ImageBuilderArn, location_name: "arn"))
@@ -640,6 +653,23 @@ module Aws::Imagebuilder
640
653
  EbsInstanceBlockDeviceSpecification.add_member(:throughput, Shapes::ShapeRef.new(shape: EbsVolumeThroughput, location_name: "throughput"))
641
654
  EbsInstanceBlockDeviceSpecification.struct_class = Types::EbsInstanceBlockDeviceSpecification
642
655
 
656
+ FastLaunchConfiguration.add_member(:enabled, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "enabled"))
657
+ FastLaunchConfiguration.add_member(:snapshot_configuration, Shapes::ShapeRef.new(shape: FastLaunchSnapshotConfiguration, location_name: "snapshotConfiguration"))
658
+ FastLaunchConfiguration.add_member(:max_parallel_launches, Shapes::ShapeRef.new(shape: MaxParallelLaunches, location_name: "maxParallelLaunches"))
659
+ FastLaunchConfiguration.add_member(:launch_template, Shapes::ShapeRef.new(shape: FastLaunchLaunchTemplateSpecification, location_name: "launchTemplate"))
660
+ FastLaunchConfiguration.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
661
+ FastLaunchConfiguration.struct_class = Types::FastLaunchConfiguration
662
+
663
+ FastLaunchConfigurationList.member = Shapes::ShapeRef.new(shape: FastLaunchConfiguration)
664
+
665
+ FastLaunchLaunchTemplateSpecification.add_member(:launch_template_id, Shapes::ShapeRef.new(shape: LaunchTemplateId, location_name: "launchTemplateId"))
666
+ FastLaunchLaunchTemplateSpecification.add_member(:launch_template_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "launchTemplateName"))
667
+ FastLaunchLaunchTemplateSpecification.add_member(:launch_template_version, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "launchTemplateVersion"))
668
+ FastLaunchLaunchTemplateSpecification.struct_class = Types::FastLaunchLaunchTemplateSpecification
669
+
670
+ FastLaunchSnapshotConfiguration.add_member(:target_resource_count, Shapes::ShapeRef.new(shape: TargetResourceCount, location_name: "targetResourceCount"))
671
+ FastLaunchSnapshotConfiguration.struct_class = Types::FastLaunchSnapshotConfiguration
672
+
643
673
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: FilterName, location_name: "name"))
644
674
  Filter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
645
675
  Filter.struct_class = Types::Filter
@@ -749,6 +779,7 @@ module Aws::Imagebuilder
749
779
  Image.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
750
780
  Image.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
751
781
  Image.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
782
+ Image.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
752
783
  Image.struct_class = Types::Image
753
784
 
754
785
  ImagePackage.add_member(:package_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "packageName"))
@@ -820,6 +851,7 @@ module Aws::Imagebuilder
820
851
  ImageSummary.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
821
852
  ImageSummary.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
822
853
  ImageSummary.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
854
+ ImageSummary.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
823
855
  ImageSummary.struct_class = Types::ImageSummary
824
856
 
825
857
  ImageSummaryList.member = Shapes::ShapeRef.new(shape: ImageSummary)
@@ -836,6 +868,7 @@ module Aws::Imagebuilder
836
868
  ImageVersion.add_member(:os_version, Shapes::ShapeRef.new(shape: OsVersion, location_name: "osVersion"))
837
869
  ImageVersion.add_member(:owner, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "owner"))
838
870
  ImageVersion.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
871
+ ImageVersion.add_member(:build_type, Shapes::ShapeRef.new(shape: BuildType, location_name: "buildType"))
839
872
  ImageVersion.struct_class = Types::ImageVersion
840
873
 
841
874
  ImageVersionList.member = Shapes::ShapeRef.new(shape: ImageVersion)
@@ -859,6 +892,21 @@ module Aws::Imagebuilder
859
892
  ImportComponentResponse.add_member(:component_build_version_arn, Shapes::ShapeRef.new(shape: ComponentBuildVersionArn, location_name: "componentBuildVersionArn"))
860
893
  ImportComponentResponse.struct_class = Types::ImportComponentResponse
861
894
 
895
+ ImportVmImageRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "name"))
896
+ ImportVmImageRequest.add_member(:semantic_version, Shapes::ShapeRef.new(shape: VersionNumber, required: true, location_name: "semanticVersion"))
897
+ ImportVmImageRequest.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "description"))
898
+ ImportVmImageRequest.add_member(:platform, Shapes::ShapeRef.new(shape: Platform, required: true, location_name: "platform"))
899
+ ImportVmImageRequest.add_member(:os_version, Shapes::ShapeRef.new(shape: OsVersion, location_name: "osVersion"))
900
+ ImportVmImageRequest.add_member(:vm_import_task_id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "vmImportTaskId"))
901
+ ImportVmImageRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
902
+ ImportVmImageRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, required: true, location_name: "clientToken", metadata: {"idempotencyToken"=>true}))
903
+ ImportVmImageRequest.struct_class = Types::ImportVmImageRequest
904
+
905
+ ImportVmImageResponse.add_member(:request_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "requestId"))
906
+ ImportVmImageResponse.add_member(:image_arn, Shapes::ShapeRef.new(shape: Arn, location_name: "imageArn"))
907
+ ImportVmImageResponse.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken"))
908
+ ImportVmImageResponse.struct_class = Types::ImportVmImageResponse
909
+
862
910
  InfrastructureConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: ImageBuilderArn, location_name: "arn"))
863
911
  InfrastructureConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "name"))
864
912
  InfrastructureConfiguration.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "description"))
@@ -1128,6 +1176,12 @@ module Aws::Imagebuilder
1128
1176
  ResourceTagMap.key = Shapes::ShapeRef.new(shape: TagKey)
1129
1177
  ResourceTagMap.value = Shapes::ShapeRef.new(shape: TagValue)
1130
1178
 
1179
+ S3ExportConfiguration.add_member(:role_name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "roleName"))
1180
+ S3ExportConfiguration.add_member(:disk_image_format, Shapes::ShapeRef.new(shape: DiskImageFormat, required: true, location_name: "diskImageFormat"))
1181
+ S3ExportConfiguration.add_member(:s3_bucket, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "s3Bucket"))
1182
+ S3ExportConfiguration.add_member(:s3_prefix, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3Prefix"))
1183
+ S3ExportConfiguration.struct_class = Types::S3ExportConfiguration
1184
+
1131
1185
  S3Logs.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3BucketName"))
1132
1186
  S3Logs.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3KeyPrefix"))
1133
1187
  S3Logs.struct_class = Types::S3Logs
@@ -1673,6 +1727,17 @@ module Aws::Imagebuilder
1673
1727
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
1674
1728
  end)
1675
1729
 
1730
+ api.add_operation(:import_vm_image, Seahorse::Model::Operation.new.tap do |o|
1731
+ o.name = "ImportVmImage"
1732
+ o.http_method = "PUT"
1733
+ o.http_request_uri = "/ImportVmImage"
1734
+ o.input = Shapes::ShapeRef.new(shape: ImportVmImageRequest)
1735
+ o.output = Shapes::ShapeRef.new(shape: ImportVmImageResponse)
1736
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
1737
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
1738
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
1739
+ end)
1740
+
1676
1741
  api.add_operation(:list_component_build_versions, Seahorse::Model::Operation.new.tap do |o|
1677
1742
  o.name = "ListComponentBuildVersions"
1678
1743
  o.http_method = "POST"
@@ -36,12 +36,22 @@ module Aws::Imagebuilder
36
36
  # Use this property to provide commands or a command script to run
37
37
  # when you launch your build instance.
38
38
  #
39
- # <note markdown="1"> The userDataOverride property replaces any commands that Image
39
+ # The userDataOverride property replaces any commands that Image
40
40
  # Builder might have added to ensure that Systems Manager is installed
41
41
  # on your Linux build instance. If you override the user data, make
42
42
  # sure that you add commands to install Systems Manager, if it is not
43
43
  # pre-installed on your base image.
44
44
  #
45
+ # <note markdown="1"> The user data is always base 64 encoded. For example, the following
46
+ # commands are encoded as
47
+ # `IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$`\:
48
+ #
49
+ # *#!/bin/bash*
50
+ #
51
+ # mkdir -p /var/bb/
52
+ #
53
+ # touch /var
54
+ #
45
55
  # </note>
46
56
  # @return [String]
47
57
  #
@@ -182,10 +192,16 @@ module Aws::Imagebuilder
182
192
  # @return [String]
183
193
  #
184
194
  # @!attribute [rw] client_token
185
- # The idempotency token used to make this request idempotent.
195
+ # Unique, case-sensitive identifier you provide to ensure idempotency
196
+ # of the request. For more information, see [Ensuring idempotency][1]
197
+ # in the *Amazon EC2 API Reference*.
186
198
  #
187
199
  # **A suitable default value is auto-generated.** You should normally
188
200
  # not need to pass this option.
201
+ #
202
+ #
203
+ #
204
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
189
205
  # @return [String]
190
206
  #
191
207
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreationRequest AWS API Documentation
@@ -202,7 +218,7 @@ module Aws::Imagebuilder
202
218
  # @return [String]
203
219
  #
204
220
  # @!attribute [rw] client_token
205
- # The idempotency token used to make this request idempotent.
221
+ # The idempotency token that was used for this request.
206
222
  # @return [String]
207
223
  #
208
224
  # @!attribute [rw] image_build_version_arn
@@ -288,7 +304,7 @@ module Aws::Imagebuilder
288
304
  # @return [String]
289
305
  #
290
306
  # @!attribute [rw] data
291
- # The data of the component.
307
+ # Component data contains the YAML document content for the component.
292
308
  # @return [String]
293
309
  #
294
310
  # @!attribute [rw] kms_key_id
@@ -919,17 +935,20 @@ module Aws::Imagebuilder
919
935
  # @return [Array<String>]
920
936
  #
921
937
  # @!attribute [rw] data
922
- # The data of the component. Used to specify the data inline. Either
923
- # `data` or `uri` can be used to specify the data within the
924
- # component.
938
+ # Component `data` contains inline YAML document content for the
939
+ # component. Alternatively, you can specify the `uri` of a YAML
940
+ # document file stored in Amazon S3. However, you cannot specify both
941
+ # properties.
925
942
  # @return [String]
926
943
  #
927
944
  # @!attribute [rw] uri
928
- # The uri of the component. Must be an Amazon S3 URL and the requester
929
- # must have permission to access the Amazon S3 bucket. If you use
930
- # Amazon S3, you can specify component content up to your service
931
- # quota. Either `data` or `uri` can be used to specify the data within
932
- # the component.
945
+ # The `uri` of a YAML component document file. This must be an S3 URL
946
+ # (`s3://bucket/key`), and the requester must have permission to
947
+ # access the S3 bucket it points to. If you use Amazon S3, you can
948
+ # specify component content up to your service quota.
949
+ #
950
+ # Alternatively, you can specify the YAML document inline, using the
951
+ # component `data` property. You cannot specify both properties.
933
952
  # @return [String]
934
953
  #
935
954
  # @!attribute [rw] kms_key_id
@@ -1219,6 +1238,27 @@ module Aws::Imagebuilder
1219
1238
  # set_default_version: false,
1220
1239
  # },
1221
1240
  # ],
1241
+ # s3_export_configuration: {
1242
+ # role_name: "NonEmptyString", # required
1243
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
1244
+ # s3_bucket: "NonEmptyString", # required
1245
+ # s3_prefix: "NonEmptyString",
1246
+ # },
1247
+ # fast_launch_configurations: [
1248
+ # {
1249
+ # enabled: false, # required
1250
+ # snapshot_configuration: {
1251
+ # target_resource_count: 1,
1252
+ # },
1253
+ # max_parallel_launches: 1,
1254
+ # launch_template: {
1255
+ # launch_template_id: "LaunchTemplateId",
1256
+ # launch_template_name: "NonEmptyString",
1257
+ # launch_template_version: "NonEmptyString",
1258
+ # },
1259
+ # account_id: "AccountId",
1260
+ # },
1261
+ # ],
1222
1262
  # },
1223
1263
  # ],
1224
1264
  # tags: {
@@ -1748,7 +1788,15 @@ module Aws::Imagebuilder
1748
1788
  # @return [Boolean]
1749
1789
  #
1750
1790
  # @!attribute [rw] sns_topic_arn
1751
- # The SNS topic on which to send image build events.
1791
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
1792
+ # image build event notifications.
1793
+ #
1794
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
1795
+ # are encrypted using keys from other accounts. The key that is used
1796
+ # to encrypt the SNS topic must reside in the account that the Image
1797
+ # Builder service runs under.
1798
+ #
1799
+ # </note>
1752
1800
  # @return [String]
1753
1801
  #
1754
1802
  # @!attribute [rw] resource_tags
@@ -2115,6 +2163,27 @@ module Aws::Imagebuilder
2115
2163
  # set_default_version: false,
2116
2164
  # },
2117
2165
  # ],
2166
+ # s3_export_configuration: {
2167
+ # role_name: "NonEmptyString", # required
2168
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
2169
+ # s3_bucket: "NonEmptyString", # required
2170
+ # s3_prefix: "NonEmptyString",
2171
+ # },
2172
+ # fast_launch_configurations: [
2173
+ # {
2174
+ # enabled: false, # required
2175
+ # snapshot_configuration: {
2176
+ # target_resource_count: 1,
2177
+ # },
2178
+ # max_parallel_launches: 1,
2179
+ # launch_template: {
2180
+ # launch_template_id: "LaunchTemplateId",
2181
+ # launch_template_name: "NonEmptyString",
2182
+ # launch_template_version: "NonEmptyString",
2183
+ # },
2184
+ # account_id: "AccountId",
2185
+ # },
2186
+ # ],
2118
2187
  # }
2119
2188
  #
2120
2189
  # @!attribute [rw] region
@@ -2141,6 +2210,17 @@ module Aws::Imagebuilder
2141
2210
  # distribution for specified accounts.
2142
2211
  # @return [Array<Types::LaunchTemplateConfiguration>]
2143
2212
  #
2213
+ # @!attribute [rw] s3_export_configuration
2214
+ # Configure export settings to deliver disk images created from your
2215
+ # image build, using a file format that is compatible with your VMs in
2216
+ # that Region.
2217
+ # @return [Types::S3ExportConfiguration]
2218
+ #
2219
+ # @!attribute [rw] fast_launch_configurations
2220
+ # The Windows faster-launching configurations to use for AMI
2221
+ # distribution.
2222
+ # @return [Array<Types::FastLaunchConfiguration>]
2223
+ #
2144
2224
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Distribution AWS API Documentation
2145
2225
  #
2146
2226
  class Distribution < Struct.new(
@@ -2148,7 +2228,9 @@ module Aws::Imagebuilder
2148
2228
  :ami_distribution_configuration,
2149
2229
  :container_distribution_configuration,
2150
2230
  :license_configuration_arns,
2151
- :launch_template_configurations)
2231
+ :launch_template_configurations,
2232
+ :s3_export_configuration,
2233
+ :fast_launch_configurations)
2152
2234
  SENSITIVE = []
2153
2235
  include Aws::Structure
2154
2236
  end
@@ -2311,6 +2393,129 @@ module Aws::Imagebuilder
2311
2393
  include Aws::Structure
2312
2394
  end
2313
2395
 
2396
+ # Define and configure faster launching for output Windows AMIs.
2397
+ #
2398
+ # @note When making an API call, you may pass FastLaunchConfiguration
2399
+ # data as a hash:
2400
+ #
2401
+ # {
2402
+ # enabled: false, # required
2403
+ # snapshot_configuration: {
2404
+ # target_resource_count: 1,
2405
+ # },
2406
+ # max_parallel_launches: 1,
2407
+ # launch_template: {
2408
+ # launch_template_id: "LaunchTemplateId",
2409
+ # launch_template_name: "NonEmptyString",
2410
+ # launch_template_version: "NonEmptyString",
2411
+ # },
2412
+ # account_id: "AccountId",
2413
+ # }
2414
+ #
2415
+ # @!attribute [rw] enabled
2416
+ # A Boolean that represents the current state of faster launching for
2417
+ # the Windows AMI. Set to `true` to start using Windows faster
2418
+ # launching, or `false` to stop using it.
2419
+ # @return [Boolean]
2420
+ #
2421
+ # @!attribute [rw] snapshot_configuration
2422
+ # Configuration settings for managing the number of snapshots that are
2423
+ # created from pre-provisioned instances for the Windows AMI when
2424
+ # faster launching is enabled.
2425
+ # @return [Types::FastLaunchSnapshotConfiguration]
2426
+ #
2427
+ # @!attribute [rw] max_parallel_launches
2428
+ # The maximum number of parallel instances that are launched for
2429
+ # creating resources.
2430
+ # @return [Integer]
2431
+ #
2432
+ # @!attribute [rw] launch_template
2433
+ # The launch template that the fast-launch enabled Windows AMI uses
2434
+ # when it launches Windows instances to create pre-provisioned
2435
+ # snapshots.
2436
+ # @return [Types::FastLaunchLaunchTemplateSpecification]
2437
+ #
2438
+ # @!attribute [rw] account_id
2439
+ # The owner account ID for the fast-launch enabled Windows AMI.
2440
+ # @return [String]
2441
+ #
2442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/FastLaunchConfiguration AWS API Documentation
2443
+ #
2444
+ class FastLaunchConfiguration < Struct.new(
2445
+ :enabled,
2446
+ :snapshot_configuration,
2447
+ :max_parallel_launches,
2448
+ :launch_template,
2449
+ :account_id)
2450
+ SENSITIVE = []
2451
+ include Aws::Structure
2452
+ end
2453
+
2454
+ # Identifies the launch template that the associated Windows AMI uses
2455
+ # for launching an instance when faster launching is enabled.
2456
+ #
2457
+ # <note markdown="1"> You can specify either the `launchTemplateName` or the
2458
+ # `launchTemplateId`, but not both.
2459
+ #
2460
+ # </note>
2461
+ #
2462
+ # @note When making an API call, you may pass FastLaunchLaunchTemplateSpecification
2463
+ # data as a hash:
2464
+ #
2465
+ # {
2466
+ # launch_template_id: "LaunchTemplateId",
2467
+ # launch_template_name: "NonEmptyString",
2468
+ # launch_template_version: "NonEmptyString",
2469
+ # }
2470
+ #
2471
+ # @!attribute [rw] launch_template_id
2472
+ # The ID of the launch template to use for faster launching for a
2473
+ # Windows AMI.
2474
+ # @return [String]
2475
+ #
2476
+ # @!attribute [rw] launch_template_name
2477
+ # The name of the launch template to use for faster launching for a
2478
+ # Windows AMI.
2479
+ # @return [String]
2480
+ #
2481
+ # @!attribute [rw] launch_template_version
2482
+ # The version of the launch template to use for faster launching for a
2483
+ # Windows AMI.
2484
+ # @return [String]
2485
+ #
2486
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/FastLaunchLaunchTemplateSpecification AWS API Documentation
2487
+ #
2488
+ class FastLaunchLaunchTemplateSpecification < Struct.new(
2489
+ :launch_template_id,
2490
+ :launch_template_name,
2491
+ :launch_template_version)
2492
+ SENSITIVE = []
2493
+ include Aws::Structure
2494
+ end
2495
+
2496
+ # Configuration settings for creating and managing pre-provisioned
2497
+ # snapshots for a fast-launch enabled Windows AMI.
2498
+ #
2499
+ # @note When making an API call, you may pass FastLaunchSnapshotConfiguration
2500
+ # data as a hash:
2501
+ #
2502
+ # {
2503
+ # target_resource_count: 1,
2504
+ # }
2505
+ #
2506
+ # @!attribute [rw] target_resource_count
2507
+ # The number of pre-provisioned snapshots to keep on hand for a
2508
+ # fast-launch enabled Windows AMI.
2509
+ # @return [Integer]
2510
+ #
2511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/FastLaunchSnapshotConfiguration AWS API Documentation
2512
+ #
2513
+ class FastLaunchSnapshotConfiguration < Struct.new(
2514
+ :target_resource_count)
2515
+ SENSITIVE = []
2516
+ include Aws::Structure
2517
+ end
2518
+
2314
2519
  # A filter name and value pair that is used to return a more specific
2315
2520
  # list of results from a list operation. Filters can be used to match a
2316
2521
  # set of resources by specific criteria, such as tags, attributes, or
@@ -2898,6 +3103,19 @@ module Aws::Imagebuilder
2898
3103
  # The tags of the image.
2899
3104
  # @return [Hash<String,String>]
2900
3105
  #
3106
+ # @!attribute [rw] build_type
3107
+ # Indicates the type of build that created this image. The build can
3108
+ # be initiated in the following ways:
3109
+ #
3110
+ # * **USER\_INITIATED** – A manual pipeline build request.
3111
+ #
3112
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3113
+ # the Image Builder pipeline, or from EventBridge.
3114
+ #
3115
+ # * **IMPORT** – A VM import created the image to use as the base
3116
+ # image for the recipe.
3117
+ # @return [String]
3118
+ #
2901
3119
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Image AWS API Documentation
2902
3120
  #
2903
3121
  class Image < Struct.new(
@@ -2918,7 +3136,8 @@ module Aws::Imagebuilder
2918
3136
  :image_tests_configuration,
2919
3137
  :date_created,
2920
3138
  :output_resources,
2921
- :tags)
3139
+ :tags,
3140
+ :build_type)
2922
3141
  SENSITIVE = []
2923
3142
  include Aws::Structure
2924
3143
  end
@@ -3240,6 +3459,19 @@ module Aws::Imagebuilder
3240
3459
  # The tags of the image.
3241
3460
  # @return [Hash<String,String>]
3242
3461
  #
3462
+ # @!attribute [rw] build_type
3463
+ # Indicates the type of build that created this image. The build can
3464
+ # be initiated in the following ways:
3465
+ #
3466
+ # * **USER\_INITIATED** – A manual pipeline build request.
3467
+ #
3468
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3469
+ # the Image Builder pipeline, or from EventBridge.
3470
+ #
3471
+ # * **IMPORT** – A VM import created the image to use as the base
3472
+ # image for the recipe.
3473
+ # @return [String]
3474
+ #
3243
3475
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageSummary AWS API Documentation
3244
3476
  #
3245
3477
  class ImageSummary < Struct.new(
@@ -3253,12 +3485,15 @@ module Aws::Imagebuilder
3253
3485
  :owner,
3254
3486
  :date_created,
3255
3487
  :output_resources,
3256
- :tags)
3488
+ :tags,
3489
+ :build_type)
3257
3490
  SENSITIVE = []
3258
3491
  include Aws::Structure
3259
3492
  end
3260
3493
 
3261
- # Image tests configuration.
3494
+ # Configure image tests for your pipeline build. Tests run after
3495
+ # building the image, to verify that the AMI or container image is valid
3496
+ # before distributing it.
3262
3497
  #
3263
3498
  # @note When making an API call, you may pass ImageTestsConfiguration
3264
3499
  # data as a hash:
@@ -3269,7 +3504,9 @@ module Aws::Imagebuilder
3269
3504
  # }
3270
3505
  #
3271
3506
  # @!attribute [rw] image_tests_enabled
3272
- # Defines if tests should be executed when building this image.
3507
+ # Determines if tests should run after building the image. Image
3508
+ # Builder defaults to enable tests to run following the image build,
3509
+ # before image distribution.
3273
3510
  # @return [Boolean]
3274
3511
  #
3275
3512
  # @!attribute [rw] timeout_minutes
@@ -3363,6 +3600,19 @@ module Aws::Imagebuilder
3363
3600
  # was created.
3364
3601
  # @return [String]
3365
3602
  #
3603
+ # @!attribute [rw] build_type
3604
+ # Indicates the type of build that created this image. The build can
3605
+ # be initiated in the following ways:
3606
+ #
3607
+ # * **USER\_INITIATED** – A manual pipeline build request.
3608
+ #
3609
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3610
+ # the Image Builder pipeline, or from EventBridge.
3611
+ #
3612
+ # * **IMPORT** – A VM import created the image to use as the base
3613
+ # image for the recipe.
3614
+ # @return [String]
3615
+ #
3366
3616
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageVersion AWS API Documentation
3367
3617
  #
3368
3618
  class ImageVersion < Struct.new(
@@ -3373,7 +3623,8 @@ module Aws::Imagebuilder
3373
3623
  :platform,
3374
3624
  :os_version,
3375
3625
  :owner,
3376
- :date_created)
3626
+ :date_created,
3627
+ :build_type)
3377
3628
  SENSITIVE = []
3378
3629
  include Aws::Structure
3379
3630
  end
@@ -3513,6 +3764,124 @@ module Aws::Imagebuilder
3513
3764
  include Aws::Structure
3514
3765
  end
3515
3766
 
3767
+ # @note When making an API call, you may pass ImportVmImageRequest
3768
+ # data as a hash:
3769
+ #
3770
+ # {
3771
+ # name: "NonEmptyString", # required
3772
+ # semantic_version: "VersionNumber", # required
3773
+ # description: "NonEmptyString",
3774
+ # platform: "Windows", # required, accepts Windows, Linux
3775
+ # os_version: "OsVersion",
3776
+ # vm_import_task_id: "NonEmptyString", # required
3777
+ # tags: {
3778
+ # "TagKey" => "TagValue",
3779
+ # },
3780
+ # client_token: "ClientToken", # required
3781
+ # }
3782
+ #
3783
+ # @!attribute [rw] name
3784
+ # The name of the base image that is created by the import process.
3785
+ # @return [String]
3786
+ #
3787
+ # @!attribute [rw] semantic_version
3788
+ # The semantic version to attach to the base image that was created
3789
+ # during the import process. This version follows the semantic version
3790
+ # syntax.
3791
+ #
3792
+ # <note markdown="1"> The semantic version has four nodes:
3793
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
3794
+ # assign values for the first three, and can filter on all of them.
3795
+ #
3796
+ # **Assignment:** For the first three nodes you can assign any
3797
+ # positive integer value, including zero, with an upper limit of
3798
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
3799
+ # assigns the build number to the fourth node.
3800
+ #
3801
+ # **Patterns:** You can use any numeric pattern that adheres to the
3802
+ # assignment requirements for the nodes that you can assign. For
3803
+ # example, you might choose a software version pattern, such as 1.0.0,
3804
+ # or a date, such as 2021.01.01.
3805
+ #
3806
+ # </note>
3807
+ # @return [String]
3808
+ #
3809
+ # @!attribute [rw] description
3810
+ # The description for the base image that is created by the import
3811
+ # process.
3812
+ # @return [String]
3813
+ #
3814
+ # @!attribute [rw] platform
3815
+ # The operating system platform for the imported VM.
3816
+ # @return [String]
3817
+ #
3818
+ # @!attribute [rw] os_version
3819
+ # The operating system version for the imported VM.
3820
+ # @return [String]
3821
+ #
3822
+ # @!attribute [rw] vm_import_task_id
3823
+ # The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
3824
+ # VM import process. Image Builder retrieves information from the
3825
+ # import process to pull in the AMI that is created from the VM source
3826
+ # as the base image for your recipe.
3827
+ # @return [String]
3828
+ #
3829
+ # @!attribute [rw] tags
3830
+ # Tags that are attached to the import resources.
3831
+ # @return [Hash<String,String>]
3832
+ #
3833
+ # @!attribute [rw] client_token
3834
+ # Unique, case-sensitive identifier you provide to ensure idempotency
3835
+ # of the request. For more information, see [Ensuring idempotency][1]
3836
+ # in the *Amazon EC2 API Reference*.
3837
+ #
3838
+ # **A suitable default value is auto-generated.** You should normally
3839
+ # not need to pass this option.
3840
+ #
3841
+ #
3842
+ #
3843
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3844
+ # @return [String]
3845
+ #
3846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageRequest AWS API Documentation
3847
+ #
3848
+ class ImportVmImageRequest < Struct.new(
3849
+ :name,
3850
+ :semantic_version,
3851
+ :description,
3852
+ :platform,
3853
+ :os_version,
3854
+ :vm_import_task_id,
3855
+ :tags,
3856
+ :client_token)
3857
+ SENSITIVE = []
3858
+ include Aws::Structure
3859
+ end
3860
+
3861
+ # @!attribute [rw] request_id
3862
+ # The request ID that uniquely identifies this request.
3863
+ # @return [String]
3864
+ #
3865
+ # @!attribute [rw] image_arn
3866
+ # The Amazon Resource Name (ARN) of the AMI that was created during
3867
+ # the VM import process. This AMI is used as the base image for the
3868
+ # recipe that imported the VM.
3869
+ # @return [String]
3870
+ #
3871
+ # @!attribute [rw] client_token
3872
+ # The idempotency token that was used for this request.
3873
+ # @return [String]
3874
+ #
3875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageResponse AWS API Documentation
3876
+ #
3877
+ class ImportVmImageResponse < Struct.new(
3878
+ :request_id,
3879
+ :image_arn,
3880
+ :client_token)
3881
+ SENSITIVE = []
3882
+ include Aws::Structure
3883
+ end
3884
+
3516
3885
  # Details of the infrastructure configuration.
3517
3886
  #
3518
3887
  # @!attribute [rw] arn
@@ -3557,8 +3926,15 @@ module Aws::Imagebuilder
3557
3926
  # @return [Boolean]
3558
3927
  #
3559
3928
  # @!attribute [rw] sns_topic_arn
3560
- # The SNS topic Amazon Resource Name (ARN) of the infrastructure
3561
- # configuration.
3929
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
3930
+ # image build event notifications.
3931
+ #
3932
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
3933
+ # are encrypted using keys from other accounts. The key that is used
3934
+ # to encrypt the SNS topic must reside in the account that the Image
3935
+ # Builder service runs under.
3936
+ #
3937
+ # </note>
3562
3938
  # @return [String]
3563
3939
  #
3564
3940
  # @!attribute [rw] date_created
@@ -5114,6 +5490,57 @@ module Aws::Imagebuilder
5114
5490
  include Aws::Structure
5115
5491
  end
5116
5492
 
5493
+ # Properties that configure export from your build instance to a
5494
+ # compatible file format for your VM.
5495
+ #
5496
+ # @note When making an API call, you may pass S3ExportConfiguration
5497
+ # data as a hash:
5498
+ #
5499
+ # {
5500
+ # role_name: "NonEmptyString", # required
5501
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
5502
+ # s3_bucket: "NonEmptyString", # required
5503
+ # s3_prefix: "NonEmptyString",
5504
+ # }
5505
+ #
5506
+ # @!attribute [rw] role_name
5507
+ # The name of the role that grants VM Import/Export permission to
5508
+ # export images to your S3 bucket.
5509
+ # @return [String]
5510
+ #
5511
+ # @!attribute [rw] disk_image_format
5512
+ # Export the updated image to one of the following supported disk
5513
+ # image formats:
5514
+ #
5515
+ # * **Virtual Hard Disk (VHD)** – Compatible with Citrix Xen and
5516
+ # Microsoft Hyper-V virtualization products.
5517
+ #
5518
+ # * **Stream-optimized ESX Virtual Machine Disk (VMDK)** – Compatible
5519
+ # with VMware ESX and VMware vSphere versions 4, 5, and 6.
5520
+ #
5521
+ # * **Raw** – Raw format.
5522
+ # @return [String]
5523
+ #
5524
+ # @!attribute [rw] s3_bucket
5525
+ # The S3 bucket in which to store the output disk images for your VM.
5526
+ # @return [String]
5527
+ #
5528
+ # @!attribute [rw] s3_prefix
5529
+ # The Amazon S3 path for the bucket where the output disk images for
5530
+ # your VM are stored.
5531
+ # @return [String]
5532
+ #
5533
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3ExportConfiguration AWS API Documentation
5534
+ #
5535
+ class S3ExportConfiguration < Struct.new(
5536
+ :role_name,
5537
+ :disk_image_format,
5538
+ :s3_bucket,
5539
+ :s3_prefix)
5540
+ SENSITIVE = []
5541
+ include Aws::Structure
5542
+ end
5543
+
5117
5544
  # Amazon S3 logging configuration.
5118
5545
  #
5119
5546
  # @note When making an API call, you may pass S3Logs
@@ -5125,11 +5552,11 @@ module Aws::Imagebuilder
5125
5552
  # }
5126
5553
  #
5127
5554
  # @!attribute [rw] s3_bucket_name
5128
- # The Amazon S3 bucket in which to store the logs.
5555
+ # The S3 bucket in which to store the logs.
5129
5556
  # @return [String]
5130
5557
  #
5131
5558
  # @!attribute [rw] s3_key_prefix
5132
- # The Amazon S3 path in which to store the logs.
5559
+ # The Amazon S3 path to the bucket where the logs are stored.
5133
5560
  # @return [String]
5134
5561
  #
5135
5562
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3Logs AWS API Documentation
@@ -5456,6 +5883,27 @@ module Aws::Imagebuilder
5456
5883
  # set_default_version: false,
5457
5884
  # },
5458
5885
  # ],
5886
+ # s3_export_configuration: {
5887
+ # role_name: "NonEmptyString", # required
5888
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
5889
+ # s3_bucket: "NonEmptyString", # required
5890
+ # s3_prefix: "NonEmptyString",
5891
+ # },
5892
+ # fast_launch_configurations: [
5893
+ # {
5894
+ # enabled: false, # required
5895
+ # snapshot_configuration: {
5896
+ # target_resource_count: 1,
5897
+ # },
5898
+ # max_parallel_launches: 1,
5899
+ # launch_template: {
5900
+ # launch_template_id: "LaunchTemplateId",
5901
+ # launch_template_name: "NonEmptyString",
5902
+ # launch_template_version: "NonEmptyString",
5903
+ # },
5904
+ # account_id: "AccountId",
5905
+ # },
5906
+ # ],
5459
5907
  # },
5460
5908
  # ],
5461
5909
  # client_token: "ClientToken", # required
@@ -5711,7 +6159,15 @@ module Aws::Imagebuilder
5711
6159
  # @return [Boolean]
5712
6160
  #
5713
6161
  # @!attribute [rw] sns_topic_arn
5714
- # The SNS topic on which to send image build events.
6162
+ # The Amazon Resource Name (ARN) for the SNS topic to which we send
6163
+ # image build event notifications.
6164
+ #
6165
+ # <note markdown="1"> EC2 Image Builder is unable to send notifications to SNS topics that
6166
+ # are encrypted using keys from other accounts. The key that is used
6167
+ # to encrypt the SNS topic must reside in the account that the Image
6168
+ # Builder service runs under.
6169
+ #
6170
+ # </note>
5715
6171
  # @return [String]
5716
6172
  #
5717
6173
  # @!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.35.0'
51
+ GEM_VERSION = '1.39.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.35.0
4
+ version: 1.39.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-30 00:00:00.000000000 Z
11
+ date: 2022-02-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.126.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.126.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement