Skip to content

Commit 6cf006f

Browse files
This release adds support for importing images from ISO disk files. Added new ImportDiskImage API operation.
1 parent 4403aba commit 6cf006f

20 files changed

+1240
-23
lines changed

generator/ServiceModels/imagebuilder/imagebuilder-2019-12-02.api.json

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,20 @@
718718
{"shape":"InvalidParameterCombinationException"}
719719
]
720720
},
721+
"ImportDiskImage":{
722+
"name":"ImportDiskImage",
723+
"http":{
724+
"method":"PUT",
725+
"requestUri":"/ImportDiskImage"
726+
},
727+
"input":{"shape":"ImportDiskImageRequest"},
728+
"output":{"shape":"ImportDiskImageResponse"},
729+
"errors":[
730+
{"shape":"ServiceException"},
731+
{"shape":"ClientException"},
732+
{"shape":"ServiceUnavailableException"}
733+
]
734+
},
721735
"ImportVmImage":{
722736
"name":"ImportVmImage",
723737
"http":{
@@ -1434,7 +1448,8 @@
14341448
"enum":[
14351449
"USER_INITIATED",
14361450
"SCHEDULED",
1437-
"IMPORT"
1451+
"IMPORT",
1452+
"IMPORT_ISO"
14381453
]
14391454
},
14401455
"CallRateLimitExceededException":{
@@ -3141,6 +3156,40 @@
31413156
"componentBuildVersionArn":{"shape":"ComponentBuildVersionArn"}
31423157
}
31433158
},
3159+
"ImportDiskImageRequest":{
3160+
"type":"structure",
3161+
"required":[
3162+
"name",
3163+
"semanticVersion",
3164+
"platform",
3165+
"osVersion",
3166+
"infrastructureConfigurationArn",
3167+
"uri",
3168+
"clientToken"
3169+
],
3170+
"members":{
3171+
"name":{"shape":"NonEmptyString"},
3172+
"semanticVersion":{"shape":"VersionNumber"},
3173+
"description":{"shape":"NonEmptyString"},
3174+
"platform":{"shape":"NonEmptyString"},
3175+
"osVersion":{"shape":"OsVersion"},
3176+
"executionRole":{"shape":"RoleNameOrArn"},
3177+
"infrastructureConfigurationArn":{"shape":"InfrastructureConfigurationArn"},
3178+
"uri":{"shape":"Uri"},
3179+
"tags":{"shape":"TagMap"},
3180+
"clientToken":{
3181+
"shape":"ClientToken",
3182+
"idempotencyToken":true
3183+
}
3184+
}
3185+
},
3186+
"ImportDiskImageResponse":{
3187+
"type":"structure",
3188+
"members":{
3189+
"clientToken":{"shape":"ClientToken"},
3190+
"imageBuildVersionArn":{"shape":"ImageBuildVersionArn"}
3191+
}
3192+
},
31443193
"ImportVmImageRequest":{
31453194
"type":"structure",
31463195
"required":[

generator/ServiceModels/imagebuilder/imagebuilder-2019-12-02.docs.json

Lines changed: 29 additions & 6 deletions
Large diffs are not rendered by default.

generator/ServiceModels/imagebuilder/imagebuilder-2019-12-02.normal.json

Lines changed: 90 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,21 @@
756756
],
757757
"documentation":"<p>Imports a component and transforms its data into a component document.</p>"
758758
},
759+
"ImportDiskImage":{
760+
"name":"ImportDiskImage",
761+
"http":{
762+
"method":"PUT",
763+
"requestUri":"/ImportDiskImage"
764+
},
765+
"input":{"shape":"ImportDiskImageRequest"},
766+
"output":{"shape":"ImportDiskImageResponse"},
767+
"errors":[
768+
{"shape":"ServiceException"},
769+
{"shape":"ClientException"},
770+
{"shape":"ServiceUnavailableException"}
771+
],
772+
"documentation":"<p>Import a Windows operating system image from a verified Microsoft ISO disk file. The following disk images are supported:</p> <ul> <li> <p>Windows 11 Enterprise</p> </li> </ul>"
773+
},
759774
"ImportVmImage":{
760775
"name":"ImportVmImage",
761776
"http":{
@@ -1557,7 +1572,8 @@
15571572
"enum":[
15581573
"USER_INITIATED",
15591574
"SCHEDULED",
1560-
"IMPORT"
1575+
"IMPORT",
1576+
"IMPORT_ISO"
15611577
]
15621578
},
15631579
"CallRateLimitExceededException":{
@@ -4067,7 +4083,7 @@
40674083
},
40684084
"buildType":{
40694085
"shape":"BuildType",
4070-
"documentation":"<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> – A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.</p> </li> </ul>"
4086+
"documentation":"<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> – A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.</p> </li> <li> <p> <b>IMPORT_ISO</b> – An ISO disk import created the image.</p> </li> </ul>"
40714087
},
40724088
"imageSource":{
40734089
"shape":"ImageSource",
@@ -4605,7 +4621,7 @@
46054621
},
46064622
"buildType":{
46074623
"shape":"BuildType",
4608-
"documentation":"<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> – A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.</p> </li> </ul>"
4624+
"documentation":"<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> – A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.</p> </li> <li> <p> <b>IMPORT_ISO</b> – An ISO disk import created the image.</p> </li> </ul>"
46094625
},
46104626
"imageSource":{
46114627
"shape":"ImageSource",
@@ -4635,7 +4651,7 @@
46354651
},
46364652
"timeoutMinutes":{
46374653
"shape":"ImageTestsTimeoutMinutes",
4638-
"documentation":"<p>The maximum time in minutes that tests are permitted to run.</p> <note> <p>The timeout attribute is not currently active. This value is ignored.</p> </note>"
4654+
"documentation":"<p>The maximum time in minutes that tests are permitted to run.</p> <note> <p>The timeout property is not currently active. This value is ignored.</p> </note>"
46394655
}
46404656
},
46414657
"documentation":"<p>Configure image tests for your pipeline build. Tests run after building the image, to verify that the AMI or container image is valid before distributing it.</p>"
@@ -4689,7 +4705,7 @@
46894705
},
46904706
"buildType":{
46914707
"shape":"BuildType",
4692-
"documentation":"<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> – A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.</p> </li> </ul>"
4708+
"documentation":"<p>Indicates the type of build that created this image. The build can be initiated in the following ways:</p> <ul> <li> <p> <b>USER_INITIATED</b> – A manual pipeline build request.</p> </li> <li> <p> <b>SCHEDULED</b> – A pipeline build initiated by a cron expression in the Image Builder pipeline, or from EventBridge.</p> </li> <li> <p> <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.</p> </li> <li> <p> <b>IMPORT_ISO</b> – An ISO disk import created the image.</p> </li> </ul>"
46934709
},
46944710
"imageSource":{
46954711
"shape":"ImageSource",
@@ -4789,6 +4805,74 @@
47894805
}
47904806
}
47914807
},
4808+
"ImportDiskImageRequest":{
4809+
"type":"structure",
4810+
"required":[
4811+
"name",
4812+
"semanticVersion",
4813+
"platform",
4814+
"osVersion",
4815+
"infrastructureConfigurationArn",
4816+
"uri",
4817+
"clientToken"
4818+
],
4819+
"members":{
4820+
"name":{
4821+
"shape":"NonEmptyString",
4822+
"documentation":"<p>The name of the image resource that's created from the import.</p>"
4823+
},
4824+
"semanticVersion":{
4825+
"shape":"VersionNumber",
4826+
"documentation":"<p>The semantic version to attach to the image that's created during the import process. This version follows the semantic version syntax.</p>"
4827+
},
4828+
"description":{
4829+
"shape":"NonEmptyString",
4830+
"documentation":"<p>The description for your disk image import.</p>"
4831+
},
4832+
"platform":{
4833+
"shape":"NonEmptyString",
4834+
"documentation":"<p>The operating system platform for the imported image. Allowed values include the following: <code>Windows</code>.</p>"
4835+
},
4836+
"osVersion":{
4837+
"shape":"OsVersion",
4838+
"documentation":"<p>The operating system version for the imported image. Allowed values include the following: <code>Microsoft Windows 11</code>.</p>"
4839+
},
4840+
"executionRole":{
4841+
"shape":"RoleNameOrArn",
4842+
"documentation":"<p>The name or Amazon Resource Name (ARN) for the IAM role you create that grants Image Builder access to perform workflow actions to import an image from a Microsoft ISO file.</p>"
4843+
},
4844+
"infrastructureConfigurationArn":{
4845+
"shape":"InfrastructureConfigurationArn",
4846+
"documentation":"<p>The Amazon Resource Name (ARN) of the infrastructure configuration resource that's used for launching the EC2 instance on which the ISO image is built.</p>"
4847+
},
4848+
"uri":{
4849+
"shape":"Uri",
4850+
"documentation":"<p>The <code>uri</code> of the ISO disk file that's stored in Amazon S3.</p>"
4851+
},
4852+
"tags":{
4853+
"shape":"TagMap",
4854+
"documentation":"<p>Tags that are attached to image resources created from the import.</p>"
4855+
},
4856+
"clientToken":{
4857+
"shape":"ClientToken",
4858+
"documentation":"<p>Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.</p>",
4859+
"idempotencyToken":true
4860+
}
4861+
}
4862+
},
4863+
"ImportDiskImageResponse":{
4864+
"type":"structure",
4865+
"members":{
4866+
"clientToken":{
4867+
"shape":"ClientToken",
4868+
"documentation":"<p>The client token that uniquely identifies the request.</p>"
4869+
},
4870+
"imageBuildVersionArn":{
4871+
"shape":"ImageBuildVersionArn",
4872+
"documentation":"<p>The Amazon Resource Name (ARN) of the output AMI that was created from the ISO disk file.</p>"
4873+
}
4874+
}
4875+
},
47924876
"ImportVmImageRequest":{
47934877
"type":"structure",
47944878
"required":[
@@ -7073,7 +7157,7 @@
70737157
},
70747158
"pipelineExecutionStartCondition":{
70757159
"shape":"PipelineExecutionStartCondition",
7076-
"documentation":"<p>The condition configures when the pipeline should trigger a new image build. When the <code>pipelineExecutionStartCondition</code> is set to <code>EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE</code>, and you use semantic version filters on the base image or components in your image recipe, EC2 Image Builder will build a new image only when there are new versions of the image or components in your recipe that match the semantic version filter. When it is set to <code>EXPRESSION_MATCH_ONLY</code>, it will build a new image every time the CRON expression matches the current time. For semantic version syntax, see <a href=\"https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html\">CreateComponent</a> in the <i> EC2 Image Builder API Reference</i>.</p>"
7160+
"documentation":"<p>The start condition configures when the pipeline should trigger a new image build, as follows. If no value is set Image Builder defaults to <code>EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE</code>.</p> <ul> <li> <p> <code>EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE</code> (default) – When you use semantic version filters on the base image or components in your image recipe, EC2 Image Builder builds a new image only when there are new versions of the base image or components in your recipe that match the filter.</p> <note> <p>For semantic version syntax, see <a href=\"https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html\">CreateComponent</a>.</p> </note> </li> <li> <p> <code>EXPRESSION_MATCH_ONLY</code> – This condition builds a new image every time the CRON expression matches the current time.</p> </li> </ul>"
70777161
}
70787162
},
70797163
"documentation":"<p>A schedule configures when and how often a pipeline will automatically create a new image.</p>"

sdk/code-analysis/ServiceAnalysis/Imagebuilder/Generated/PropertyValueRules.xml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -825,6 +825,53 @@
825825
<min>1</min>
826826
<max>1024</max>
827827
</property-value-rule>
828+
<property-value-rule>
829+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.ClientToken</property>
830+
<min>1</min>
831+
<max>36</max>
832+
</property-value-rule>
833+
<property-value-rule>
834+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.Description</property>
835+
<min>1</min>
836+
<max>1024</max>
837+
</property-value-rule>
838+
<property-value-rule>
839+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.ExecutionRole</property>
840+
<min>1</min>
841+
<max>2048</max>
842+
<pattern>^(?:arn:aws(?:-[a-z]+)*:iam::[0-9]{12}:role/)?[a-zA-Z_0-9+=,.@\-_/]+$</pattern>
843+
</property-value-rule>
844+
<property-value-rule>
845+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.InfrastructureConfigurationArn</property>
846+
<pattern>^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):infrastructure-configuration/[a-z0-9-_]+$</pattern>
847+
</property-value-rule>
848+
<property-value-rule>
849+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.Name</property>
850+
<min>1</min>
851+
<max>1024</max>
852+
</property-value-rule>
853+
<property-value-rule>
854+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.OsVersion</property>
855+
<min>1</min>
856+
</property-value-rule>
857+
<property-value-rule>
858+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.Platform</property>
859+
<min>1</min>
860+
<max>1024</max>
861+
</property-value-rule>
862+
<property-value-rule>
863+
<property>Amazon.Imagebuilder.Model.ImportDiskImageRequest.SemanticVersion</property>
864+
<pattern>^[0-9]+\.[0-9]+\.[0-9]+$</pattern>
865+
</property-value-rule>
866+
<property-value-rule>
867+
<property>Amazon.Imagebuilder.Model.ImportDiskImageResponse.ClientToken</property>
868+
<min>1</min>
869+
<max>36</max>
870+
</property-value-rule>
871+
<property-value-rule>
872+
<property>Amazon.Imagebuilder.Model.ImportDiskImageResponse.ImageBuildVersionArn</property>
873+
<pattern>^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws(?:-[a-z-]+)?):image/[a-z0-9-_]+/[0-9]+\.[0-9]+\.[0-9]+/[0-9]+$</pattern>
874+
</property-value-rule>
828875
<property-value-rule>
829876
<property>Amazon.Imagebuilder.Model.ImportVmImageRequest.ClientToken</property>
830877
<min>1</min>

sdk/src/Services/Imagebuilder/Generated/Model/Image.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ internal bool IsSetArn()
121121
/// <para>
122122
/// <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.
123123
/// </para>
124+
/// </li> <li>
125+
/// <para>
126+
/// <b>IMPORT_ISO</b> – An ISO disk import created the image.
127+
/// </para>
124128
/// </li> </ul>
125129
/// </summary>
126130
public BuildType BuildType

sdk/src/Services/Imagebuilder/Generated/Model/ImageSummary.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,10 @@ internal bool IsSetArn()
8787
/// <para>
8888
/// <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.
8989
/// </para>
90+
/// </li> <li>
91+
/// <para>
92+
/// <b>IMPORT_ISO</b> – An ISO disk import created the image.
93+
/// </para>
9094
/// </li> </ul>
9195
/// </summary>
9296
public BuildType BuildType

sdk/src/Services/Imagebuilder/Generated/Model/ImageTestsConfiguration.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ internal bool IsSetImageTestsEnabled()
6464
/// </para>
6565
/// <note>
6666
/// <para>
67-
/// The timeout attribute is not currently active. This value is ignored.
67+
/// The timeout property is not currently active. This value is ignored.
6868
/// </para>
6969
/// </note>
7070
/// </summary>

sdk/src/Services/Imagebuilder/Generated/Model/ImageVersion.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ internal bool IsSetArn()
103103
/// <para>
104104
/// <b>IMPORT</b> – A VM import created the image to use as the base image for the recipe.
105105
/// </para>
106+
/// </li> <li>
107+
/// <para>
108+
/// <b>IMPORT_ISO</b> – An ISO disk import created the image.
109+
/// </para>
106110
/// </li> </ul>
107111
/// </summary>
108112
public BuildType BuildType

0 commit comments

Comments
 (0)