aws-sdk-imagebuilder 1.35.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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