UNPKG

90 kBTypeScriptView Raw
1import {Request} from '../lib/request';
2import {Response} from '../lib/response';
3import {AWSError} from '../lib/error';
4import {Service} from '../lib/service';
5import {ServiceConfigurationOptions} from '../lib/service';
6import {ConfigBase as Config} from '../lib/config';
7interface Blob {}
8declare class Imagebuilder extends Service {
9 /**
10 * Constructs a service object. This object has one method for each API operation.
11 */
12 constructor(options?: Imagebuilder.Types.ClientConfiguration)
13 config: Config & Imagebuilder.Types.ClientConfiguration;
14 /**
15 * CancelImageCreation cancels the creation of Image. This operation can only be used on images in a non-terminal state.
16 */
17 cancelImageCreation(params: Imagebuilder.Types.CancelImageCreationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CancelImageCreationResponse) => void): Request<Imagebuilder.Types.CancelImageCreationResponse, AWSError>;
18 /**
19 * CancelImageCreation cancels the creation of Image. This operation can only be used on images in a non-terminal state.
20 */
21 cancelImageCreation(callback?: (err: AWSError, data: Imagebuilder.Types.CancelImageCreationResponse) => void): Request<Imagebuilder.Types.CancelImageCreationResponse, AWSError>;
22 /**
23 * Creates a new component that can be used to build, validate, test, and assess your image.
24 */
25 createComponent(params: Imagebuilder.Types.CreateComponentRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CreateComponentResponse) => void): Request<Imagebuilder.Types.CreateComponentResponse, AWSError>;
26 /**
27 * Creates a new component that can be used to build, validate, test, and assess your image.
28 */
29 createComponent(callback?: (err: AWSError, data: Imagebuilder.Types.CreateComponentResponse) => void): Request<Imagebuilder.Types.CreateComponentResponse, AWSError>;
30 /**
31 * Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.
32 */
33 createDistributionConfiguration(params: Imagebuilder.Types.CreateDistributionConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CreateDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.CreateDistributionConfigurationResponse, AWSError>;
34 /**
35 * Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.
36 */
37 createDistributionConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.CreateDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.CreateDistributionConfigurationResponse, AWSError>;
38 /**
39 * Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration.
40 */
41 createImage(params: Imagebuilder.Types.CreateImageRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CreateImageResponse) => void): Request<Imagebuilder.Types.CreateImageResponse, AWSError>;
42 /**
43 * Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration.
44 */
45 createImage(callback?: (err: AWSError, data: Imagebuilder.Types.CreateImageResponse) => void): Request<Imagebuilder.Types.CreateImageResponse, AWSError>;
46 /**
47 * Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.
48 */
49 createImagePipeline(params: Imagebuilder.Types.CreateImagePipelineRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CreateImagePipelineResponse) => void): Request<Imagebuilder.Types.CreateImagePipelineResponse, AWSError>;
50 /**
51 * Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.
52 */
53 createImagePipeline(callback?: (err: AWSError, data: Imagebuilder.Types.CreateImagePipelineResponse) => void): Request<Imagebuilder.Types.CreateImagePipelineResponse, AWSError>;
54 /**
55 * Creates a new image recipe. Image recipes define how images are configured, tested, and assessed.
56 */
57 createImageRecipe(params: Imagebuilder.Types.CreateImageRecipeRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CreateImageRecipeResponse) => void): Request<Imagebuilder.Types.CreateImageRecipeResponse, AWSError>;
58 /**
59 * Creates a new image recipe. Image recipes define how images are configured, tested, and assessed.
60 */
61 createImageRecipe(callback?: (err: AWSError, data: Imagebuilder.Types.CreateImageRecipeResponse) => void): Request<Imagebuilder.Types.CreateImageRecipeResponse, AWSError>;
62 /**
63 * Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.
64 */
65 createInfrastructureConfiguration(params: Imagebuilder.Types.CreateInfrastructureConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.CreateInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.CreateInfrastructureConfigurationResponse, AWSError>;
66 /**
67 * Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.
68 */
69 createInfrastructureConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.CreateInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.CreateInfrastructureConfigurationResponse, AWSError>;
70 /**
71 * Deletes a component build version.
72 */
73 deleteComponent(params: Imagebuilder.Types.DeleteComponentRequest, callback?: (err: AWSError, data: Imagebuilder.Types.DeleteComponentResponse) => void): Request<Imagebuilder.Types.DeleteComponentResponse, AWSError>;
74 /**
75 * Deletes a component build version.
76 */
77 deleteComponent(callback?: (err: AWSError, data: Imagebuilder.Types.DeleteComponentResponse) => void): Request<Imagebuilder.Types.DeleteComponentResponse, AWSError>;
78 /**
79 * Deletes a distribution configuration.
80 */
81 deleteDistributionConfiguration(params: Imagebuilder.Types.DeleteDistributionConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.DeleteDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.DeleteDistributionConfigurationResponse, AWSError>;
82 /**
83 * Deletes a distribution configuration.
84 */
85 deleteDistributionConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.DeleteDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.DeleteDistributionConfigurationResponse, AWSError>;
86 /**
87 * Deletes an image.
88 */
89 deleteImage(params: Imagebuilder.Types.DeleteImageRequest, callback?: (err: AWSError, data: Imagebuilder.Types.DeleteImageResponse) => void): Request<Imagebuilder.Types.DeleteImageResponse, AWSError>;
90 /**
91 * Deletes an image.
92 */
93 deleteImage(callback?: (err: AWSError, data: Imagebuilder.Types.DeleteImageResponse) => void): Request<Imagebuilder.Types.DeleteImageResponse, AWSError>;
94 /**
95 * Deletes an image pipeline.
96 */
97 deleteImagePipeline(params: Imagebuilder.Types.DeleteImagePipelineRequest, callback?: (err: AWSError, data: Imagebuilder.Types.DeleteImagePipelineResponse) => void): Request<Imagebuilder.Types.DeleteImagePipelineResponse, AWSError>;
98 /**
99 * Deletes an image pipeline.
100 */
101 deleteImagePipeline(callback?: (err: AWSError, data: Imagebuilder.Types.DeleteImagePipelineResponse) => void): Request<Imagebuilder.Types.DeleteImagePipelineResponse, AWSError>;
102 /**
103 * Deletes an image recipe.
104 */
105 deleteImageRecipe(params: Imagebuilder.Types.DeleteImageRecipeRequest, callback?: (err: AWSError, data: Imagebuilder.Types.DeleteImageRecipeResponse) => void): Request<Imagebuilder.Types.DeleteImageRecipeResponse, AWSError>;
106 /**
107 * Deletes an image recipe.
108 */
109 deleteImageRecipe(callback?: (err: AWSError, data: Imagebuilder.Types.DeleteImageRecipeResponse) => void): Request<Imagebuilder.Types.DeleteImageRecipeResponse, AWSError>;
110 /**
111 * Deletes an infrastructure configuration.
112 */
113 deleteInfrastructureConfiguration(params: Imagebuilder.Types.DeleteInfrastructureConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.DeleteInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.DeleteInfrastructureConfigurationResponse, AWSError>;
114 /**
115 * Deletes an infrastructure configuration.
116 */
117 deleteInfrastructureConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.DeleteInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.DeleteInfrastructureConfigurationResponse, AWSError>;
118 /**
119 * Gets a component object.
120 */
121 getComponent(params: Imagebuilder.Types.GetComponentRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetComponentResponse) => void): Request<Imagebuilder.Types.GetComponentResponse, AWSError>;
122 /**
123 * Gets a component object.
124 */
125 getComponent(callback?: (err: AWSError, data: Imagebuilder.Types.GetComponentResponse) => void): Request<Imagebuilder.Types.GetComponentResponse, AWSError>;
126 /**
127 * Gets a component policy.
128 */
129 getComponentPolicy(params: Imagebuilder.Types.GetComponentPolicyRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetComponentPolicyResponse) => void): Request<Imagebuilder.Types.GetComponentPolicyResponse, AWSError>;
130 /**
131 * Gets a component policy.
132 */
133 getComponentPolicy(callback?: (err: AWSError, data: Imagebuilder.Types.GetComponentPolicyResponse) => void): Request<Imagebuilder.Types.GetComponentPolicyResponse, AWSError>;
134 /**
135 * Gets a distribution configuration.
136 */
137 getDistributionConfiguration(params: Imagebuilder.Types.GetDistributionConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.GetDistributionConfigurationResponse, AWSError>;
138 /**
139 * Gets a distribution configuration.
140 */
141 getDistributionConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.GetDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.GetDistributionConfigurationResponse, AWSError>;
142 /**
143 * Gets an image.
144 */
145 getImage(params: Imagebuilder.Types.GetImageRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetImageResponse) => void): Request<Imagebuilder.Types.GetImageResponse, AWSError>;
146 /**
147 * Gets an image.
148 */
149 getImage(callback?: (err: AWSError, data: Imagebuilder.Types.GetImageResponse) => void): Request<Imagebuilder.Types.GetImageResponse, AWSError>;
150 /**
151 * Gets an image pipeline.
152 */
153 getImagePipeline(params: Imagebuilder.Types.GetImagePipelineRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetImagePipelineResponse) => void): Request<Imagebuilder.Types.GetImagePipelineResponse, AWSError>;
154 /**
155 * Gets an image pipeline.
156 */
157 getImagePipeline(callback?: (err: AWSError, data: Imagebuilder.Types.GetImagePipelineResponse) => void): Request<Imagebuilder.Types.GetImagePipelineResponse, AWSError>;
158 /**
159 * Gets an image policy.
160 */
161 getImagePolicy(params: Imagebuilder.Types.GetImagePolicyRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetImagePolicyResponse) => void): Request<Imagebuilder.Types.GetImagePolicyResponse, AWSError>;
162 /**
163 * Gets an image policy.
164 */
165 getImagePolicy(callback?: (err: AWSError, data: Imagebuilder.Types.GetImagePolicyResponse) => void): Request<Imagebuilder.Types.GetImagePolicyResponse, AWSError>;
166 /**
167 * Gets an image recipe.
168 */
169 getImageRecipe(params: Imagebuilder.Types.GetImageRecipeRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetImageRecipeResponse) => void): Request<Imagebuilder.Types.GetImageRecipeResponse, AWSError>;
170 /**
171 * Gets an image recipe.
172 */
173 getImageRecipe(callback?: (err: AWSError, data: Imagebuilder.Types.GetImageRecipeResponse) => void): Request<Imagebuilder.Types.GetImageRecipeResponse, AWSError>;
174 /**
175 * Gets an image recipe policy.
176 */
177 getImageRecipePolicy(params: Imagebuilder.Types.GetImageRecipePolicyRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetImageRecipePolicyResponse) => void): Request<Imagebuilder.Types.GetImageRecipePolicyResponse, AWSError>;
178 /**
179 * Gets an image recipe policy.
180 */
181 getImageRecipePolicy(callback?: (err: AWSError, data: Imagebuilder.Types.GetImageRecipePolicyResponse) => void): Request<Imagebuilder.Types.GetImageRecipePolicyResponse, AWSError>;
182 /**
183 * Gets an infrastructure configuration.
184 */
185 getInfrastructureConfiguration(params: Imagebuilder.Types.GetInfrastructureConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.GetInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.GetInfrastructureConfigurationResponse, AWSError>;
186 /**
187 * Gets an infrastructure configuration.
188 */
189 getInfrastructureConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.GetInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.GetInfrastructureConfigurationResponse, AWSError>;
190 /**
191 * Imports a component and transforms its data into a component document.
192 */
193 importComponent(params: Imagebuilder.Types.ImportComponentRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ImportComponentResponse) => void): Request<Imagebuilder.Types.ImportComponentResponse, AWSError>;
194 /**
195 * Imports a component and transforms its data into a component document.
196 */
197 importComponent(callback?: (err: AWSError, data: Imagebuilder.Types.ImportComponentResponse) => void): Request<Imagebuilder.Types.ImportComponentResponse, AWSError>;
198 /**
199 * Returns the list of component build versions for the specified semantic version.
200 */
201 listComponentBuildVersions(params: Imagebuilder.Types.ListComponentBuildVersionsRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListComponentBuildVersionsResponse) => void): Request<Imagebuilder.Types.ListComponentBuildVersionsResponse, AWSError>;
202 /**
203 * Returns the list of component build versions for the specified semantic version.
204 */
205 listComponentBuildVersions(callback?: (err: AWSError, data: Imagebuilder.Types.ListComponentBuildVersionsResponse) => void): Request<Imagebuilder.Types.ListComponentBuildVersionsResponse, AWSError>;
206 /**
207 * Returns the list of component build versions for the specified semantic version.
208 */
209 listComponents(params: Imagebuilder.Types.ListComponentsRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListComponentsResponse) => void): Request<Imagebuilder.Types.ListComponentsResponse, AWSError>;
210 /**
211 * Returns the list of component build versions for the specified semantic version.
212 */
213 listComponents(callback?: (err: AWSError, data: Imagebuilder.Types.ListComponentsResponse) => void): Request<Imagebuilder.Types.ListComponentsResponse, AWSError>;
214 /**
215 * Returns a list of distribution configurations.
216 */
217 listDistributionConfigurations(params: Imagebuilder.Types.ListDistributionConfigurationsRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListDistributionConfigurationsResponse) => void): Request<Imagebuilder.Types.ListDistributionConfigurationsResponse, AWSError>;
218 /**
219 * Returns a list of distribution configurations.
220 */
221 listDistributionConfigurations(callback?: (err: AWSError, data: Imagebuilder.Types.ListDistributionConfigurationsResponse) => void): Request<Imagebuilder.Types.ListDistributionConfigurationsResponse, AWSError>;
222 /**
223 * Returns a list of distribution configurations.
224 */
225 listImageBuildVersions(params: Imagebuilder.Types.ListImageBuildVersionsRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListImageBuildVersionsResponse) => void): Request<Imagebuilder.Types.ListImageBuildVersionsResponse, AWSError>;
226 /**
227 * Returns a list of distribution configurations.
228 */
229 listImageBuildVersions(callback?: (err: AWSError, data: Imagebuilder.Types.ListImageBuildVersionsResponse) => void): Request<Imagebuilder.Types.ListImageBuildVersionsResponse, AWSError>;
230 /**
231 * Returns a list of images created by the specified pipeline.
232 */
233 listImagePipelineImages(params: Imagebuilder.Types.ListImagePipelineImagesRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListImagePipelineImagesResponse) => void): Request<Imagebuilder.Types.ListImagePipelineImagesResponse, AWSError>;
234 /**
235 * Returns a list of images created by the specified pipeline.
236 */
237 listImagePipelineImages(callback?: (err: AWSError, data: Imagebuilder.Types.ListImagePipelineImagesResponse) => void): Request<Imagebuilder.Types.ListImagePipelineImagesResponse, AWSError>;
238 /**
239 * Returns a list of image pipelines.
240 */
241 listImagePipelines(params: Imagebuilder.Types.ListImagePipelinesRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListImagePipelinesResponse) => void): Request<Imagebuilder.Types.ListImagePipelinesResponse, AWSError>;
242 /**
243 * Returns a list of image pipelines.
244 */
245 listImagePipelines(callback?: (err: AWSError, data: Imagebuilder.Types.ListImagePipelinesResponse) => void): Request<Imagebuilder.Types.ListImagePipelinesResponse, AWSError>;
246 /**
247 * Returns a list of image recipes.
248 */
249 listImageRecipes(params: Imagebuilder.Types.ListImageRecipesRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListImageRecipesResponse) => void): Request<Imagebuilder.Types.ListImageRecipesResponse, AWSError>;
250 /**
251 * Returns a list of image recipes.
252 */
253 listImageRecipes(callback?: (err: AWSError, data: Imagebuilder.Types.ListImageRecipesResponse) => void): Request<Imagebuilder.Types.ListImageRecipesResponse, AWSError>;
254 /**
255 * Returns the list of image build versions for the specified semantic version.
256 */
257 listImages(params: Imagebuilder.Types.ListImagesRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListImagesResponse) => void): Request<Imagebuilder.Types.ListImagesResponse, AWSError>;
258 /**
259 * Returns the list of image build versions for the specified semantic version.
260 */
261 listImages(callback?: (err: AWSError, data: Imagebuilder.Types.ListImagesResponse) => void): Request<Imagebuilder.Types.ListImagesResponse, AWSError>;
262 /**
263 * Returns a list of infrastructure configurations.
264 */
265 listInfrastructureConfigurations(params: Imagebuilder.Types.ListInfrastructureConfigurationsRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListInfrastructureConfigurationsResponse) => void): Request<Imagebuilder.Types.ListInfrastructureConfigurationsResponse, AWSError>;
266 /**
267 * Returns a list of infrastructure configurations.
268 */
269 listInfrastructureConfigurations(callback?: (err: AWSError, data: Imagebuilder.Types.ListInfrastructureConfigurationsResponse) => void): Request<Imagebuilder.Types.ListInfrastructureConfigurationsResponse, AWSError>;
270 /**
271 * Returns the list of tags for the specified resource.
272 */
273 listTagsForResource(params: Imagebuilder.Types.ListTagsForResourceRequest, callback?: (err: AWSError, data: Imagebuilder.Types.ListTagsForResourceResponse) => void): Request<Imagebuilder.Types.ListTagsForResourceResponse, AWSError>;
274 /**
275 * Returns the list of tags for the specified resource.
276 */
277 listTagsForResource(callback?: (err: AWSError, data: Imagebuilder.Types.ListTagsForResourceResponse) => void): Request<Imagebuilder.Types.ListTagsForResourceResponse, AWSError>;
278 /**
279 * Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.
280 */
281 putComponentPolicy(params: Imagebuilder.Types.PutComponentPolicyRequest, callback?: (err: AWSError, data: Imagebuilder.Types.PutComponentPolicyResponse) => void): Request<Imagebuilder.Types.PutComponentPolicyResponse, AWSError>;
282 /**
283 * Applies a policy to a component. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutComponentPolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.
284 */
285 putComponentPolicy(callback?: (err: AWSError, data: Imagebuilder.Types.PutComponentPolicyResponse) => void): Request<Imagebuilder.Types.PutComponentPolicyResponse, AWSError>;
286 /**
287 * Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.
288 */
289 putImagePolicy(params: Imagebuilder.Types.PutImagePolicyRequest, callback?: (err: AWSError, data: Imagebuilder.Types.PutImagePolicyResponse) => void): Request<Imagebuilder.Types.PutImagePolicyResponse, AWSError>;
290 /**
291 * Applies a policy to an image. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImagePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.
292 */
293 putImagePolicy(callback?: (err: AWSError, data: Imagebuilder.Types.PutImagePolicyResponse) => void): Request<Imagebuilder.Types.PutImagePolicyResponse, AWSError>;
294 /**
295 * Applies a policy to an image recipe. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.
296 */
297 putImageRecipePolicy(params: Imagebuilder.Types.PutImageRecipePolicyRequest, callback?: (err: AWSError, data: Imagebuilder.Types.PutImageRecipePolicyResponse) => void): Request<Imagebuilder.Types.PutImageRecipePolicyResponse, AWSError>;
298 /**
299 * Applies a policy to an image recipe. We recommend that you call the RAM API CreateResourceShare to share resources. If you call the Image Builder API PutImageRecipePolicy, you must also call the RAM API PromoteResourceShareCreatedFromPolicy in order for the resource to be visible to all principals with whom the resource is shared.
300 */
301 putImageRecipePolicy(callback?: (err: AWSError, data: Imagebuilder.Types.PutImageRecipePolicyResponse) => void): Request<Imagebuilder.Types.PutImageRecipePolicyResponse, AWSError>;
302 /**
303 * Manually triggers a pipeline to create an image.
304 */
305 startImagePipelineExecution(params: Imagebuilder.Types.StartImagePipelineExecutionRequest, callback?: (err: AWSError, data: Imagebuilder.Types.StartImagePipelineExecutionResponse) => void): Request<Imagebuilder.Types.StartImagePipelineExecutionResponse, AWSError>;
306 /**
307 * Manually triggers a pipeline to create an image.
308 */
309 startImagePipelineExecution(callback?: (err: AWSError, data: Imagebuilder.Types.StartImagePipelineExecutionResponse) => void): Request<Imagebuilder.Types.StartImagePipelineExecutionResponse, AWSError>;
310 /**
311 * Adds a tag to a resource.
312 */
313 tagResource(params: Imagebuilder.Types.TagResourceRequest, callback?: (err: AWSError, data: Imagebuilder.Types.TagResourceResponse) => void): Request<Imagebuilder.Types.TagResourceResponse, AWSError>;
314 /**
315 * Adds a tag to a resource.
316 */
317 tagResource(callback?: (err: AWSError, data: Imagebuilder.Types.TagResourceResponse) => void): Request<Imagebuilder.Types.TagResourceResponse, AWSError>;
318 /**
319 * Removes a tag from a resource.
320 */
321 untagResource(params: Imagebuilder.Types.UntagResourceRequest, callback?: (err: AWSError, data: Imagebuilder.Types.UntagResourceResponse) => void): Request<Imagebuilder.Types.UntagResourceResponse, AWSError>;
322 /**
323 * Removes a tag from a resource.
324 */
325 untagResource(callback?: (err: AWSError, data: Imagebuilder.Types.UntagResourceResponse) => void): Request<Imagebuilder.Types.UntagResourceResponse, AWSError>;
326 /**
327 * Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.
328 */
329 updateDistributionConfiguration(params: Imagebuilder.Types.UpdateDistributionConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.UpdateDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.UpdateDistributionConfigurationResponse, AWSError>;
330 /**
331 * Updates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.
332 */
333 updateDistributionConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.UpdateDistributionConfigurationResponse) => void): Request<Imagebuilder.Types.UpdateDistributionConfigurationResponse, AWSError>;
334 /**
335 * Updates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.
336 */
337 updateImagePipeline(params: Imagebuilder.Types.UpdateImagePipelineRequest, callback?: (err: AWSError, data: Imagebuilder.Types.UpdateImagePipelineResponse) => void): Request<Imagebuilder.Types.UpdateImagePipelineResponse, AWSError>;
338 /**
339 * Updates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.
340 */
341 updateImagePipeline(callback?: (err: AWSError, data: Imagebuilder.Types.UpdateImagePipelineResponse) => void): Request<Imagebuilder.Types.UpdateImagePipelineResponse, AWSError>;
342 /**
343 * Updates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.
344 */
345 updateInfrastructureConfiguration(params: Imagebuilder.Types.UpdateInfrastructureConfigurationRequest, callback?: (err: AWSError, data: Imagebuilder.Types.UpdateInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.UpdateInfrastructureConfigurationResponse, AWSError>;
346 /**
347 * Updates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.
348 */
349 updateInfrastructureConfiguration(callback?: (err: AWSError, data: Imagebuilder.Types.UpdateInfrastructureConfigurationResponse) => void): Request<Imagebuilder.Types.UpdateInfrastructureConfigurationResponse, AWSError>;
350}
351declare namespace Imagebuilder {
352 export type AccountList = NonEmptyString[];
353 export interface Ami {
354 /**
355 * The AWS Region of the EC2 AMI.
356 */
357 region?: NonEmptyString;
358 /**
359 * The AMI ID of the EC2 AMI.
360 */
361 image?: NonEmptyString;
362 /**
363 * The name of the EC2 AMI.
364 */
365 name?: NonEmptyString;
366 /**
367 * The description of the EC2 AMI.
368 */
369 description?: NonEmptyString;
370 state?: ImageState;
371 }
372 export interface AmiDistributionConfiguration {
373 /**
374 * The name of the distribution configuration.
375 */
376 name?: AmiNameString;
377 /**
378 * The description of the distribution configuration.
379 */
380 description?: NonEmptyString;
381 /**
382 * The tags to apply to AMIs distributed to this Region.
383 */
384 amiTags?: TagMap;
385 /**
386 * Launch permissions can be used to configure which AWS accounts can use the AMI to launch instances.
387 */
388 launchPermission?: LaunchPermissionConfiguration;
389 }
390 export type AmiList = Ami[];
391 export type AmiNameString = string;
392 export type Arn = string;
393 export type ArnList = Arn[];
394 export interface CancelImageCreationRequest {
395 /**
396 * The Amazon Resource Name (ARN) of the image whose creation you want to cancel.
397 */
398 imageBuildVersionArn: ImageBuildVersionArn;
399 /**
400 * The idempotency token used to make this request idempotent.
401 */
402 clientToken: ClientToken;
403 }
404 export interface CancelImageCreationResponse {
405 /**
406 * The request ID that uniquely identifies this request.
407 */
408 requestId?: NonEmptyString;
409 /**
410 * The idempotency token used to make this request idempotent.
411 */
412 clientToken?: ClientToken;
413 /**
414 * The Amazon Resource Name (ARN) of the image whose creation has been cancelled.
415 */
416 imageBuildVersionArn?: ImageBuildVersionArn;
417 }
418 export type ClientToken = string;
419 export interface Component {
420 /**
421 * The Amazon Resource Name (ARN) of the component.
422 */
423 arn?: ImageBuilderArn;
424 /**
425 * The name of the component.
426 */
427 name?: ResourceName;
428 /**
429 * The version of the component.
430 */
431 version?: VersionNumber;
432 /**
433 * The description of the component.
434 */
435 description?: NonEmptyString;
436 /**
437 * The change description of the component.
438 */
439 changeDescription?: NonEmptyString;
440 /**
441 * The type of the component denotes whether the component is used to build the image or only to test it.
442 */
443 type?: ComponentType;
444 /**
445 * The platform of the component.
446 */
447 platform?: Platform;
448 /**
449 * The owner of the component.
450 */
451 owner?: NonEmptyString;
452 /**
453 * The data of the component.
454 */
455 data?: ComponentData;
456 /**
457 * The KMS key identifier used to encrypt the component.
458 */
459 kmsKeyId?: NonEmptyString;
460 /**
461 * The encryption status of the component.
462 */
463 encrypted?: NullableBoolean;
464 /**
465 * The date that the component was created.
466 */
467 dateCreated?: DateTime;
468 /**
469 * The tags associated with the component.
470 */
471 tags?: TagMap;
472 }
473 export type ComponentBuildVersionArn = string;
474 export interface ComponentConfiguration {
475 /**
476 * The Amazon Resource Name (ARN) of the component.
477 */
478 componentArn: ComponentVersionArnOrBuildVersionArn;
479 }
480 export type ComponentConfigurationList = ComponentConfiguration[];
481 export type ComponentData = string;
482 export type ComponentFormat = "SHELL"|string;
483 export interface ComponentSummary {
484 /**
485 * The Amazon Resource Name (ARN) of the component.
486 */
487 arn?: ImageBuilderArn;
488 /**
489 * The name of the component.
490 */
491 name?: ResourceName;
492 /**
493 * The version of the component.
494 */
495 version?: VersionNumber;
496 /**
497 * The platform of the component.
498 */
499 platform?: Platform;
500 /**
501 * The type of the component denotes whether the component is used to build the image or only to test it.
502 */
503 type?: ComponentType;
504 /**
505 * The owner of the component.
506 */
507 owner?: NonEmptyString;
508 /**
509 * The description of the component.
510 */
511 description?: NonEmptyString;
512 /**
513 * The change description of the component.
514 */
515 changeDescription?: NonEmptyString;
516 /**
517 * The date that the component was created.
518 */
519 dateCreated?: DateTime;
520 /**
521 * The tags associated with the component.
522 */
523 tags?: TagMap;
524 }
525 export type ComponentSummaryList = ComponentSummary[];
526 export type ComponentType = "BUILD"|"TEST"|string;
527 export interface ComponentVersion {
528 /**
529 * The Amazon Resource Name (ARN) of the component.
530 */
531 arn?: ImageBuilderArn;
532 /**
533 * The name of the component.
534 */
535 name?: ResourceName;
536 /**
537 * The semantic version of the component.
538 */
539 version?: VersionNumber;
540 /**
541 * The description of the component.
542 */
543 description?: NonEmptyString;
544 /**
545 * The platform of the component.
546 */
547 platform?: Platform;
548 /**
549 * The type of the component denotes whether the component is used to build the image or only to test it.
550 */
551 type?: ComponentType;
552 /**
553 * The owner of the component.
554 */
555 owner?: NonEmptyString;
556 /**
557 * The date that the component was created.
558 */
559 dateCreated?: DateTime;
560 }
561 export type ComponentVersionArn = string;
562 export type ComponentVersionArnOrBuildVersionArn = string;
563 export type ComponentVersionList = ComponentVersion[];
564 export interface CreateComponentRequest {
565 /**
566 * The name of the component.
567 */
568 name: ResourceName;
569 /**
570 * The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).
571 */
572 semanticVersion: VersionNumber;
573 /**
574 * The description of the component. Describes the contents of the component.
575 */
576 description?: NonEmptyString;
577 /**
578 * The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.
579 */
580 changeDescription?: NonEmptyString;
581 /**
582 * The platform of the component.
583 */
584 platform: Platform;
585 /**
586 * The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.
587 */
588 data?: InlineComponentData;
589 /**
590 * The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.
591 */
592 uri?: Uri;
593 /**
594 * The ID of the KMS key that should be used to encrypt this component.
595 */
596 kmsKeyId?: NonEmptyString;
597 /**
598 * The tags of the component.
599 */
600 tags?: TagMap;
601 /**
602 * The idempotency token of the component.
603 */
604 clientToken: ClientToken;
605 }
606 export interface CreateComponentResponse {
607 /**
608 * The request ID that uniquely identifies this request.
609 */
610 requestId?: NonEmptyString;
611 /**
612 * The idempotency token used to make this request idempotent.
613 */
614 clientToken?: ClientToken;
615 /**
616 * The Amazon Resource Name (ARN) of the component that was created by this request.
617 */
618 componentBuildVersionArn?: ComponentBuildVersionArn;
619 }
620 export interface CreateDistributionConfigurationRequest {
621 /**
622 * The name of the distribution configuration.
623 */
624 name: ResourceName;
625 /**
626 * The description of the distribution configuration.
627 */
628 description?: NonEmptyString;
629 /**
630 * The distributions of the distribution configuration.
631 */
632 distributions: DistributionList;
633 /**
634 * The tags of the distribution configuration.
635 */
636 tags?: TagMap;
637 /**
638 * The idempotency token of the distribution configuration.
639 */
640 clientToken: ClientToken;
641 }
642 export interface CreateDistributionConfigurationResponse {
643 /**
644 * The request ID that uniquely identifies this request.
645 */
646 requestId?: NonEmptyString;
647 /**
648 * The idempotency token used to make this request idempotent.
649 */
650 clientToken?: ClientToken;
651 /**
652 * The Amazon Resource Name (ARN) of the distribution configuration that was created by this request.
653 */
654 distributionConfigurationArn?: DistributionConfigurationArn;
655 }
656 export interface CreateImagePipelineRequest {
657 /**
658 * The name of the image pipeline.
659 */
660 name: ResourceName;
661 /**
662 * The description of the image pipeline.
663 */
664 description?: NonEmptyString;
665 /**
666 * The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.
667 */
668 imageRecipeArn: ImageRecipeArn;
669 /**
670 * The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.
671 */
672 infrastructureConfigurationArn: InfrastructureConfigurationArn;
673 /**
674 * The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.
675 */
676 distributionConfigurationArn?: DistributionConfigurationArn;
677 /**
678 * The image test configuration of the image pipeline.
679 */
680 imageTestsConfiguration?: ImageTestsConfiguration;
681 /**
682 * Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
683 */
684 enhancedImageMetadataEnabled?: NullableBoolean;
685 /**
686 * The schedule of the image pipeline.
687 */
688 schedule?: Schedule;
689 /**
690 * The status of the image pipeline.
691 */
692 status?: PipelineStatus;
693 /**
694 * The tags of the image pipeline.
695 */
696 tags?: TagMap;
697 /**
698 * The idempotency token used to make this request idempotent.
699 */
700 clientToken: ClientToken;
701 }
702 export interface CreateImagePipelineResponse {
703 /**
704 * The request ID that uniquely identifies this request.
705 */
706 requestId?: NonEmptyString;
707 /**
708 * The idempotency token used to make this request idempotent.
709 */
710 clientToken?: ClientToken;
711 /**
712 * The Amazon Resource Name (ARN) of the image pipeline that was created by this request.
713 */
714 imagePipelineArn?: ImagePipelineArn;
715 }
716 export interface CreateImageRecipeRequest {
717 /**
718 * The name of the image recipe.
719 */
720 name: ResourceName;
721 /**
722 * The description of the image recipe.
723 */
724 description?: NonEmptyString;
725 /**
726 * The semantic version of the image recipe.
727 */
728 semanticVersion: VersionNumber;
729 /**
730 * The components of the image recipe.
731 */
732 components: ComponentConfigurationList;
733 /**
734 * The parent image of the image recipe. The value of the string can be the ARN of the parent image or an AMI ID. The format for the ARN follows this example: arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/2019.x.x. The ARN ends with /20xx.x.x, which communicates to EC2 Image Builder that you want to use the latest AMI created in 20xx (year). You can provide the specific version that you want to use, or you can use a wildcard in all of the fields. If you enter an AMI ID for the string value, you must have access to the AMI, and the AMI must be in the same Region in which you are using Image Builder.
735 */
736 parentImage: NonEmptyString;
737 /**
738 * The block device mappings of the image recipe.
739 */
740 blockDeviceMappings?: InstanceBlockDeviceMappings;
741 /**
742 * The tags of the image recipe.
743 */
744 tags?: TagMap;
745 /**
746 * The idempotency token used to make this request idempotent.
747 */
748 clientToken: ClientToken;
749 }
750 export interface CreateImageRecipeResponse {
751 /**
752 * The request ID that uniquely identifies this request.
753 */
754 requestId?: NonEmptyString;
755 /**
756 * The idempotency token used to make this request idempotent.
757 */
758 clientToken?: ClientToken;
759 /**
760 * The Amazon Resource Name (ARN) of the image recipe that was created by this request.
761 */
762 imageRecipeArn?: ImageRecipeArn;
763 }
764 export interface CreateImageRequest {
765 /**
766 * The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.
767 */
768 imageRecipeArn: ImageRecipeArn;
769 /**
770 * The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.
771 */
772 distributionConfigurationArn?: DistributionConfigurationArn;
773 /**
774 * The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.
775 */
776 infrastructureConfigurationArn: InfrastructureConfigurationArn;
777 /**
778 * The image tests configuration of the image.
779 */
780 imageTestsConfiguration?: ImageTestsConfiguration;
781 /**
782 * Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
783 */
784 enhancedImageMetadataEnabled?: NullableBoolean;
785 /**
786 * The tags of the image.
787 */
788 tags?: TagMap;
789 /**
790 * The idempotency token used to make this request idempotent.
791 */
792 clientToken: ClientToken;
793 }
794 export interface CreateImageResponse {
795 /**
796 * The request ID that uniquely identifies this request.
797 */
798 requestId?: NonEmptyString;
799 /**
800 * The idempotency token used to make this request idempotent.
801 */
802 clientToken?: ClientToken;
803 /**
804 * The Amazon Resource Name (ARN) of the image that was created by this request.
805 */
806 imageBuildVersionArn?: ImageBuildVersionArn;
807 }
808 export interface CreateInfrastructureConfigurationRequest {
809 /**
810 * The name of the infrastructure configuration.
811 */
812 name: ResourceName;
813 /**
814 * The description of the infrastructure configuration.
815 */
816 description?: NonEmptyString;
817 /**
818 * The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.
819 */
820 instanceTypes?: InstanceTypeList;
821 /**
822 * The instance profile to associate with the instance used to customize your EC2 AMI.
823 */
824 instanceProfileName: NonEmptyString;
825 /**
826 * The security group IDs to associate with the instance used to customize your EC2 AMI.
827 */
828 securityGroupIds?: SecurityGroupIds;
829 /**
830 * The subnet ID in which to place the instance used to customize your EC2 AMI.
831 */
832 subnetId?: NonEmptyString;
833 /**
834 * The logging configuration of the infrastructure configuration.
835 */
836 logging?: Logging;
837 /**
838 * The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image.
839 */
840 keyPair?: NonEmptyString;
841 /**
842 * The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.
843 */
844 terminateInstanceOnFailure?: NullableBoolean;
845 /**
846 * The SNS topic on which to send image build events.
847 */
848 snsTopicArn?: SnsTopicArn;
849 /**
850 * The tags of the infrastructure configuration.
851 */
852 tags?: TagMap;
853 /**
854 * The idempotency token used to make this request idempotent.
855 */
856 clientToken: ClientToken;
857 }
858 export interface CreateInfrastructureConfigurationResponse {
859 /**
860 * The request ID that uniquely identifies this request.
861 */
862 requestId?: NonEmptyString;
863 /**
864 * The idempotency token used to make this request idempotent.
865 */
866 clientToken?: ClientToken;
867 /**
868 * The Amazon Resource Name (ARN) of the infrastructure configuration that was created by this request.
869 */
870 infrastructureConfigurationArn?: InfrastructureConfigurationArn;
871 }
872 export type DateTime = string;
873 export interface DeleteComponentRequest {
874 /**
875 * The Amazon Resource Name (ARN) of the component build version to delete.
876 */
877 componentBuildVersionArn: ComponentBuildVersionArn;
878 }
879 export interface DeleteComponentResponse {
880 /**
881 * The request ID that uniquely identifies this request.
882 */
883 requestId?: NonEmptyString;
884 /**
885 * The Amazon Resource Name (ARN) of the component build version that was deleted.
886 */
887 componentBuildVersionArn?: ComponentBuildVersionArn;
888 }
889 export interface DeleteDistributionConfigurationRequest {
890 /**
891 * The Amazon Resource Name (ARN) of the distribution configuration to delete.
892 */
893 distributionConfigurationArn: DistributionConfigurationArn;
894 }
895 export interface DeleteDistributionConfigurationResponse {
896 /**
897 * The request ID that uniquely identifies this request.
898 */
899 requestId?: NonEmptyString;
900 /**
901 * The Amazon Resource Name (ARN) of the distribution configuration that was deleted.
902 */
903 distributionConfigurationArn?: DistributionConfigurationArn;
904 }
905 export interface DeleteImagePipelineRequest {
906 /**
907 * The Amazon Resource Name (ARN) of the image pipeline to delete.
908 */
909 imagePipelineArn: ImagePipelineArn;
910 }
911 export interface DeleteImagePipelineResponse {
912 /**
913 * The request ID that uniquely identifies this request.
914 */
915 requestId?: NonEmptyString;
916 /**
917 * The Amazon Resource Name (ARN) of the image pipeline that was deleted.
918 */
919 imagePipelineArn?: ImagePipelineArn;
920 }
921 export interface DeleteImageRecipeRequest {
922 /**
923 * The Amazon Resource Name (ARN) of the image recipe to delete.
924 */
925 imageRecipeArn: ImageRecipeArn;
926 }
927 export interface DeleteImageRecipeResponse {
928 /**
929 * The request ID that uniquely identifies this request.
930 */
931 requestId?: NonEmptyString;
932 /**
933 * The Amazon Resource Name (ARN) of the image recipe that was deleted.
934 */
935 imageRecipeArn?: ImageRecipeArn;
936 }
937 export interface DeleteImageRequest {
938 /**
939 * The Amazon Resource Name (ARN) of the image to delete.
940 */
941 imageBuildVersionArn: ImageBuildVersionArn;
942 }
943 export interface DeleteImageResponse {
944 /**
945 * The request ID that uniquely identifies this request.
946 */
947 requestId?: NonEmptyString;
948 /**
949 * The Amazon Resource Name (ARN) of the image that was deleted.
950 */
951 imageBuildVersionArn?: ImageBuildVersionArn;
952 }
953 export interface DeleteInfrastructureConfigurationRequest {
954 /**
955 * The Amazon Resource Name (ARN) of the infrastructure configuration to delete.
956 */
957 infrastructureConfigurationArn: InfrastructureConfigurationArn;
958 }
959 export interface DeleteInfrastructureConfigurationResponse {
960 /**
961 * The request ID that uniquely identifies this request.
962 */
963 requestId?: NonEmptyString;
964 /**
965 * The Amazon Resource Name (ARN) of the infrastructure configuration that was deleted.
966 */
967 infrastructureConfigurationArn?: InfrastructureConfigurationArn;
968 }
969 export interface Distribution {
970 /**
971 * The target Region.
972 */
973 region: NonEmptyString;
974 /**
975 * The specific AMI settings (for example, launch permissions, AMI tags).
976 */
977 amiDistributionConfiguration?: AmiDistributionConfiguration;
978 /**
979 * The License Manager Configuration to associate with the AMI in the specified Region.
980 */
981 licenseConfigurationArns?: ArnList;
982 }
983 export interface DistributionConfiguration {
984 /**
985 * The Amazon Resource Name (ARN) of the distribution configuration.
986 */
987 arn?: ImageBuilderArn;
988 /**
989 * The name of the distribution configuration.
990 */
991 name?: ResourceName;
992 /**
993 * The description of the distribution configuration.
994 */
995 description?: NonEmptyString;
996 /**
997 * The distributions of the distribution configuration.
998 */
999 distributions?: DistributionList;
1000 /**
1001 * The maximum duration in minutes for this distribution configuration.
1002 */
1003 timeoutMinutes: DistributionTimeoutMinutes;
1004 /**
1005 * The date on which this distribution configuration was created.
1006 */
1007 dateCreated?: DateTime;
1008 /**
1009 * The date on which this distribution configuration was last updated.
1010 */
1011 dateUpdated?: DateTime;
1012 /**
1013 * The tags of the distribution configuration.
1014 */
1015 tags?: TagMap;
1016 }
1017 export type DistributionConfigurationArn = string;
1018 export interface DistributionConfigurationSummary {
1019 /**
1020 * The Amazon Resource Name (ARN) of the distribution configuration.
1021 */
1022 arn?: ImageBuilderArn;
1023 /**
1024 * The name of the distribution configuration.
1025 */
1026 name?: ResourceName;
1027 /**
1028 * The description of the distribution configuration.
1029 */
1030 description?: NonEmptyString;
1031 /**
1032 * The date on which the distribution configuration was created.
1033 */
1034 dateCreated?: DateTime;
1035 /**
1036 * The date on which the distribution configuration was updated.
1037 */
1038 dateUpdated?: DateTime;
1039 /**
1040 * The tags associated with the distribution configuration.
1041 */
1042 tags?: TagMap;
1043 }
1044 export type DistributionConfigurationSummaryList = DistributionConfigurationSummary[];
1045 export type DistributionList = Distribution[];
1046 export type DistributionTimeoutMinutes = number;
1047 export interface EbsInstanceBlockDeviceSpecification {
1048 /**
1049 * Use to configure device encryption.
1050 */
1051 encrypted?: NullableBoolean;
1052 /**
1053 * Use to configure delete on termination of the associated device.
1054 */
1055 deleteOnTermination?: NullableBoolean;
1056 /**
1057 * Use to configure device IOPS.
1058 */
1059 iops?: EbsIopsInteger;
1060 /**
1061 * Use to configure the KMS key to use when encrypting the device.
1062 */
1063 kmsKeyId?: NonEmptyString;
1064 /**
1065 * The snapshot that defines the device contents.
1066 */
1067 snapshotId?: NonEmptyString;
1068 /**
1069 * Use to override the device's volume size.
1070 */
1071 volumeSize?: EbsVolumeSizeInteger;
1072 /**
1073 * Use to override the device's volume type.
1074 */
1075 volumeType?: EbsVolumeType;
1076 }
1077 export type EbsIopsInteger = number;
1078 export type EbsVolumeSizeInteger = number;
1079 export type EbsVolumeType = "standard"|"io1"|"gp2"|"sc1"|"st1"|string;
1080 export type EmptyString = string;
1081 export interface Filter {
1082 /**
1083 * The name of the filter. Filter names are case-sensitive.
1084 */
1085 name?: FilterName;
1086 /**
1087 * The filter values. Filter values are case-sensitive.
1088 */
1089 values?: FilterValues;
1090 }
1091 export type FilterList = Filter[];
1092 export type FilterName = string;
1093 export type FilterValue = string;
1094 export type FilterValues = FilterValue[];
1095 export interface GetComponentPolicyRequest {
1096 /**
1097 * The Amazon Resource Name (ARN) of the component whose policy you want to retrieve.
1098 */
1099 componentArn: ComponentBuildVersionArn;
1100 }
1101 export interface GetComponentPolicyResponse {
1102 /**
1103 * The request ID that uniquely identifies this request.
1104 */
1105 requestId?: NonEmptyString;
1106 /**
1107 * The component policy.
1108 */
1109 policy?: ResourcePolicyDocument;
1110 }
1111 export interface GetComponentRequest {
1112 /**
1113 * The Amazon Resource Name (ARN) of the component that you want to retrieve. Regex requires "/\d+$" suffix.
1114 */
1115 componentBuildVersionArn: ComponentBuildVersionArn;
1116 }
1117 export interface GetComponentResponse {
1118 /**
1119 * The request ID that uniquely identifies this request.
1120 */
1121 requestId?: NonEmptyString;
1122 /**
1123 * The component object associated with the specified ARN.
1124 */
1125 component?: Component;
1126 }
1127 export interface GetDistributionConfigurationRequest {
1128 /**
1129 * The Amazon Resource Name (ARN) of the distribution configuration that you want to retrieve.
1130 */
1131 distributionConfigurationArn: DistributionConfigurationArn;
1132 }
1133 export interface GetDistributionConfigurationResponse {
1134 /**
1135 * The request ID that uniquely identifies this request.
1136 */
1137 requestId?: NonEmptyString;
1138 /**
1139 * The distribution configuration object.
1140 */
1141 distributionConfiguration?: DistributionConfiguration;
1142 }
1143 export interface GetImagePipelineRequest {
1144 /**
1145 * The Amazon Resource Name (ARN) of the image pipeline that you want to retrieve.
1146 */
1147 imagePipelineArn: ImagePipelineArn;
1148 }
1149 export interface GetImagePipelineResponse {
1150 /**
1151 * The request ID that uniquely identifies this request.
1152 */
1153 requestId?: NonEmptyString;
1154 /**
1155 * The image pipeline object.
1156 */
1157 imagePipeline?: ImagePipeline;
1158 }
1159 export interface GetImagePolicyRequest {
1160 /**
1161 * The Amazon Resource Name (ARN) of the image whose policy you want to retrieve.
1162 */
1163 imageArn: ImageBuildVersionArn;
1164 }
1165 export interface GetImagePolicyResponse {
1166 /**
1167 * The request ID that uniquely identifies this request.
1168 */
1169 requestId?: NonEmptyString;
1170 /**
1171 * The image policy object.
1172 */
1173 policy?: ResourcePolicyDocument;
1174 }
1175 export interface GetImageRecipePolicyRequest {
1176 /**
1177 * The Amazon Resource Name (ARN) of the image recipe whose policy you want to retrieve.
1178 */
1179 imageRecipeArn: ImageRecipeArn;
1180 }
1181 export interface GetImageRecipePolicyResponse {
1182 /**
1183 * The request ID that uniquely identifies this request.
1184 */
1185 requestId?: NonEmptyString;
1186 /**
1187 * The image recipe policy object.
1188 */
1189 policy?: ResourcePolicyDocument;
1190 }
1191 export interface GetImageRecipeRequest {
1192 /**
1193 * The Amazon Resource Name (ARN) of the image recipe that you want to retrieve.
1194 */
1195 imageRecipeArn: ImageRecipeArn;
1196 }
1197 export interface GetImageRecipeResponse {
1198 /**
1199 * The request ID that uniquely identifies this request.
1200 */
1201 requestId?: NonEmptyString;
1202 /**
1203 * The image recipe object.
1204 */
1205 imageRecipe?: ImageRecipe;
1206 }
1207 export interface GetImageRequest {
1208 /**
1209 * The Amazon Resource Name (ARN) of the image that you want to retrieve.
1210 */
1211 imageBuildVersionArn: ImageBuildVersionArn;
1212 }
1213 export interface GetImageResponse {
1214 /**
1215 * The request ID that uniquely identifies this request.
1216 */
1217 requestId?: NonEmptyString;
1218 /**
1219 * The image object.
1220 */
1221 image?: Image;
1222 }
1223 export interface GetInfrastructureConfigurationRequest {
1224 /**
1225 * The Amazon Resource Name (ARN) of the infrastructure configuration that you want to retrieve.
1226 */
1227 infrastructureConfigurationArn: InfrastructureConfigurationArn;
1228 }
1229 export interface GetInfrastructureConfigurationResponse {
1230 /**
1231 * The request ID that uniquely identifies this request.
1232 */
1233 requestId?: NonEmptyString;
1234 /**
1235 * The infrastructure configuration object.
1236 */
1237 infrastructureConfiguration?: InfrastructureConfiguration;
1238 }
1239 export interface Image {
1240 /**
1241 * The Amazon Resource Name (ARN) of the image.
1242 */
1243 arn?: ImageBuilderArn;
1244 /**
1245 * The name of the image.
1246 */
1247 name?: ResourceName;
1248 /**
1249 * The semantic version of the image.
1250 */
1251 version?: VersionNumber;
1252 /**
1253 * The platform of the image.
1254 */
1255 platform?: Platform;
1256 /**
1257 * Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
1258 */
1259 enhancedImageMetadataEnabled?: NullableBoolean;
1260 /**
1261 * The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
1262 */
1263 osVersion?: OsVersion;
1264 /**
1265 * The state of the image.
1266 */
1267 state?: ImageState;
1268 /**
1269 * The image recipe used when creating the image.
1270 */
1271 imageRecipe?: ImageRecipe;
1272 /**
1273 * The name of the image pipeline that created this image.
1274 */
1275 sourcePipelineName?: ResourceName;
1276 /**
1277 * The Amazon Resource Name (ARN) of the image pipeline that created this image.
1278 */
1279 sourcePipelineArn?: Arn;
1280 /**
1281 * The infrastructure used when creating this image.
1282 */
1283 infrastructureConfiguration?: InfrastructureConfiguration;
1284 /**
1285 * The distribution configuration used when creating this image.
1286 */
1287 distributionConfiguration?: DistributionConfiguration;
1288 /**
1289 * The image tests configuration used when creating this image.
1290 */
1291 imageTestsConfiguration?: ImageTestsConfiguration;
1292 /**
1293 * The date on which this image was created.
1294 */
1295 dateCreated?: DateTime;
1296 /**
1297 * The output resources produced when creating this image.
1298 */
1299 outputResources?: OutputResources;
1300 /**
1301 * The tags of the image.
1302 */
1303 tags?: TagMap;
1304 }
1305 export type ImageBuildVersionArn = string;
1306 export type ImageBuilderArn = string;
1307 export interface ImagePipeline {
1308 /**
1309 * The Amazon Resource Name (ARN) of the image pipeline.
1310 */
1311 arn?: ImageBuilderArn;
1312 /**
1313 * The name of the image pipeline.
1314 */
1315 name?: ResourceName;
1316 /**
1317 * The description of the image pipeline.
1318 */
1319 description?: NonEmptyString;
1320 /**
1321 * The platform of the image pipeline.
1322 */
1323 platform?: Platform;
1324 /**
1325 * Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
1326 */
1327 enhancedImageMetadataEnabled?: NullableBoolean;
1328 /**
1329 * The Amazon Resource Name (ARN) of the image recipe associated with this image pipeline.
1330 */
1331 imageRecipeArn?: Arn;
1332 /**
1333 * The Amazon Resource Name (ARN) of the infrastructure configuration associated with this image pipeline.
1334 */
1335 infrastructureConfigurationArn?: Arn;
1336 /**
1337 * The Amazon Resource Name (ARN) of the distribution configuration associated with this image pipeline.
1338 */
1339 distributionConfigurationArn?: Arn;
1340 /**
1341 * The image tests configuration of the image pipeline.
1342 */
1343 imageTestsConfiguration?: ImageTestsConfiguration;
1344 /**
1345 * The schedule of the image pipeline.
1346 */
1347 schedule?: Schedule;
1348 /**
1349 * The status of the image pipeline.
1350 */
1351 status?: PipelineStatus;
1352 /**
1353 * The date on which this image pipeline was created.
1354 */
1355 dateCreated?: DateTime;
1356 /**
1357 * The date on which this image pipeline was last updated.
1358 */
1359 dateUpdated?: DateTime;
1360 /**
1361 * The date on which this image pipeline was last run.
1362 */
1363 dateLastRun?: DateTime;
1364 /**
1365 * The date on which this image pipeline will next be run.
1366 */
1367 dateNextRun?: DateTime;
1368 /**
1369 * The tags of this image pipeline.
1370 */
1371 tags?: TagMap;
1372 }
1373 export type ImagePipelineArn = string;
1374 export type ImagePipelineList = ImagePipeline[];
1375 export interface ImageRecipe {
1376 /**
1377 * The Amazon Resource Name (ARN) of the image recipe.
1378 */
1379 arn?: ImageBuilderArn;
1380 /**
1381 * The name of the image recipe.
1382 */
1383 name?: ResourceName;
1384 /**
1385 * The description of the image recipe.
1386 */
1387 description?: NonEmptyString;
1388 /**
1389 * The platform of the image recipe.
1390 */
1391 platform?: Platform;
1392 /**
1393 * The owner of the image recipe.
1394 */
1395 owner?: NonEmptyString;
1396 /**
1397 * The version of the image recipe.
1398 */
1399 version?: VersionNumber;
1400 /**
1401 * The components of the image recipe.
1402 */
1403 components?: ComponentConfigurationList;
1404 /**
1405 * The parent image of the image recipe.
1406 */
1407 parentImage?: NonEmptyString;
1408 /**
1409 * The block device mappings to apply when creating images from this recipe.
1410 */
1411 blockDeviceMappings?: InstanceBlockDeviceMappings;
1412 /**
1413 * The date on which this image recipe was created.
1414 */
1415 dateCreated?: DateTime;
1416 /**
1417 * The tags of the image recipe.
1418 */
1419 tags?: TagMap;
1420 }
1421 export type ImageRecipeArn = string;
1422 export interface ImageRecipeSummary {
1423 /**
1424 * The Amazon Resource Name (ARN) of the image recipe.
1425 */
1426 arn?: ImageBuilderArn;
1427 /**
1428 * The name of the image recipe.
1429 */
1430 name?: ResourceName;
1431 /**
1432 * The platform of the image recipe.
1433 */
1434 platform?: Platform;
1435 /**
1436 * The owner of the image recipe.
1437 */
1438 owner?: NonEmptyString;
1439 /**
1440 * The parent image of the image recipe.
1441 */
1442 parentImage?: NonEmptyString;
1443 /**
1444 * The date on which this image recipe was created.
1445 */
1446 dateCreated?: DateTime;
1447 /**
1448 * The tags of the image recipe.
1449 */
1450 tags?: TagMap;
1451 }
1452 export type ImageRecipeSummaryList = ImageRecipeSummary[];
1453 export interface ImageState {
1454 /**
1455 * The status of the image.
1456 */
1457 status?: ImageStatus;
1458 /**
1459 * The reason for the image's status.
1460 */
1461 reason?: NonEmptyString;
1462 }
1463 export type ImageStatus = "PENDING"|"CREATING"|"BUILDING"|"TESTING"|"DISTRIBUTING"|"INTEGRATING"|"AVAILABLE"|"CANCELLED"|"FAILED"|"DEPRECATED"|"DELETED"|string;
1464 export interface ImageSummary {
1465 /**
1466 * The Amazon Resource Name (ARN) of the image.
1467 */
1468 arn?: ImageBuilderArn;
1469 /**
1470 * The name of the image.
1471 */
1472 name?: ResourceName;
1473 /**
1474 * The version of the image.
1475 */
1476 version?: VersionNumber;
1477 /**
1478 * The platform of the image.
1479 */
1480 platform?: Platform;
1481 /**
1482 * The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
1483 */
1484 osVersion?: OsVersion;
1485 /**
1486 * The state of the image.
1487 */
1488 state?: ImageState;
1489 /**
1490 * The owner of the image.
1491 */
1492 owner?: NonEmptyString;
1493 /**
1494 * The date on which this image was created.
1495 */
1496 dateCreated?: DateTime;
1497 /**
1498 * The output resources produced when creating this image.
1499 */
1500 outputResources?: OutputResources;
1501 /**
1502 * The tags of the image.
1503 */
1504 tags?: TagMap;
1505 }
1506 export type ImageSummaryList = ImageSummary[];
1507 export interface ImageTestsConfiguration {
1508 /**
1509 * Defines if tests should be executed when building this image.
1510 */
1511 imageTestsEnabled?: NullableBoolean;
1512 /**
1513 * The maximum time in minutes that tests are permitted to run.
1514 */
1515 timeoutMinutes?: ImageTestsTimeoutMinutes;
1516 }
1517 export type ImageTestsTimeoutMinutes = number;
1518 export interface ImageVersion {
1519 /**
1520 * The Amazon Resource Name (ARN) of the image semantic version.
1521 */
1522 arn?: ImageBuilderArn;
1523 /**
1524 * The name of the image semantic version.
1525 */
1526 name?: ResourceName;
1527 /**
1528 * The semantic version of the image semantic version.
1529 */
1530 version?: VersionNumber;
1531 /**
1532 * The platform of the image semantic version.
1533 */
1534 platform?: Platform;
1535 /**
1536 * The operating system version of the instance. For example, Amazon Linux 2, Ubuntu 18, or Microsoft Windows Server 2019.
1537 */
1538 osVersion?: OsVersion;
1539 /**
1540 * The owner of the image semantic version.
1541 */
1542 owner?: NonEmptyString;
1543 /**
1544 * The date at which this image semantic version was created.
1545 */
1546 dateCreated?: DateTime;
1547 }
1548 export type ImageVersionArn = string;
1549 export type ImageVersionList = ImageVersion[];
1550 export interface ImportComponentRequest {
1551 /**
1552 * The name of the component.
1553 */
1554 name: ResourceName;
1555 /**
1556 * The semantic version of the component. This version follows the semantic version syntax. For example, major.minor.patch. This could be versioned like software (2.0.1) or like a date (2019.12.01).
1557 */
1558 semanticVersion: VersionNumber;
1559 /**
1560 * The description of the component. Describes the contents of the component.
1561 */
1562 description?: NonEmptyString;
1563 /**
1564 * The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.
1565 */
1566 changeDescription?: NonEmptyString;
1567 /**
1568 * The type of the component denotes whether the component is used to build the image or only to test it.
1569 */
1570 type: ComponentType;
1571 /**
1572 * The format of the resource that you want to import as a component.
1573 */
1574 format: ComponentFormat;
1575 /**
1576 * The platform of the component.
1577 */
1578 platform: Platform;
1579 /**
1580 * The data of the component. Used to specify the data inline. Either data or uri can be used to specify the data within the component.
1581 */
1582 data?: NonEmptyString;
1583 /**
1584 * The uri of the component. Must be an S3 URL and the requester must have permission to access the S3 bucket. If you use S3, you can specify component content up to your service quota. Either data or uri can be used to specify the data within the component.
1585 */
1586 uri?: Uri;
1587 /**
1588 * The ID of the KMS key that should be used to encrypt this component.
1589 */
1590 kmsKeyId?: NonEmptyString;
1591 /**
1592 * The tags of the component.
1593 */
1594 tags?: TagMap;
1595 /**
1596 * The idempotency token of the component.
1597 */
1598 clientToken: ClientToken;
1599 }
1600 export interface ImportComponentResponse {
1601 /**
1602 * The request ID that uniquely identifies this request.
1603 */
1604 requestId?: NonEmptyString;
1605 /**
1606 * The idempotency token used to make this request idempotent.
1607 */
1608 clientToken?: ClientToken;
1609 /**
1610 * The Amazon Resource Name (ARN) of the imported component.
1611 */
1612 componentBuildVersionArn?: ComponentBuildVersionArn;
1613 }
1614 export interface InfrastructureConfiguration {
1615 /**
1616 * The Amazon Resource Name (ARN) of the infrastructure configuration.
1617 */
1618 arn?: ImageBuilderArn;
1619 /**
1620 * The name of the infrastructure configuration.
1621 */
1622 name?: ResourceName;
1623 /**
1624 * The description of the infrastructure configuration.
1625 */
1626 description?: NonEmptyString;
1627 /**
1628 * The instance types of the infrastructure configuration.
1629 */
1630 instanceTypes?: InstanceTypeList;
1631 /**
1632 * The instance profile of the infrastructure configuration.
1633 */
1634 instanceProfileName?: NonEmptyString;
1635 /**
1636 * The security group IDs of the infrastructure configuration.
1637 */
1638 securityGroupIds?: SecurityGroupIds;
1639 /**
1640 * The subnet ID of the infrastructure configuration.
1641 */
1642 subnetId?: NonEmptyString;
1643 /**
1644 * The logging configuration of the infrastructure configuration.
1645 */
1646 logging?: Logging;
1647 /**
1648 * The EC2 key pair of the infrastructure configuration.
1649 */
1650 keyPair?: NonEmptyString;
1651 /**
1652 * The terminate instance on failure configuration of the infrastructure configuration.
1653 */
1654 terminateInstanceOnFailure?: NullableBoolean;
1655 /**
1656 * The SNS topic Amazon Resource Name (ARN) of the infrastructure configuration.
1657 */
1658 snsTopicArn?: NonEmptyString;
1659 /**
1660 * The date on which the infrastructure configuration was created.
1661 */
1662 dateCreated?: DateTime;
1663 /**
1664 * The date on which the infrastructure configuration was last updated.
1665 */
1666 dateUpdated?: DateTime;
1667 /**
1668 * The tags of the infrastructure configuration.
1669 */
1670 tags?: TagMap;
1671 }
1672 export type InfrastructureConfigurationArn = string;
1673 export interface InfrastructureConfigurationSummary {
1674 /**
1675 * The Amazon Resource Name (ARN) of the infrastructure configuration.
1676 */
1677 arn?: ImageBuilderArn;
1678 /**
1679 * The name of the infrastructure configuration.
1680 */
1681 name?: ResourceName;
1682 /**
1683 * The description of the infrastructure configuration.
1684 */
1685 description?: NonEmptyString;
1686 /**
1687 * The date on which the infrastructure configuration was created.
1688 */
1689 dateCreated?: DateTime;
1690 /**
1691 * The date on which the infrastructure configuration was last updated.
1692 */
1693 dateUpdated?: DateTime;
1694 /**
1695 * The tags of the infrastructure configuration.
1696 */
1697 tags?: TagMap;
1698 }
1699 export type InfrastructureConfigurationSummaryList = InfrastructureConfigurationSummary[];
1700 export type InlineComponentData = string;
1701 export interface InstanceBlockDeviceMapping {
1702 /**
1703 * The device to which these mappings apply.
1704 */
1705 deviceName?: NonEmptyString;
1706 /**
1707 * Use to manage Amazon EBS-specific configuration for this mapping.
1708 */
1709 ebs?: EbsInstanceBlockDeviceSpecification;
1710 /**
1711 * Use to manage instance ephemeral devices.
1712 */
1713 virtualName?: NonEmptyString;
1714 /**
1715 * Use to remove a mapping from the parent image.
1716 */
1717 noDevice?: EmptyString;
1718 }
1719 export type InstanceBlockDeviceMappings = InstanceBlockDeviceMapping[];
1720 export type InstanceType = string;
1721 export type InstanceTypeList = InstanceType[];
1722 export interface LaunchPermissionConfiguration {
1723 /**
1724 * The AWS account ID.
1725 */
1726 userIds?: AccountList;
1727 /**
1728 * The name of the group.
1729 */
1730 userGroups?: StringList;
1731 }
1732 export interface ListComponentBuildVersionsRequest {
1733 /**
1734 * The component version Amazon Resource Name (ARN) whose versions you want to list.
1735 */
1736 componentVersionArn: ComponentVersionArn;
1737 /**
1738 * The maximum items to return in a request.
1739 */
1740 maxResults?: RestrictedInteger;
1741 /**
1742 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1743 */
1744 nextToken?: NonEmptyString;
1745 }
1746 export interface ListComponentBuildVersionsResponse {
1747 /**
1748 * The request ID that uniquely identifies this request.
1749 */
1750 requestId?: NonEmptyString;
1751 /**
1752 * The list of component summaries for the specified semantic version.
1753 */
1754 componentSummaryList?: ComponentSummaryList;
1755 /**
1756 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1757 */
1758 nextToken?: NonEmptyString;
1759 }
1760 export interface ListComponentsRequest {
1761 /**
1762 * The owner defines which components you want to list. By default, this request will only show components owned by your account. You can use this field to specify if you want to view components owned by yourself, by Amazon, or those components that have been shared with you by other customers.
1763 */
1764 owner?: Ownership;
1765 /**
1766 * The filters.
1767 */
1768 filters?: FilterList;
1769 /**
1770 * The maximum items to return in a request.
1771 */
1772 maxResults?: RestrictedInteger;
1773 /**
1774 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1775 */
1776 nextToken?: NonEmptyString;
1777 }
1778 export interface ListComponentsResponse {
1779 /**
1780 * The request ID that uniquely identifies this request.
1781 */
1782 requestId?: NonEmptyString;
1783 /**
1784 * The list of component semantic versions.
1785 */
1786 componentVersionList?: ComponentVersionList;
1787 /**
1788 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1789 */
1790 nextToken?: NonEmptyString;
1791 }
1792 export interface ListDistributionConfigurationsRequest {
1793 /**
1794 * The filters.
1795 */
1796 filters?: FilterList;
1797 /**
1798 * The maximum items to return in a request.
1799 */
1800 maxResults?: RestrictedInteger;
1801 /**
1802 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1803 */
1804 nextToken?: NonEmptyString;
1805 }
1806 export interface ListDistributionConfigurationsResponse {
1807 /**
1808 * The request ID that uniquely identifies this request.
1809 */
1810 requestId?: NonEmptyString;
1811 /**
1812 * The list of distributions.
1813 */
1814 distributionConfigurationSummaryList?: DistributionConfigurationSummaryList;
1815 /**
1816 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1817 */
1818 nextToken?: NonEmptyString;
1819 }
1820 export interface ListImageBuildVersionsRequest {
1821 /**
1822 * The Amazon Resource Name (ARN) of the image whose build versions you want to retrieve.
1823 */
1824 imageVersionArn: ImageVersionArn;
1825 /**
1826 * The filters.
1827 */
1828 filters?: FilterList;
1829 /**
1830 * The maximum items to return in a request.
1831 */
1832 maxResults?: RestrictedInteger;
1833 /**
1834 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1835 */
1836 nextToken?: NonEmptyString;
1837 }
1838 export interface ListImageBuildVersionsResponse {
1839 /**
1840 * The request ID that uniquely identifies this request.
1841 */
1842 requestId?: NonEmptyString;
1843 /**
1844 * The list of image build versions.
1845 */
1846 imageSummaryList?: ImageSummaryList;
1847 /**
1848 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1849 */
1850 nextToken?: NonEmptyString;
1851 }
1852 export interface ListImagePipelineImagesRequest {
1853 /**
1854 * The Amazon Resource Name (ARN) of the image pipeline whose images you want to view.
1855 */
1856 imagePipelineArn: ImagePipelineArn;
1857 /**
1858 * The filters.
1859 */
1860 filters?: FilterList;
1861 /**
1862 * The maximum items to return in a request.
1863 */
1864 maxResults?: RestrictedInteger;
1865 /**
1866 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1867 */
1868 nextToken?: NonEmptyString;
1869 }
1870 export interface ListImagePipelineImagesResponse {
1871 /**
1872 * The request ID that uniquely identifies this request.
1873 */
1874 requestId?: NonEmptyString;
1875 /**
1876 * The list of images built by this pipeline.
1877 */
1878 imageSummaryList?: ImageSummaryList;
1879 /**
1880 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1881 */
1882 nextToken?: NonEmptyString;
1883 }
1884 export interface ListImagePipelinesRequest {
1885 /**
1886 * The filters.
1887 */
1888 filters?: FilterList;
1889 /**
1890 * The maximum items to return in a request.
1891 */
1892 maxResults?: RestrictedInteger;
1893 /**
1894 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1895 */
1896 nextToken?: NonEmptyString;
1897 }
1898 export interface ListImagePipelinesResponse {
1899 /**
1900 * The request ID that uniquely identifies this request.
1901 */
1902 requestId?: NonEmptyString;
1903 /**
1904 * The list of image pipelines.
1905 */
1906 imagePipelineList?: ImagePipelineList;
1907 /**
1908 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1909 */
1910 nextToken?: NonEmptyString;
1911 }
1912 export interface ListImageRecipesRequest {
1913 /**
1914 * The owner defines which image recipes you want to list. By default, this request will only show image recipes owned by your account. You can use this field to specify if you want to view image recipes owned by yourself, by Amazon, or those image recipes that have been shared with you by other customers.
1915 */
1916 owner?: Ownership;
1917 /**
1918 * The filters.
1919 */
1920 filters?: FilterList;
1921 /**
1922 * The maximum items to return in a request.
1923 */
1924 maxResults?: RestrictedInteger;
1925 /**
1926 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1927 */
1928 nextToken?: NonEmptyString;
1929 }
1930 export interface ListImageRecipesResponse {
1931 /**
1932 * The request ID that uniquely identifies this request.
1933 */
1934 requestId?: NonEmptyString;
1935 /**
1936 * The list of image pipelines.
1937 */
1938 imageRecipeSummaryList?: ImageRecipeSummaryList;
1939 /**
1940 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1941 */
1942 nextToken?: NonEmptyString;
1943 }
1944 export interface ListImagesRequest {
1945 /**
1946 * The owner defines which images you want to list. By default, this request will only show images owned by your account. You can use this field to specify if you want to view images owned by yourself, by Amazon, or those images that have been shared with you by other customers.
1947 */
1948 owner?: Ownership;
1949 /**
1950 * The filters.
1951 */
1952 filters?: FilterList;
1953 /**
1954 * The maximum items to return in a request.
1955 */
1956 maxResults?: RestrictedInteger;
1957 /**
1958 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1959 */
1960 nextToken?: NonEmptyString;
1961 }
1962 export interface ListImagesResponse {
1963 /**
1964 * The request ID that uniquely identifies this request.
1965 */
1966 requestId?: NonEmptyString;
1967 /**
1968 * The list of image semantic versions.
1969 */
1970 imageVersionList?: ImageVersionList;
1971 /**
1972 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
1973 */
1974 nextToken?: NonEmptyString;
1975 }
1976 export interface ListInfrastructureConfigurationsRequest {
1977 /**
1978 * The filters.
1979 */
1980 filters?: FilterList;
1981 /**
1982 * The maximum items to return in a request.
1983 */
1984 maxResults?: RestrictedInteger;
1985 /**
1986 * A token to specify where to start paginating. This is the NextToken from a previously truncated response.
1987 */
1988 nextToken?: NonEmptyString;
1989 }
1990 export interface ListInfrastructureConfigurationsResponse {
1991 /**
1992 * The request ID that uniquely identifies this request.
1993 */
1994 requestId?: NonEmptyString;
1995 /**
1996 * The list of infrastructure configurations.
1997 */
1998 infrastructureConfigurationSummaryList?: InfrastructureConfigurationSummaryList;
1999 /**
2000 * The next token used for paginated responses. When this is not empty, there are additional elements that the service has not included in this request. Use this token with the next request to retrieve additional objects.
2001 */
2002 nextToken?: NonEmptyString;
2003 }
2004 export interface ListTagsForResourceRequest {
2005 /**
2006 * The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.
2007 */
2008 resourceArn: ImageBuilderArn;
2009 }
2010 export interface ListTagsForResourceResponse {
2011 /**
2012 * The tags for the specified resource.
2013 */
2014 tags?: TagMap;
2015 }
2016 export interface Logging {
2017 /**
2018 * The Amazon S3 logging configuration.
2019 */
2020 s3Logs?: S3Logs;
2021 }
2022 export type NonEmptyString = string;
2023 export type NullableBoolean = boolean;
2024 export type OsVersion = string;
2025 export interface OutputResources {
2026 /**
2027 * The EC2 AMIs created by this image.
2028 */
2029 amis?: AmiList;
2030 }
2031 export type Ownership = "Self"|"Shared"|"Amazon"|string;
2032 export type PipelineExecutionStartCondition = "EXPRESSION_MATCH_ONLY"|"EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"|string;
2033 export type PipelineStatus = "DISABLED"|"ENABLED"|string;
2034 export type Platform = "Windows"|"Linux"|string;
2035 export interface PutComponentPolicyRequest {
2036 /**
2037 * The Amazon Resource Name (ARN) of the component that this policy should be applied to.
2038 */
2039 componentArn: ComponentBuildVersionArn;
2040 /**
2041 * The policy to apply.
2042 */
2043 policy: ResourcePolicyDocument;
2044 }
2045 export interface PutComponentPolicyResponse {
2046 /**
2047 * The request ID that uniquely identifies this request.
2048 */
2049 requestId?: NonEmptyString;
2050 /**
2051 * The Amazon Resource Name (ARN) of the component that this policy was applied to.
2052 */
2053 componentArn?: ComponentBuildVersionArn;
2054 }
2055 export interface PutImagePolicyRequest {
2056 /**
2057 * The Amazon Resource Name (ARN) of the image that this policy should be applied to.
2058 */
2059 imageArn: ImageBuildVersionArn;
2060 /**
2061 * The policy to apply.
2062 */
2063 policy: ResourcePolicyDocument;
2064 }
2065 export interface PutImagePolicyResponse {
2066 /**
2067 * The request ID that uniquely identifies this request.
2068 */
2069 requestId?: NonEmptyString;
2070 /**
2071 * The Amazon Resource Name (ARN) of the image that this policy was applied to.
2072 */
2073 imageArn?: ImageBuildVersionArn;
2074 }
2075 export interface PutImageRecipePolicyRequest {
2076 /**
2077 * The Amazon Resource Name (ARN) of the image recipe that this policy should be applied to.
2078 */
2079 imageRecipeArn: ImageRecipeArn;
2080 /**
2081 * The policy to apply.
2082 */
2083 policy: ResourcePolicyDocument;
2084 }
2085 export interface PutImageRecipePolicyResponse {
2086 /**
2087 * The request ID that uniquely identifies this request.
2088 */
2089 requestId?: NonEmptyString;
2090 /**
2091 * The Amazon Resource Name (ARN) of the image recipe that this policy was applied to.
2092 */
2093 imageRecipeArn?: ImageRecipeArn;
2094 }
2095 export type ResourceName = string;
2096 export type ResourcePolicyDocument = string;
2097 export type RestrictedInteger = number;
2098 export interface S3Logs {
2099 /**
2100 * The Amazon S3 bucket in which to store the logs.
2101 */
2102 s3BucketName?: NonEmptyString;
2103 /**
2104 * The Amazon S3 path in which to store the logs.
2105 */
2106 s3KeyPrefix?: NonEmptyString;
2107 }
2108 export interface Schedule {
2109 /**
2110 * The expression determines how often EC2 Image Builder evaluates your pipelineExecutionStartCondition.
2111 */
2112 scheduleExpression?: NonEmptyString;
2113 /**
2114 * The condition configures when the pipeline should trigger a new image build. When the pipelineExecutionStartCondition is set to EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE, EC2 Image Builder will build a new image only when there are known changes pending. When it is set to EXPRESSION_MATCH_ONLY, it will build a new image every time the CRON expression matches the current time.
2115 */
2116 pipelineExecutionStartCondition?: PipelineExecutionStartCondition;
2117 }
2118 export type SecurityGroupIds = NonEmptyString[];
2119 export type SnsTopicArn = string;
2120 export interface StartImagePipelineExecutionRequest {
2121 /**
2122 * The Amazon Resource Name (ARN) of the image pipeline that you want to manually invoke.
2123 */
2124 imagePipelineArn: ImagePipelineArn;
2125 /**
2126 * The idempotency token used to make this request idempotent.
2127 */
2128 clientToken: ClientToken;
2129 }
2130 export interface StartImagePipelineExecutionResponse {
2131 /**
2132 * The request ID that uniquely identifies this request.
2133 */
2134 requestId?: NonEmptyString;
2135 /**
2136 * The idempotency token used to make this request idempotent.
2137 */
2138 clientToken?: ClientToken;
2139 /**
2140 * The Amazon Resource Name (ARN) of the image that was created by this request.
2141 */
2142 imageBuildVersionArn?: ImageBuildVersionArn;
2143 }
2144 export type StringList = NonEmptyString[];
2145 export type TagKey = string;
2146 export type TagKeyList = TagKey[];
2147 export type TagMap = {[key: string]: TagValue};
2148 export interface TagResourceRequest {
2149 /**
2150 * The Amazon Resource Name (ARN) of the resource that you want to tag.
2151 */
2152 resourceArn: ImageBuilderArn;
2153 /**
2154 * The tags to apply to the resource.
2155 */
2156 tags: TagMap;
2157 }
2158 export interface TagResourceResponse {
2159 }
2160 export type TagValue = string;
2161 export interface UntagResourceRequest {
2162 /**
2163 * The Amazon Resource Name (ARN) of the resource that you want to untag.
2164 */
2165 resourceArn: ImageBuilderArn;
2166 /**
2167 * The tag keys to remove from the resource.
2168 */
2169 tagKeys: TagKeyList;
2170 }
2171 export interface UntagResourceResponse {
2172 }
2173 export interface UpdateDistributionConfigurationRequest {
2174 /**
2175 * The Amazon Resource Name (ARN) of the distribution configuration that you want to update.
2176 */
2177 distributionConfigurationArn: DistributionConfigurationArn;
2178 /**
2179 * The description of the distribution configuration.
2180 */
2181 description?: NonEmptyString;
2182 /**
2183 * The distributions of the distribution configuration.
2184 */
2185 distributions: DistributionList;
2186 /**
2187 * The idempotency token of the distribution configuration.
2188 */
2189 clientToken: ClientToken;
2190 }
2191 export interface UpdateDistributionConfigurationResponse {
2192 /**
2193 * The request ID that uniquely identifies this request.
2194 */
2195 requestId?: NonEmptyString;
2196 /**
2197 * The idempotency token used to make this request idempotent.
2198 */
2199 clientToken?: ClientToken;
2200 /**
2201 * The Amazon Resource Name (ARN) of the distribution configuration that was updated by this request.
2202 */
2203 distributionConfigurationArn?: DistributionConfigurationArn;
2204 }
2205 export interface UpdateImagePipelineRequest {
2206 /**
2207 * The Amazon Resource Name (ARN) of the image pipeline that you want to update.
2208 */
2209 imagePipelineArn: ImagePipelineArn;
2210 /**
2211 * The description of the image pipeline.
2212 */
2213 description?: NonEmptyString;
2214 /**
2215 * The Amazon Resource Name (ARN) of the image recipe that will be used to configure images updated by this image pipeline.
2216 */
2217 imageRecipeArn: ImageRecipeArn;
2218 /**
2219 * The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images updated by this image pipeline.
2220 */
2221 infrastructureConfigurationArn: InfrastructureConfigurationArn;
2222 /**
2223 * The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images updated by this image pipeline.
2224 */
2225 distributionConfigurationArn?: DistributionConfigurationArn;
2226 /**
2227 * The image test configuration of the image pipeline.
2228 */
2229 imageTestsConfiguration?: ImageTestsConfiguration;
2230 /**
2231 * Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.
2232 */
2233 enhancedImageMetadataEnabled?: NullableBoolean;
2234 /**
2235 * The schedule of the image pipeline.
2236 */
2237 schedule?: Schedule;
2238 /**
2239 * The status of the image pipeline.
2240 */
2241 status?: PipelineStatus;
2242 /**
2243 * The idempotency token used to make this request idempotent.
2244 */
2245 clientToken: ClientToken;
2246 }
2247 export interface UpdateImagePipelineResponse {
2248 /**
2249 * The request ID that uniquely identifies this request.
2250 */
2251 requestId?: NonEmptyString;
2252 /**
2253 * The idempotency token used to make this request idempotent.
2254 */
2255 clientToken?: ClientToken;
2256 /**
2257 * The Amazon Resource Name (ARN) of the image pipeline that was updated by this request.
2258 */
2259 imagePipelineArn?: ImagePipelineArn;
2260 }
2261 export interface UpdateInfrastructureConfigurationRequest {
2262 /**
2263 * The Amazon Resource Name (ARN) of the infrastructure configuration that you want to update.
2264 */
2265 infrastructureConfigurationArn: InfrastructureConfigurationArn;
2266 /**
2267 * The description of the infrastructure configuration.
2268 */
2269 description?: NonEmptyString;
2270 /**
2271 * The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.
2272 */
2273 instanceTypes?: InstanceTypeList;
2274 /**
2275 * The instance profile to associate with the instance used to customize your EC2 AMI.
2276 */
2277 instanceProfileName: NonEmptyString;
2278 /**
2279 * The security group IDs to associate with the instance used to customize your EC2 AMI.
2280 */
2281 securityGroupIds?: SecurityGroupIds;
2282 /**
2283 * The subnet ID to place the instance used to customize your EC2 AMI in.
2284 */
2285 subnetId?: NonEmptyString;
2286 /**
2287 * The logging configuration of the infrastructure configuration.
2288 */
2289 logging?: Logging;
2290 /**
2291 * The key pair of the infrastructure configuration. This can be used to log on to and debug the instance used to create your image.
2292 */
2293 keyPair?: NonEmptyString;
2294 /**
2295 * The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.
2296 */
2297 terminateInstanceOnFailure?: NullableBoolean;
2298 /**
2299 * The SNS topic on which to send image build events.
2300 */
2301 snsTopicArn?: SnsTopicArn;
2302 /**
2303 * The idempotency token used to make this request idempotent.
2304 */
2305 clientToken: ClientToken;
2306 }
2307 export interface UpdateInfrastructureConfigurationResponse {
2308 /**
2309 * The request ID that uniquely identifies this request.
2310 */
2311 requestId?: NonEmptyString;
2312 /**
2313 * The idempotency token used to make this request idempotent.
2314 */
2315 clientToken?: ClientToken;
2316 /**
2317 * The Amazon Resource Name (ARN) of the infrastructure configuration that was updated by this request.
2318 */
2319 infrastructureConfigurationArn?: InfrastructureConfigurationArn;
2320 }
2321 export type Uri = string;
2322 export type VersionNumber = string;
2323 /**
2324 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
2325 */
2326 export type apiVersion = "2019-12-02"|"latest"|string;
2327 export interface ClientApiVersions {
2328 /**
2329 * A string in YYYY-MM-DD format that represents the latest possible API version that can be used in this service. Specify 'latest' to use the latest possible version.
2330 */
2331 apiVersion?: apiVersion;
2332 }
2333 export type ClientConfiguration = ServiceConfigurationOptions & ClientApiVersions;
2334 /**
2335 * Contains interfaces for use with the Imagebuilder client.
2336 */
2337 export import Types = Imagebuilder;
2338}
2339export = Imagebuilder;