aws-sdk-imagebuilder 1.35.0 → 1.36.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: 1608c70e559b6b3966420b3c2364224745d63b598d1e7517634058d00c5f65c5
4
+ data.tar.gz: 8e89294ae4ef85250e50d25a67331780ffa57d57e957bc86098c226b1c8d1096
5
5
  SHA512:
6
- metadata.gz: 64ae4d2c6c348bf09542004100d64cd058172603d0930d951705c5d2f3c5ec4dfd6cc20bef84d6423bcde56c9f5af99a4f1d4f17b2a8fbf4532a1773bdec6f54
7
- data.tar.gz: 202268f4313f0a208dcf8701d21348050127830af7a0541e74fd7c5c61595d53cb6895b57326efd7b89ccb98a270ed9de19765ba8a958ac8b3b317784db7ad3c
6
+ metadata.gz: 3c06d9118eceba65c052e3a5f4272824a41ea25571a84df11435b11e3f71c300adb5f538ecb832ca797055b1006827589208b7efca0a0b79b6a89e781a220b0e
7
+ data.tar.gz: 78c5dce356adf5c0fca75f08e936ba68d464356b4aaa5409c392e03d311ecfc6909388ea2146b3a1584da9a1590866c921fc38f33821dfe3f65ccecaa66198f8
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.36.0 (2021-12-20)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for importing and exporting VM Images as part of the Image Creation workflow via EC2 VM Import/Export.
8
+
4
9
  1.35.0 (2021-11-30)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.35.0
1
+ 1.36.0
@@ -346,11 +346,17 @@ module Aws::Imagebuilder
346
346
  # cancel.
347
347
  #
348
348
  # @option params [required, String] :client_token
349
- # The idempotency token used to make this request idempotent.
349
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
350
+ # the request. For more information, see [Ensuring idempotency][1] in
351
+ # the *Amazon EC2 API Reference*.
350
352
  #
351
353
  # **A suitable default value is auto-generated.** You should normally
352
354
  # not need to pass this option.**
353
355
  #
356
+ #
357
+ #
358
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
359
+ #
354
360
  # @return [Types::CancelImageCreationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
355
361
  #
356
362
  # * {Types::CancelImageCreationResponse#request_id #request_id} => String
@@ -701,6 +707,12 @@ module Aws::Imagebuilder
701
707
  # set_default_version: false,
702
708
  # },
703
709
  # ],
710
+ # s3_export_configuration: {
711
+ # role_name: "NonEmptyString", # required
712
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
713
+ # s3_bucket: "NonEmptyString", # required
714
+ # s3_prefix: "NonEmptyString",
715
+ # },
704
716
  # },
705
717
  # ],
706
718
  # tags: {
@@ -1605,6 +1617,10 @@ module Aws::Imagebuilder
1605
1617
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1606
1618
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1607
1619
  # resp.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1620
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.role_name #=> String
1621
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
1622
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.s3_bucket #=> String
1623
+ # resp.distribution_configuration.distributions[0].s3_export_configuration.s3_prefix #=> String
1608
1624
  # resp.distribution_configuration.timeout_minutes #=> Integer
1609
1625
  # resp.distribution_configuration.date_created #=> String
1610
1626
  # resp.distribution_configuration.date_updated #=> String
@@ -1771,6 +1787,10 @@ module Aws::Imagebuilder
1771
1787
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].launch_template_id #=> String
1772
1788
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].account_id #=> String
1773
1789
  # resp.image.distribution_configuration.distributions[0].launch_template_configurations[0].set_default_version #=> Boolean
1790
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.role_name #=> String
1791
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.disk_image_format #=> String, one of "VMDK", "RAW", "VHD"
1792
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.s3_bucket #=> String
1793
+ # resp.image.distribution_configuration.distributions[0].s3_export_configuration.s3_prefix #=> String
1774
1794
  # resp.image.distribution_configuration.timeout_minutes #=> Integer
1775
1795
  # resp.image.distribution_configuration.date_created #=> String
1776
1796
  # resp.image.distribution_configuration.date_updated #=> String
@@ -1793,6 +1813,7 @@ module Aws::Imagebuilder
1793
1813
  # resp.image.output_resources.containers[0].image_uris[0] #=> String
1794
1814
  # resp.image.tags #=> Hash
1795
1815
  # resp.image.tags["TagKey"] #=> String
1816
+ # resp.image.build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
1796
1817
  #
1797
1818
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage AWS API Documentation
1798
1819
  #
@@ -2132,6 +2153,113 @@ module Aws::Imagebuilder
2132
2153
  req.send_request(options)
2133
2154
  end
2134
2155
 
2156
+ # When you export your virtual machine (VM) from its virtualization
2157
+ # environment, that process creates a set of one or more disk container
2158
+ # files that act as snapshots of your VM’s environment, settings, and
2159
+ # data. The Amazon EC2 API [ImportImage][1] action uses those files to
2160
+ # import your VM and create an AMI. To import using the CLI command, see
2161
+ # [import-image][2]
2162
+ #
2163
+ # You can reference the task ID from the VM import to pull in the AMI
2164
+ # that the import created as the base image for your Image Builder
2165
+ # recipe.
2166
+ #
2167
+ #
2168
+ #
2169
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportImage.html
2170
+ # [2]: https://docs.aws.amazon.com/cli/latest/reference/ec2/import-image.html
2171
+ #
2172
+ # @option params [required, String] :name
2173
+ # The name of the base image that is created by the import process.
2174
+ #
2175
+ # @option params [required, String] :semantic_version
2176
+ # The semantic version to attach to the base image that was created
2177
+ # during the import process. This version follows the semantic version
2178
+ # syntax.
2179
+ #
2180
+ # <note markdown="1"> The semantic version has four nodes:
2181
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
2182
+ # assign values for the first three, and can filter on all of them.
2183
+ #
2184
+ # **Assignment:** For the first three nodes you can assign any positive
2185
+ # integer value, including zero, with an upper limit of 2^30-1, or
2186
+ # 1073741823 for each node. Image Builder automatically assigns the
2187
+ # build number to the fourth node.
2188
+ #
2189
+ # **Patterns:** You can use any numeric pattern that adheres to the
2190
+ # assignment requirements for the nodes that you can assign. For
2191
+ # example, you might choose a software version pattern, such as 1.0.0,
2192
+ # or a date, such as 2021.01.01.
2193
+ #
2194
+ # </note>
2195
+ #
2196
+ # @option params [String] :description
2197
+ # The description for the base image that is created by the import
2198
+ # process.
2199
+ #
2200
+ # @option params [required, String] :platform
2201
+ # The operating system platform for the imported VM.
2202
+ #
2203
+ # @option params [String] :os_version
2204
+ # The operating system version for the imported VM.
2205
+ #
2206
+ # @option params [required, String] :vm_import_task_id
2207
+ # The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
2208
+ # VM import process. Image Builder retrieves information from the import
2209
+ # process to pull in the AMI that is created from the VM source as the
2210
+ # base image for your recipe.
2211
+ #
2212
+ # @option params [Hash<String,String>] :tags
2213
+ # Tags that are attached to the import resources.
2214
+ #
2215
+ # @option params [required, String] :client_token
2216
+ # Unique, case-sensitive identifier you provide to ensure idempotency of
2217
+ # the request. For more information, see [Ensuring idempotency][1] in
2218
+ # the *Amazon EC2 API Reference*.
2219
+ #
2220
+ # **A suitable default value is auto-generated.** You should normally
2221
+ # not need to pass this option.**
2222
+ #
2223
+ #
2224
+ #
2225
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
2226
+ #
2227
+ # @return [Types::ImportVmImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2228
+ #
2229
+ # * {Types::ImportVmImageResponse#request_id #request_id} => String
2230
+ # * {Types::ImportVmImageResponse#image_arn #image_arn} => String
2231
+ # * {Types::ImportVmImageResponse#client_token #client_token} => String
2232
+ #
2233
+ # @example Request syntax with placeholder values
2234
+ #
2235
+ # resp = client.import_vm_image({
2236
+ # name: "NonEmptyString", # required
2237
+ # semantic_version: "VersionNumber", # required
2238
+ # description: "NonEmptyString",
2239
+ # platform: "Windows", # required, accepts Windows, Linux
2240
+ # os_version: "OsVersion",
2241
+ # vm_import_task_id: "NonEmptyString", # required
2242
+ # tags: {
2243
+ # "TagKey" => "TagValue",
2244
+ # },
2245
+ # client_token: "ClientToken", # required
2246
+ # })
2247
+ #
2248
+ # @example Response structure
2249
+ #
2250
+ # resp.request_id #=> String
2251
+ # resp.image_arn #=> String
2252
+ # resp.client_token #=> String
2253
+ #
2254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImage AWS API Documentation
2255
+ #
2256
+ # @overload import_vm_image(params = {})
2257
+ # @param [Hash] params ({})
2258
+ def import_vm_image(params = {}, options = {})
2259
+ req = build_request(:import_vm_image, params)
2260
+ req.send_request(options)
2261
+ end
2262
+
2135
2263
  # Returns the list of component build versions for the specified
2136
2264
  # semantic version.
2137
2265
  #
@@ -2504,6 +2632,7 @@ module Aws::Imagebuilder
2504
2632
  # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
2505
2633
  # resp.image_summary_list[0].tags #=> Hash
2506
2634
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2635
+ # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2507
2636
  # resp.next_token #=> String
2508
2637
  #
2509
2638
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions AWS API Documentation
@@ -2634,6 +2763,7 @@ module Aws::Imagebuilder
2634
2763
  # resp.image_summary_list[0].output_resources.containers[0].image_uris[0] #=> String
2635
2764
  # resp.image_summary_list[0].tags #=> Hash
2636
2765
  # resp.image_summary_list[0].tags["TagKey"] #=> String
2766
+ # resp.image_summary_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2637
2767
  # resp.next_token #=> String
2638
2768
  #
2639
2769
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages AWS API Documentation
@@ -2867,6 +2997,7 @@ module Aws::Imagebuilder
2867
2997
  # resp.image_version_list[0].os_version #=> String
2868
2998
  # resp.image_version_list[0].owner #=> String
2869
2999
  # resp.image_version_list[0].date_created #=> String
3000
+ # resp.image_version_list[0].build_type #=> String, one of "USER_INITIATED", "SCHEDULED", "IMPORT"
2870
3001
  # resp.next_token #=> String
2871
3002
  #
2872
3003
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages AWS API Documentation
@@ -3302,6 +3433,12 @@ module Aws::Imagebuilder
3302
3433
  # set_default_version: false,
3303
3434
  # },
3304
3435
  # ],
3436
+ # s3_export_configuration: {
3437
+ # role_name: "NonEmptyString", # required
3438
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
3439
+ # s3_bucket: "NonEmptyString", # required
3440
+ # s3_prefix: "NonEmptyString",
3441
+ # },
3305
3442
  # },
3306
3443
  # ],
3307
3444
  # client_token: "ClientToken", # required
@@ -3551,7 +3688,7 @@ module Aws::Imagebuilder
3551
3688
  params: params,
3552
3689
  config: config)
3553
3690
  context[:gem_name] = 'aws-sdk-imagebuilder'
3554
- context[:gem_version] = '1.35.0'
3691
+ context[:gem_version] = '1.36.0'
3555
3692
  Seahorse::Client::Request.new(handlers, context)
3556
3693
  end
3557
3694
 
@@ -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')
@@ -241,6 +245,7 @@ module Aws::Imagebuilder
241
245
  ResourcePolicyDocument = Shapes::StringShape.new(name: 'ResourcePolicyDocument')
242
246
  ResourceTagMap = Shapes::MapShape.new(name: 'ResourceTagMap')
243
247
  RestrictedInteger = Shapes::IntegerShape.new(name: 'RestrictedInteger')
248
+ S3ExportConfiguration = Shapes::StructureShape.new(name: 'S3ExportConfiguration')
244
249
  S3Logs = Shapes::StructureShape.new(name: 'S3Logs')
245
250
  Schedule = Shapes::StructureShape.new(name: 'Schedule')
246
251
  SecurityGroupIds = Shapes::ListShape.new(name: 'SecurityGroupIds')
@@ -605,6 +610,7 @@ module Aws::Imagebuilder
605
610
  Distribution.add_member(:container_distribution_configuration, Shapes::ShapeRef.new(shape: ContainerDistributionConfiguration, location_name: "containerDistributionConfiguration"))
606
611
  Distribution.add_member(:license_configuration_arns, Shapes::ShapeRef.new(shape: LicenseConfigurationArnList, location_name: "licenseConfigurationArns"))
607
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"))
608
614
  Distribution.struct_class = Types::Distribution
609
615
 
610
616
  DistributionConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: ImageBuilderArn, location_name: "arn"))
@@ -749,6 +755,7 @@ module Aws::Imagebuilder
749
755
  Image.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
750
756
  Image.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
751
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"))
752
759
  Image.struct_class = Types::Image
753
760
 
754
761
  ImagePackage.add_member(:package_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "packageName"))
@@ -820,6 +827,7 @@ module Aws::Imagebuilder
820
827
  ImageSummary.add_member(:date_created, Shapes::ShapeRef.new(shape: DateTime, location_name: "dateCreated"))
821
828
  ImageSummary.add_member(:output_resources, Shapes::ShapeRef.new(shape: OutputResources, location_name: "outputResources"))
822
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"))
823
831
  ImageSummary.struct_class = Types::ImageSummary
824
832
 
825
833
  ImageSummaryList.member = Shapes::ShapeRef.new(shape: ImageSummary)
@@ -836,6 +844,7 @@ module Aws::Imagebuilder
836
844
  ImageVersion.add_member(:os_version, Shapes::ShapeRef.new(shape: OsVersion, location_name: "osVersion"))
837
845
  ImageVersion.add_member(:owner, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "owner"))
838
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"))
839
848
  ImageVersion.struct_class = Types::ImageVersion
840
849
 
841
850
  ImageVersionList.member = Shapes::ShapeRef.new(shape: ImageVersion)
@@ -859,6 +868,21 @@ module Aws::Imagebuilder
859
868
  ImportComponentResponse.add_member(:component_build_version_arn, Shapes::ShapeRef.new(shape: ComponentBuildVersionArn, location_name: "componentBuildVersionArn"))
860
869
  ImportComponentResponse.struct_class = Types::ImportComponentResponse
861
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
+
862
886
  InfrastructureConfiguration.add_member(:arn, Shapes::ShapeRef.new(shape: ImageBuilderArn, location_name: "arn"))
863
887
  InfrastructureConfiguration.add_member(:name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "name"))
864
888
  InfrastructureConfiguration.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "description"))
@@ -1128,6 +1152,12 @@ module Aws::Imagebuilder
1128
1152
  ResourceTagMap.key = Shapes::ShapeRef.new(shape: TagKey)
1129
1153
  ResourceTagMap.value = Shapes::ShapeRef.new(shape: TagValue)
1130
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
+
1131
1161
  S3Logs.add_member(:s3_bucket_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3BucketName"))
1132
1162
  S3Logs.add_member(:s3_key_prefix, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "s3KeyPrefix"))
1133
1163
  S3Logs.struct_class = Types::S3Logs
@@ -1673,6 +1703,17 @@ module Aws::Imagebuilder
1673
1703
  o.errors << Shapes::ShapeRef.new(shape: InvalidParameterCombinationException)
1674
1704
  end)
1675
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
+
1676
1717
  api.add_operation(:list_component_build_versions, Seahorse::Model::Operation.new.tap do |o|
1677
1718
  o.name = "ListComponentBuildVersions"
1678
1719
  o.http_method = "POST"
@@ -182,10 +182,16 @@ module Aws::Imagebuilder
182
182
  # @return [String]
183
183
  #
184
184
  # @!attribute [rw] client_token
185
- # 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*.
186
188
  #
187
189
  # **A suitable default value is auto-generated.** You should normally
188
190
  # not need to pass this option.
191
+ #
192
+ #
193
+ #
194
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
189
195
  # @return [String]
190
196
  #
191
197
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreationRequest AWS API Documentation
@@ -202,7 +208,7 @@ module Aws::Imagebuilder
202
208
  # @return [String]
203
209
  #
204
210
  # @!attribute [rw] client_token
205
- # The idempotency token used to make this request idempotent.
211
+ # The idempotency token that was used for this request.
206
212
  # @return [String]
207
213
  #
208
214
  # @!attribute [rw] image_build_version_arn
@@ -1219,6 +1225,12 @@ module Aws::Imagebuilder
1219
1225
  # set_default_version: false,
1220
1226
  # },
1221
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
+ # },
1222
1234
  # },
1223
1235
  # ],
1224
1236
  # tags: {
@@ -2115,6 +2127,12 @@ module Aws::Imagebuilder
2115
2127
  # set_default_version: false,
2116
2128
  # },
2117
2129
  # ],
2130
+ # s3_export_configuration: {
2131
+ # role_name: "NonEmptyString", # required
2132
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
2133
+ # s3_bucket: "NonEmptyString", # required
2134
+ # s3_prefix: "NonEmptyString",
2135
+ # },
2118
2136
  # }
2119
2137
  #
2120
2138
  # @!attribute [rw] region
@@ -2141,6 +2159,12 @@ module Aws::Imagebuilder
2141
2159
  # distribution for specified accounts.
2142
2160
  # @return [Array<Types::LaunchTemplateConfiguration>]
2143
2161
  #
2162
+ # @!attribute [rw] s3_export_configuration
2163
+ # Configure export settings to deliver disk images created from your
2164
+ # image build, using a file format that is compatible with your VMs in
2165
+ # that Region.
2166
+ # @return [Types::S3ExportConfiguration]
2167
+ #
2144
2168
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Distribution AWS API Documentation
2145
2169
  #
2146
2170
  class Distribution < Struct.new(
@@ -2148,7 +2172,8 @@ module Aws::Imagebuilder
2148
2172
  :ami_distribution_configuration,
2149
2173
  :container_distribution_configuration,
2150
2174
  :license_configuration_arns,
2151
- :launch_template_configurations)
2175
+ :launch_template_configurations,
2176
+ :s3_export_configuration)
2152
2177
  SENSITIVE = []
2153
2178
  include Aws::Structure
2154
2179
  end
@@ -2898,6 +2923,19 @@ module Aws::Imagebuilder
2898
2923
  # The tags of the image.
2899
2924
  # @return [Hash<String,String>]
2900
2925
  #
2926
+ # @!attribute [rw] build_type
2927
+ # Indicates the type of build that created this image. The build can
2928
+ # be initiated in the following ways:
2929
+ #
2930
+ # * **USER\_INITIATED** – A manual pipeline build request.
2931
+ #
2932
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
2933
+ # the Image Builder pipeline, or from EventBridge.
2934
+ #
2935
+ # * **IMPORT** – A VM import created the image to use as the base
2936
+ # image for the recipe.
2937
+ # @return [String]
2938
+ #
2901
2939
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/Image AWS API Documentation
2902
2940
  #
2903
2941
  class Image < Struct.new(
@@ -2918,7 +2956,8 @@ module Aws::Imagebuilder
2918
2956
  :image_tests_configuration,
2919
2957
  :date_created,
2920
2958
  :output_resources,
2921
- :tags)
2959
+ :tags,
2960
+ :build_type)
2922
2961
  SENSITIVE = []
2923
2962
  include Aws::Structure
2924
2963
  end
@@ -3240,6 +3279,19 @@ module Aws::Imagebuilder
3240
3279
  # The tags of the image.
3241
3280
  # @return [Hash<String,String>]
3242
3281
  #
3282
+ # @!attribute [rw] build_type
3283
+ # Indicates the type of build that created this image. The build can
3284
+ # be initiated in the following ways:
3285
+ #
3286
+ # * **USER\_INITIATED** – A manual pipeline build request.
3287
+ #
3288
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3289
+ # the Image Builder pipeline, or from EventBridge.
3290
+ #
3291
+ # * **IMPORT** – A VM import created the image to use as the base
3292
+ # image for the recipe.
3293
+ # @return [String]
3294
+ #
3243
3295
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageSummary AWS API Documentation
3244
3296
  #
3245
3297
  class ImageSummary < Struct.new(
@@ -3253,12 +3305,15 @@ module Aws::Imagebuilder
3253
3305
  :owner,
3254
3306
  :date_created,
3255
3307
  :output_resources,
3256
- :tags)
3308
+ :tags,
3309
+ :build_type)
3257
3310
  SENSITIVE = []
3258
3311
  include Aws::Structure
3259
3312
  end
3260
3313
 
3261
- # Image tests configuration.
3314
+ # Configure image tests for your pipeline build. Tests run after
3315
+ # building the image, to verify that the AMI or container image is valid
3316
+ # before distributing it.
3262
3317
  #
3263
3318
  # @note When making an API call, you may pass ImageTestsConfiguration
3264
3319
  # data as a hash:
@@ -3269,7 +3324,9 @@ module Aws::Imagebuilder
3269
3324
  # }
3270
3325
  #
3271
3326
  # @!attribute [rw] image_tests_enabled
3272
- # Defines if tests should be executed when building this image.
3327
+ # Determines if tests should run after building the image. Image
3328
+ # Builder defaults to enable tests to run following the image build,
3329
+ # before image distribution.
3273
3330
  # @return [Boolean]
3274
3331
  #
3275
3332
  # @!attribute [rw] timeout_minutes
@@ -3363,6 +3420,19 @@ module Aws::Imagebuilder
3363
3420
  # was created.
3364
3421
  # @return [String]
3365
3422
  #
3423
+ # @!attribute [rw] build_type
3424
+ # Indicates the type of build that created this image. The build can
3425
+ # be initiated in the following ways:
3426
+ #
3427
+ # * **USER\_INITIATED** – A manual pipeline build request.
3428
+ #
3429
+ # * **SCHEDULED** – A pipeline build initiated by a cron expression in
3430
+ # the Image Builder pipeline, or from EventBridge.
3431
+ #
3432
+ # * **IMPORT** – A VM import created the image to use as the base
3433
+ # image for the recipe.
3434
+ # @return [String]
3435
+ #
3366
3436
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImageVersion AWS API Documentation
3367
3437
  #
3368
3438
  class ImageVersion < Struct.new(
@@ -3373,7 +3443,8 @@ module Aws::Imagebuilder
3373
3443
  :platform,
3374
3444
  :os_version,
3375
3445
  :owner,
3376
- :date_created)
3446
+ :date_created,
3447
+ :build_type)
3377
3448
  SENSITIVE = []
3378
3449
  include Aws::Structure
3379
3450
  end
@@ -3513,6 +3584,124 @@ module Aws::Imagebuilder
3513
3584
  include Aws::Structure
3514
3585
  end
3515
3586
 
3587
+ # @note When making an API call, you may pass ImportVmImageRequest
3588
+ # data as a hash:
3589
+ #
3590
+ # {
3591
+ # name: "NonEmptyString", # required
3592
+ # semantic_version: "VersionNumber", # required
3593
+ # description: "NonEmptyString",
3594
+ # platform: "Windows", # required, accepts Windows, Linux
3595
+ # os_version: "OsVersion",
3596
+ # vm_import_task_id: "NonEmptyString", # required
3597
+ # tags: {
3598
+ # "TagKey" => "TagValue",
3599
+ # },
3600
+ # client_token: "ClientToken", # required
3601
+ # }
3602
+ #
3603
+ # @!attribute [rw] name
3604
+ # The name of the base image that is created by the import process.
3605
+ # @return [String]
3606
+ #
3607
+ # @!attribute [rw] semantic_version
3608
+ # The semantic version to attach to the base image that was created
3609
+ # during the import process. This version follows the semantic version
3610
+ # syntax.
3611
+ #
3612
+ # <note markdown="1"> The semantic version has four nodes:
3613
+ # &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;/&lt;build&gt;. You can
3614
+ # assign values for the first three, and can filter on all of them.
3615
+ #
3616
+ # **Assignment:** For the first three nodes you can assign any
3617
+ # positive integer value, including zero, with an upper limit of
3618
+ # 2^30-1, or 1073741823 for each node. Image Builder automatically
3619
+ # assigns the build number to the fourth node.
3620
+ #
3621
+ # **Patterns:** You can use any numeric pattern that adheres to the
3622
+ # assignment requirements for the nodes that you can assign. For
3623
+ # example, you might choose a software version pattern, such as 1.0.0,
3624
+ # or a date, such as 2021.01.01.
3625
+ #
3626
+ # </note>
3627
+ # @return [String]
3628
+ #
3629
+ # @!attribute [rw] description
3630
+ # The description for the base image that is created by the import
3631
+ # process.
3632
+ # @return [String]
3633
+ #
3634
+ # @!attribute [rw] platform
3635
+ # The operating system platform for the imported VM.
3636
+ # @return [String]
3637
+ #
3638
+ # @!attribute [rw] os_version
3639
+ # The operating system version for the imported VM.
3640
+ # @return [String]
3641
+ #
3642
+ # @!attribute [rw] vm_import_task_id
3643
+ # The `importTaskId` (API) or `ImportTaskId` (CLI) from the Amazon EC2
3644
+ # VM import process. Image Builder retrieves information from the
3645
+ # import process to pull in the AMI that is created from the VM source
3646
+ # as the base image for your recipe.
3647
+ # @return [String]
3648
+ #
3649
+ # @!attribute [rw] tags
3650
+ # Tags that are attached to the import resources.
3651
+ # @return [Hash<String,String>]
3652
+ #
3653
+ # @!attribute [rw] client_token
3654
+ # Unique, case-sensitive identifier you provide to ensure idempotency
3655
+ # of the request. For more information, see [Ensuring idempotency][1]
3656
+ # in the *Amazon EC2 API Reference*.
3657
+ #
3658
+ # **A suitable default value is auto-generated.** You should normally
3659
+ # not need to pass this option.
3660
+ #
3661
+ #
3662
+ #
3663
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
3664
+ # @return [String]
3665
+ #
3666
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageRequest AWS API Documentation
3667
+ #
3668
+ class ImportVmImageRequest < Struct.new(
3669
+ :name,
3670
+ :semantic_version,
3671
+ :description,
3672
+ :platform,
3673
+ :os_version,
3674
+ :vm_import_task_id,
3675
+ :tags,
3676
+ :client_token)
3677
+ SENSITIVE = []
3678
+ include Aws::Structure
3679
+ end
3680
+
3681
+ # @!attribute [rw] request_id
3682
+ # The request ID that uniquely identifies this request.
3683
+ # @return [String]
3684
+ #
3685
+ # @!attribute [rw] image_arn
3686
+ # The Amazon Resource Name (ARN) of the AMI that was created during
3687
+ # the VM import process. This AMI is used as the base image for the
3688
+ # recipe that imported the VM.
3689
+ # @return [String]
3690
+ #
3691
+ # @!attribute [rw] client_token
3692
+ # The idempotency token that was used for this request.
3693
+ # @return [String]
3694
+ #
3695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportVmImageResponse AWS API Documentation
3696
+ #
3697
+ class ImportVmImageResponse < Struct.new(
3698
+ :request_id,
3699
+ :image_arn,
3700
+ :client_token)
3701
+ SENSITIVE = []
3702
+ include Aws::Structure
3703
+ end
3704
+
3516
3705
  # Details of the infrastructure configuration.
3517
3706
  #
3518
3707
  # @!attribute [rw] arn
@@ -5114,6 +5303,57 @@ module Aws::Imagebuilder
5114
5303
  include Aws::Structure
5115
5304
  end
5116
5305
 
5306
+ # Properties that configure export from your build instance to a
5307
+ # compatible file format for your VM.
5308
+ #
5309
+ # @note When making an API call, you may pass S3ExportConfiguration
5310
+ # data as a hash:
5311
+ #
5312
+ # {
5313
+ # role_name: "NonEmptyString", # required
5314
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
5315
+ # s3_bucket: "NonEmptyString", # required
5316
+ # s3_prefix: "NonEmptyString",
5317
+ # }
5318
+ #
5319
+ # @!attribute [rw] role_name
5320
+ # The name of the role that grants VM Import/Export permission to
5321
+ # export images to your S3 bucket.
5322
+ # @return [String]
5323
+ #
5324
+ # @!attribute [rw] disk_image_format
5325
+ # Export the updated image to one of the following supported disk
5326
+ # image formats:
5327
+ #
5328
+ # * **Virtual Hard Disk (VHD)** – Compatible with Citrix Xen and
5329
+ # Microsoft Hyper-V virtualization products.
5330
+ #
5331
+ # * **Stream-optimized ESX Virtual Machine Disk (VMDK)** – Compatible
5332
+ # with VMware ESX and VMware vSphere versions 4, 5, and 6.
5333
+ #
5334
+ # * **Raw** – Raw format.
5335
+ # @return [String]
5336
+ #
5337
+ # @!attribute [rw] s3_bucket
5338
+ # The S3 bucket in which to store the output disk images for your VM.
5339
+ # @return [String]
5340
+ #
5341
+ # @!attribute [rw] s3_prefix
5342
+ # The Amazon S3 path for the bucket where the output disk images for
5343
+ # your VM are stored.
5344
+ # @return [String]
5345
+ #
5346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3ExportConfiguration AWS API Documentation
5347
+ #
5348
+ class S3ExportConfiguration < Struct.new(
5349
+ :role_name,
5350
+ :disk_image_format,
5351
+ :s3_bucket,
5352
+ :s3_prefix)
5353
+ SENSITIVE = []
5354
+ include Aws::Structure
5355
+ end
5356
+
5117
5357
  # Amazon S3 logging configuration.
5118
5358
  #
5119
5359
  # @note When making an API call, you may pass S3Logs
@@ -5125,11 +5365,11 @@ module Aws::Imagebuilder
5125
5365
  # }
5126
5366
  #
5127
5367
  # @!attribute [rw] s3_bucket_name
5128
- # The Amazon S3 bucket in which to store the logs.
5368
+ # The S3 bucket in which to store the logs.
5129
5369
  # @return [String]
5130
5370
  #
5131
5371
  # @!attribute [rw] s3_key_prefix
5132
- # The Amazon S3 path in which to store the logs.
5372
+ # The Amazon S3 path to the bucket where the logs are stored.
5133
5373
  # @return [String]
5134
5374
  #
5135
5375
  # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/S3Logs AWS API Documentation
@@ -5456,6 +5696,12 @@ module Aws::Imagebuilder
5456
5696
  # set_default_version: false,
5457
5697
  # },
5458
5698
  # ],
5699
+ # s3_export_configuration: {
5700
+ # role_name: "NonEmptyString", # required
5701
+ # disk_image_format: "VMDK", # required, accepts VMDK, RAW, VHD
5702
+ # s3_bucket: "NonEmptyString", # required
5703
+ # s3_prefix: "NonEmptyString",
5704
+ # },
5459
5705
  # },
5460
5706
  # ],
5461
5707
  # client_token: "ClientToken", # required
@@ -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.36.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.36.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: 2021-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core