aws-sdk-imagebuilder 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a7c9d097dfe48249214e13e1f90473ad670745c0
4
+ data.tar.gz: 534f4c1b9c452d56bf6ce1383233b80ea6cbf073
5
+ SHA512:
6
+ metadata.gz: 344d65a1164eb8fc98b82bbcf3ac15357836c74b634be05c93b05810e30126c6eacb7605b0ad4eb3e158bc2bb4d45a826d172abf55264df175e800f16b66f6f9
7
+ data.tar.gz: 34fa0a5e4d1c0ed0071404be3a930e3b672ac249e4b82c823a3eadd21fd72fe06002f8627e802e26cad545d7aa67eee533de6abae393ee9c607965695bb99f0a
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-imagebuilder/types'
12
+ require_relative 'aws-sdk-imagebuilder/client_api'
13
+ require_relative 'aws-sdk-imagebuilder/client'
14
+ require_relative 'aws-sdk-imagebuilder/errors'
15
+ require_relative 'aws-sdk-imagebuilder/resource'
16
+ require_relative 'aws-sdk-imagebuilder/customizations'
17
+
18
+ # This module provides support for EC2 Image Builder. This module is available in the
19
+ # `aws-sdk-imagebuilder` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from EC2 Image Builder all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Imagebuilder::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Imagebuilder
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,2526 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:imagebuilder)
31
+
32
+ module Aws::Imagebuilder
33
+ class Client < Seahorse::Client::Base
34
+
35
+ include Aws::ClientStubs
36
+
37
+ @identifier = :imagebuilder
38
+
39
+ set_api(ClientApi::API)
40
+
41
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
42
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
43
+ add_plugin(Aws::Plugins::Logging)
44
+ add_plugin(Aws::Plugins::ParamConverter)
45
+ add_plugin(Aws::Plugins::ParamValidator)
46
+ add_plugin(Aws::Plugins::UserAgent)
47
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
48
+ add_plugin(Aws::Plugins::RetryErrors)
49
+ add_plugin(Aws::Plugins::GlobalConfiguration)
50
+ add_plugin(Aws::Plugins::RegionalEndpoint)
51
+ add_plugin(Aws::Plugins::EndpointDiscovery)
52
+ add_plugin(Aws::Plugins::EndpointPattern)
53
+ add_plugin(Aws::Plugins::ResponsePaging)
54
+ add_plugin(Aws::Plugins::StubResponses)
55
+ add_plugin(Aws::Plugins::IdempotencyToken)
56
+ add_plugin(Aws::Plugins::JsonvalueConverter)
57
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
60
+ add_plugin(Aws::Plugins::SignatureV4)
61
+ add_plugin(Aws::Plugins::Protocols::RestJson)
62
+
63
+ # @overload initialize(options)
64
+ # @param [Hash] options
65
+ # @option options [required, Aws::CredentialProvider] :credentials
66
+ # Your AWS credentials. This can be an instance of any one of the
67
+ # following classes:
68
+ #
69
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
70
+ # credentials.
71
+ #
72
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
73
+ # from an EC2 IMDS on an EC2 instance.
74
+ #
75
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
76
+ # shared file, such as `~/.aws/config`.
77
+ #
78
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
79
+ #
80
+ # When `:credentials` are not configured directly, the following
81
+ # locations will be searched for credentials:
82
+ #
83
+ # * `Aws.config[:credentials]`
84
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
85
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
86
+ # * `~/.aws/credentials`
87
+ # * `~/.aws/config`
88
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
89
+ # very aggressive. Construct and pass an instance of
90
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
91
+ # timeouts.
92
+ #
93
+ # @option options [required, String] :region
94
+ # The AWS region to connect to. The configured `:region` is
95
+ # used to determine the service `:endpoint`. When not passed,
96
+ # a default `:region` is search for in the following locations:
97
+ #
98
+ # * `Aws.config[:region]`
99
+ # * `ENV['AWS_REGION']`
100
+ # * `ENV['AMAZON_REGION']`
101
+ # * `ENV['AWS_DEFAULT_REGION']`
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ #
105
+ # @option options [String] :access_key_id
106
+ #
107
+ # @option options [Boolean] :active_endpoint_cache (false)
108
+ # When set to `true`, a thread polling for endpoints will be running in
109
+ # the background every 60 secs (default). Defaults to `false`.
110
+ #
111
+ # @option options [Boolean] :client_side_monitoring (false)
112
+ # When `true`, client-side metrics will be collected for all API requests from
113
+ # this client.
114
+ #
115
+ # @option options [String] :client_side_monitoring_client_id ("")
116
+ # Allows you to provide an identifier for this client which will be attached to
117
+ # all generated client side metrics. Defaults to an empty string.
118
+ #
119
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
120
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
121
+ # side monitoring agent is running on, where client metrics will be published via UDP.
122
+ #
123
+ # @option options [Integer] :client_side_monitoring_port (31000)
124
+ # Required for publishing client metrics. The port that the client side monitoring
125
+ # agent is running on, where client metrics will be published via UDP.
126
+ #
127
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
128
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
129
+ # will use the Client Side Monitoring Agent Publisher.
130
+ #
131
+ # @option options [Boolean] :convert_params (true)
132
+ # When `true`, an attempt is made to coerce request parameters into
133
+ # the required types.
134
+ #
135
+ # @option options [Boolean] :disable_host_prefix_injection (false)
136
+ # Set to true to disable SDK automatically adding host prefix
137
+ # to default service endpoint when available.
138
+ #
139
+ # @option options [String] :endpoint
140
+ # The client endpoint is normally constructed from the `:region`
141
+ # option. You should only configure an `:endpoint` when connecting
142
+ # to test endpoints. This should be avalid HTTP(S) URI.
143
+ #
144
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
145
+ # Used for the maximum size limit of the LRU cache storing endpoints data
146
+ # for endpoint discovery enabled operations. Defaults to 1000.
147
+ #
148
+ # @option options [Integer] :endpoint_cache_max_threads (10)
149
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
150
+ #
151
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
152
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
153
+ # Use this option to config the time interval in seconds for making
154
+ # requests fetching endpoints information. Defaults to 60 sec.
155
+ #
156
+ # @option options [Boolean] :endpoint_discovery (false)
157
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
158
+ #
159
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
+ # The log formatter.
161
+ #
162
+ # @option options [Symbol] :log_level (:info)
163
+ # The log level to send messages to the `:logger` at.
164
+ #
165
+ # @option options [Logger] :logger
166
+ # The Logger instance to send log messages to. If this option
167
+ # is not set, logging will be disabled.
168
+ #
169
+ # @option options [String] :profile ("default")
170
+ # Used when loading credentials from the shared credentials file
171
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
172
+ #
173
+ # @option options [Float] :retry_base_delay (0.3)
174
+ # The base delay in seconds used by the default backoff function.
175
+ #
176
+ # @option options [Symbol] :retry_jitter (:none)
177
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
178
+ #
179
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
+ #
181
+ # @option options [Integer] :retry_limit (3)
182
+ # The maximum number of times to retry failed requests. Only
183
+ # ~ 500 level server errors and certain ~ 400 level client errors
184
+ # are retried. Generally, these are throttling errors, data
185
+ # checksum errors, networking errors, timeout errors and auth
186
+ # errors from expired credentials.
187
+ #
188
+ # @option options [Integer] :retry_max_delay (0)
189
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
190
+ #
191
+ # @option options [String] :secret_access_key
192
+ #
193
+ # @option options [String] :session_token
194
+ #
195
+ # @option options [Boolean] :stub_responses (false)
196
+ # Causes the client to return stubbed responses. By default
197
+ # fake responses are generated and returned. You can specify
198
+ # the response data to return or errors to raise by calling
199
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
200
+ #
201
+ # ** Please note ** When response stubbing is enabled, no HTTP
202
+ # requests are made, and retries are disabled.
203
+ #
204
+ # @option options [Boolean] :validate_params (true)
205
+ # When `true`, request parameters are validated before
206
+ # sending the request.
207
+ #
208
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
209
+ # requests through. Formatted like 'http://proxy.com:123'.
210
+ #
211
+ # @option options [Float] :http_open_timeout (15) The number of
212
+ # seconds to wait when opening a HTTP session before rasing a
213
+ # `Timeout::Error`.
214
+ #
215
+ # @option options [Integer] :http_read_timeout (60) The default
216
+ # number of seconds to wait for response data. This value can
217
+ # safely be set
218
+ # per-request on the session yeidled by {#session_for}.
219
+ #
220
+ # @option options [Float] :http_idle_timeout (5) The number of
221
+ # seconds a connection is allowed to sit idble before it is
222
+ # considered stale. Stale connections are closed and removed
223
+ # from the pool before making a request.
224
+ #
225
+ # @option options [Float] :http_continue_timeout (1) The number of
226
+ # seconds to wait for a 100-continue response before sending the
227
+ # request body. This option has no effect unless the request has
228
+ # "Expect" header set to "100-continue". Defaults to `nil` which
229
+ # disables this behaviour. This value can safely be set per
230
+ # request on the session yeidled by {#session_for}.
231
+ #
232
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
233
+ # HTTP debug output will be sent to the `:logger`.
234
+ #
235
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
236
+ # SSL peer certificates are verified when establishing a
237
+ # connection.
238
+ #
239
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
240
+ # certificate authority bundle file that should be used when
241
+ # verifying peer certificates. If you do not pass
242
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
243
+ # will be used if available.
244
+ #
245
+ # @option options [String] :ssl_ca_directory Full path of the
246
+ # directory that contains the unbundled SSL certificate
247
+ # authority files for verifying peer certificates. If you do
248
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
249
+ # system default will be used if available.
250
+ #
251
+ def initialize(*args)
252
+ super
253
+ end
254
+
255
+ # @!group API Operations
256
+
257
+ # CancelImageCreation cancels the creation of Image. This operation may
258
+ # only be used on images in a non-terminal state.
259
+ #
260
+ # @option params [required, String] :image_build_version_arn
261
+ # The Amazon Resource Name (ARN) of the image whose creation you wish to
262
+ # cancel.
263
+ #
264
+ # @option params [required, String] :client_token
265
+ # The idempotency token used to make this request idempotent.
266
+ #
267
+ # @return [Types::CancelImageCreationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
268
+ #
269
+ # * {Types::CancelImageCreationResponse#request_id #request_id} => String
270
+ # * {Types::CancelImageCreationResponse#client_token #client_token} => String
271
+ # * {Types::CancelImageCreationResponse#image_build_version_arn #image_build_version_arn} => String
272
+ #
273
+ # @example Request syntax with placeholder values
274
+ #
275
+ # resp = client.cancel_image_creation({
276
+ # image_build_version_arn: "ImageBuildVersionArn", # required
277
+ # client_token: "ClientToken", # required
278
+ # })
279
+ #
280
+ # @example Response structure
281
+ #
282
+ # resp.request_id #=> String
283
+ # resp.client_token #=> String
284
+ # resp.image_build_version_arn #=> String
285
+ #
286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CancelImageCreation AWS API Documentation
287
+ #
288
+ # @overload cancel_image_creation(params = {})
289
+ # @param [Hash] params ({})
290
+ def cancel_image_creation(params = {}, options = {})
291
+ req = build_request(:cancel_image_creation, params)
292
+ req.send_request(options)
293
+ end
294
+
295
+ # Creates a new component that can be used to build, validate, test and
296
+ # assess your image.
297
+ #
298
+ # @option params [required, String] :name
299
+ # The name of the component.
300
+ #
301
+ # @option params [required, String] :semantic_version
302
+ # The semantic version of the component. This version to follow the
303
+ # semantic version syntax. i.e. major.minor.patch. This could be
304
+ # versioned like software 2.0.1 or date like 2019.12.01.
305
+ #
306
+ # @option params [String] :description
307
+ # CThe description of the component. Describes the contents of the
308
+ # component.
309
+ #
310
+ # @option params [String] :change_description
311
+ # CThe change description of the component. Describes what change has
312
+ # been made in this version. In other words what makes this version
313
+ # different from other versions of this component.
314
+ #
315
+ # @option params [required, String] :platform
316
+ # CThe platform of the component.
317
+ #
318
+ # @option params [String] :data
319
+ # CThe data of the component.
320
+ #
321
+ # @option params [String] :uri
322
+ # CThe uri of the component.
323
+ #
324
+ # @option params [String] :kms_key_id
325
+ # The ID of the KMS key that should be used to encrypt this component.
326
+ #
327
+ # @option params [Hash<String,String>] :tags
328
+ # CThe tags of the component.
329
+ #
330
+ # @option params [required, String] :client_token
331
+ # CThe idempotency token of the component.
332
+ #
333
+ # **A suitable default value is auto-generated.** You should normally
334
+ # not need to pass this option.**
335
+ #
336
+ # @return [Types::CreateComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
337
+ #
338
+ # * {Types::CreateComponentResponse#request_id #request_id} => String
339
+ # * {Types::CreateComponentResponse#client_token #client_token} => String
340
+ # * {Types::CreateComponentResponse#component_build_version_arn #component_build_version_arn} => String
341
+ #
342
+ # @example Request syntax with placeholder values
343
+ #
344
+ # resp = client.create_component({
345
+ # name: "ResourceName", # required
346
+ # semantic_version: "VersionNumber", # required
347
+ # description: "NonEmptyString",
348
+ # change_description: "NonEmptyString",
349
+ # platform: "Windows", # required, accepts Windows, Linux
350
+ # data: "InlineComponentData",
351
+ # uri: "Uri",
352
+ # kms_key_id: "NonEmptyString",
353
+ # tags: {
354
+ # "TagKey" => "TagValue",
355
+ # },
356
+ # client_token: "ClientToken", # required
357
+ # })
358
+ #
359
+ # @example Response structure
360
+ #
361
+ # resp.request_id #=> String
362
+ # resp.client_token #=> String
363
+ # resp.component_build_version_arn #=> String
364
+ #
365
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateComponent AWS API Documentation
366
+ #
367
+ # @overload create_component(params = {})
368
+ # @param [Hash] params ({})
369
+ def create_component(params = {}, options = {})
370
+ req = build_request(:create_component, params)
371
+ req.send_request(options)
372
+ end
373
+
374
+ # Creates a new distribution configuration. Distribution configurations
375
+ # define and configure the outputs of your pipeline.
376
+ #
377
+ # @option params [required, String] :name
378
+ # The name of the distribution configuration.
379
+ #
380
+ # @option params [String] :description
381
+ # The description of the distribution configuration.
382
+ #
383
+ # @option params [required, Array<Types::Distribution>] :distributions
384
+ # The distributions of the distribution configuration.
385
+ #
386
+ # @option params [Hash<String,String>] :tags
387
+ # The tags of the distribution configuration.
388
+ #
389
+ # @option params [required, String] :client_token
390
+ # The idempotency token of the distribution configuration.
391
+ #
392
+ # **A suitable default value is auto-generated.** You should normally
393
+ # not need to pass this option.**
394
+ #
395
+ # @return [Types::CreateDistributionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
396
+ #
397
+ # * {Types::CreateDistributionConfigurationResponse#request_id #request_id} => String
398
+ # * {Types::CreateDistributionConfigurationResponse#client_token #client_token} => String
399
+ # * {Types::CreateDistributionConfigurationResponse#distribution_configuration_arn #distribution_configuration_arn} => String
400
+ #
401
+ # @example Request syntax with placeholder values
402
+ #
403
+ # resp = client.create_distribution_configuration({
404
+ # name: "ResourceName", # required
405
+ # description: "NonEmptyString",
406
+ # distributions: [ # required
407
+ # {
408
+ # region: "NonEmptyString", # required
409
+ # ami_distribution_configuration: {
410
+ # name: "NonEmptyString",
411
+ # description: "NonEmptyString",
412
+ # ami_tags: {
413
+ # "TagKey" => "TagValue",
414
+ # },
415
+ # launch_permission: {
416
+ # user_ids: ["NonEmptyString"],
417
+ # user_groups: ["NonEmptyString"],
418
+ # },
419
+ # },
420
+ # license_configuration_arns: ["Arn"],
421
+ # },
422
+ # ],
423
+ # tags: {
424
+ # "TagKey" => "TagValue",
425
+ # },
426
+ # client_token: "ClientToken", # required
427
+ # })
428
+ #
429
+ # @example Response structure
430
+ #
431
+ # resp.request_id #=> String
432
+ # resp.client_token #=> String
433
+ # resp.distribution_configuration_arn #=> String
434
+ #
435
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateDistributionConfiguration AWS API Documentation
436
+ #
437
+ # @overload create_distribution_configuration(params = {})
438
+ # @param [Hash] params ({})
439
+ def create_distribution_configuration(params = {}, options = {})
440
+ req = build_request(:create_distribution_configuration, params)
441
+ req.send_request(options)
442
+ end
443
+
444
+ # Creates a new image. This request will create a new image along with
445
+ # all of the configured output resources defined in the distribution
446
+ # configuration.
447
+ #
448
+ # @option params [required, String] :image_recipe_arn
449
+ # The Amazon Resource Name (ARN) of the image recipe that defines how
450
+ # images are configured, tested and assessed.
451
+ #
452
+ # @option params [String] :distribution_configuration_arn
453
+ # The Amazon Resource Name (ARN) of the distribution configuration that
454
+ # defines and configures the outputs of your pipeline.
455
+ #
456
+ # @option params [required, String] :infrastructure_configuration_arn
457
+ # The Amazon Resource Name (ARN) of the infrastructure configuration
458
+ # that defines the environment in which your image will be built and
459
+ # tested.
460
+ #
461
+ # @option params [Types::ImageTestsConfiguration] :image_tests_configuration
462
+ # The image tests configuration of the image.
463
+ #
464
+ # @option params [Hash<String,String>] :tags
465
+ # The tags of the image.
466
+ #
467
+ # @option params [required, String] :client_token
468
+ # The idempotency token used to make this request idempotent.
469
+ #
470
+ # **A suitable default value is auto-generated.** You should normally
471
+ # not need to pass this option.**
472
+ #
473
+ # @return [Types::CreateImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
474
+ #
475
+ # * {Types::CreateImageResponse#request_id #request_id} => String
476
+ # * {Types::CreateImageResponse#client_token #client_token} => String
477
+ # * {Types::CreateImageResponse#image_build_version_arn #image_build_version_arn} => String
478
+ #
479
+ # @example Request syntax with placeholder values
480
+ #
481
+ # resp = client.create_image({
482
+ # image_recipe_arn: "ImageRecipeArn", # required
483
+ # distribution_configuration_arn: "DistributionConfigurationArn",
484
+ # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
485
+ # image_tests_configuration: {
486
+ # image_tests_enabled: false,
487
+ # timeout_minutes: 1,
488
+ # },
489
+ # tags: {
490
+ # "TagKey" => "TagValue",
491
+ # },
492
+ # client_token: "ClientToken", # required
493
+ # })
494
+ #
495
+ # @example Response structure
496
+ #
497
+ # resp.request_id #=> String
498
+ # resp.client_token #=> String
499
+ # resp.image_build_version_arn #=> String
500
+ #
501
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImage AWS API Documentation
502
+ #
503
+ # @overload create_image(params = {})
504
+ # @param [Hash] params ({})
505
+ def create_image(params = {}, options = {})
506
+ req = build_request(:create_image, params)
507
+ req.send_request(options)
508
+ end
509
+
510
+ # Creates a new image pipeline. Image pipelines enable you to automate
511
+ # the creation and distribution of images.
512
+ #
513
+ # @option params [required, String] :name
514
+ # The name of the image pipeline.
515
+ #
516
+ # @option params [String] :description
517
+ # The description of the image pipeline.
518
+ #
519
+ # @option params [required, String] :image_recipe_arn
520
+ # The Amazon Resource Name (ARN) of the image recipe that will be used
521
+ # to configure images created by this image pipeline.
522
+ #
523
+ # @option params [required, String] :infrastructure_configuration_arn
524
+ # The Amazon Resource Name (ARN) of the infrastructure configuration
525
+ # that will be used to build images created by this image pipeline.
526
+ #
527
+ # @option params [String] :distribution_configuration_arn
528
+ # The Amazon Resource Name (ARN) of the distribution configuration that
529
+ # will be used to configure and distribute images created by this image
530
+ # pipeline.
531
+ #
532
+ # @option params [Types::ImageTestsConfiguration] :image_tests_configuration
533
+ # The image test configuration of the image pipeline.
534
+ #
535
+ # @option params [Types::Schedule] :schedule
536
+ # The schedule of the image pipeline.
537
+ #
538
+ # @option params [String] :status
539
+ # The status of the image pipeline.
540
+ #
541
+ # @option params [Hash<String,String>] :tags
542
+ # The tags of the image pipeline.
543
+ #
544
+ # @option params [required, String] :client_token
545
+ # The idempotency token used to make this request idempotent.
546
+ #
547
+ # **A suitable default value is auto-generated.** You should normally
548
+ # not need to pass this option.**
549
+ #
550
+ # @return [Types::CreateImagePipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
551
+ #
552
+ # * {Types::CreateImagePipelineResponse#request_id #request_id} => String
553
+ # * {Types::CreateImagePipelineResponse#client_token #client_token} => String
554
+ # * {Types::CreateImagePipelineResponse#image_pipeline_arn #image_pipeline_arn} => String
555
+ #
556
+ # @example Request syntax with placeholder values
557
+ #
558
+ # resp = client.create_image_pipeline({
559
+ # name: "ResourceName", # required
560
+ # description: "NonEmptyString",
561
+ # image_recipe_arn: "ImageRecipeArn", # required
562
+ # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
563
+ # distribution_configuration_arn: "DistributionConfigurationArn",
564
+ # image_tests_configuration: {
565
+ # image_tests_enabled: false,
566
+ # timeout_minutes: 1,
567
+ # },
568
+ # schedule: {
569
+ # schedule_expression: "NonEmptyString",
570
+ # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
571
+ # },
572
+ # status: "DISABLED", # accepts DISABLED, ENABLED
573
+ # tags: {
574
+ # "TagKey" => "TagValue",
575
+ # },
576
+ # client_token: "ClientToken", # required
577
+ # })
578
+ #
579
+ # @example Response structure
580
+ #
581
+ # resp.request_id #=> String
582
+ # resp.client_token #=> String
583
+ # resp.image_pipeline_arn #=> String
584
+ #
585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImagePipeline AWS API Documentation
586
+ #
587
+ # @overload create_image_pipeline(params = {})
588
+ # @param [Hash] params ({})
589
+ def create_image_pipeline(params = {}, options = {})
590
+ req = build_request(:create_image_pipeline, params)
591
+ req.send_request(options)
592
+ end
593
+
594
+ # Creates a new image recipe. Image Recipes defines how images are
595
+ # configured, tested and assessed.
596
+ #
597
+ # @option params [required, String] :name
598
+ # The name of the image recipe.
599
+ #
600
+ # @option params [String] :description
601
+ # The description of the image recipe.
602
+ #
603
+ # @option params [required, String] :semantic_version
604
+ # The semantic version of the image recipe.
605
+ #
606
+ # @option params [required, Array<Types::ComponentConfiguration>] :components
607
+ # The components of the image recipe.
608
+ #
609
+ # @option params [required, String] :parent_image
610
+ # The parent image of the image recipe.
611
+ #
612
+ # @option params [Array<Types::InstanceBlockDeviceMapping>] :block_device_mappings
613
+ # The block device mappings of the image recipe.
614
+ #
615
+ # @option params [Hash<String,String>] :tags
616
+ # The tags of the image recipe.
617
+ #
618
+ # @option params [required, String] :client_token
619
+ # The idempotency token used to make this request idempotent.
620
+ #
621
+ # **A suitable default value is auto-generated.** You should normally
622
+ # not need to pass this option.**
623
+ #
624
+ # @return [Types::CreateImageRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
625
+ #
626
+ # * {Types::CreateImageRecipeResponse#request_id #request_id} => String
627
+ # * {Types::CreateImageRecipeResponse#client_token #client_token} => String
628
+ # * {Types::CreateImageRecipeResponse#image_recipe_arn #image_recipe_arn} => String
629
+ #
630
+ # @example Request syntax with placeholder values
631
+ #
632
+ # resp = client.create_image_recipe({
633
+ # name: "ResourceName", # required
634
+ # description: "NonEmptyString",
635
+ # semantic_version: "VersionNumber", # required
636
+ # components: [ # required
637
+ # {
638
+ # component_arn: "ComponentBuildVersionArn", # required
639
+ # },
640
+ # ],
641
+ # parent_image: "NonEmptyString", # required
642
+ # block_device_mappings: [
643
+ # {
644
+ # device_name: "NonEmptyString",
645
+ # ebs: {
646
+ # encrypted: false,
647
+ # delete_on_termination: false,
648
+ # iops: 1,
649
+ # kms_key_id: "NonEmptyString",
650
+ # snapshot_id: "NonEmptyString",
651
+ # volume_size: 1,
652
+ # volume_type: "standard", # accepts standard, io1, gp2, sc1, st1
653
+ # },
654
+ # virtual_name: "NonEmptyString",
655
+ # no_device: "NonEmptyString",
656
+ # },
657
+ # ],
658
+ # tags: {
659
+ # "TagKey" => "TagValue",
660
+ # },
661
+ # client_token: "ClientToken", # required
662
+ # })
663
+ #
664
+ # @example Response structure
665
+ #
666
+ # resp.request_id #=> String
667
+ # resp.client_token #=> String
668
+ # resp.image_recipe_arn #=> String
669
+ #
670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateImageRecipe AWS API Documentation
671
+ #
672
+ # @overload create_image_recipe(params = {})
673
+ # @param [Hash] params ({})
674
+ def create_image_recipe(params = {}, options = {})
675
+ req = build_request(:create_image_recipe, params)
676
+ req.send_request(options)
677
+ end
678
+
679
+ # Creates a new infrastructure configuration. An infrastructure
680
+ # configuration defines the environment in which your image will be
681
+ # built and tested.
682
+ #
683
+ # @option params [required, String] :name
684
+ # The name of the infrastructure configuration.
685
+ #
686
+ # @option params [String] :description
687
+ # The description of the infrastructure configuration.
688
+ #
689
+ # @option params [Array<String>] :instance_types
690
+ # The instance types of the infrastructure configuration. You may
691
+ # specify one or more instance types to use for this build, the service
692
+ # will pick one of these instance types based on availability.
693
+ #
694
+ # @option params [required, String] :instance_profile_name
695
+ # The instance profile to associate with the instance used to customize
696
+ # your EC2 AMI.
697
+ #
698
+ # @option params [Array<String>] :security_group_ids
699
+ # The security group IDs to associate with the instance used to
700
+ # customize your EC2 AMI.
701
+ #
702
+ # @option params [String] :subnet_id
703
+ # The subnet ID to place the instance used to customize your EC2 AMI in.
704
+ #
705
+ # @option params [Types::Logging] :logging
706
+ # The logging configuration of the infrastructure configuration.
707
+ #
708
+ # @option params [String] :key_pair
709
+ # The key pair of the infrastructure configuration. This can be used to
710
+ # log onto and debug the instance used to create your image.
711
+ #
712
+ # @option params [Boolean] :terminate_instance_on_failure
713
+ # The terminate instance on failure setting of the infrastructure
714
+ # configuration. Set to false if you wish for Image Builder to retain
715
+ # the instance used to configure your AMI in the event that the build or
716
+ # test phase of your workflow failed.
717
+ #
718
+ # @option params [String] :sns_topic_arn
719
+ # The SNS topic on which to send image build events.
720
+ #
721
+ # @option params [Hash<String,String>] :tags
722
+ # The tags of the infrastructure configuration.
723
+ #
724
+ # @option params [required, String] :client_token
725
+ # The idempotency token used to make this request idempotent.
726
+ #
727
+ # **A suitable default value is auto-generated.** You should normally
728
+ # not need to pass this option.**
729
+ #
730
+ # @return [Types::CreateInfrastructureConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::CreateInfrastructureConfigurationResponse#request_id #request_id} => String
733
+ # * {Types::CreateInfrastructureConfigurationResponse#client_token #client_token} => String
734
+ # * {Types::CreateInfrastructureConfigurationResponse#infrastructure_configuration_arn #infrastructure_configuration_arn} => String
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.create_infrastructure_configuration({
739
+ # name: "ResourceName", # required
740
+ # description: "NonEmptyString",
741
+ # instance_types: ["InstanceType"],
742
+ # instance_profile_name: "NonEmptyString", # required
743
+ # security_group_ids: ["NonEmptyString"],
744
+ # subnet_id: "NonEmptyString",
745
+ # logging: {
746
+ # s3_logs: {
747
+ # s3_bucket_name: "NonEmptyString",
748
+ # s3_key_prefix: "NonEmptyString",
749
+ # },
750
+ # },
751
+ # key_pair: "NonEmptyString",
752
+ # terminate_instance_on_failure: false,
753
+ # sns_topic_arn: "NonEmptyString",
754
+ # tags: {
755
+ # "TagKey" => "TagValue",
756
+ # },
757
+ # client_token: "ClientToken", # required
758
+ # })
759
+ #
760
+ # @example Response structure
761
+ #
762
+ # resp.request_id #=> String
763
+ # resp.client_token #=> String
764
+ # resp.infrastructure_configuration_arn #=> String
765
+ #
766
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/CreateInfrastructureConfiguration AWS API Documentation
767
+ #
768
+ # @overload create_infrastructure_configuration(params = {})
769
+ # @param [Hash] params ({})
770
+ def create_infrastructure_configuration(params = {}, options = {})
771
+ req = build_request(:create_infrastructure_configuration, params)
772
+ req.send_request(options)
773
+ end
774
+
775
+ # Deletes a component build version.
776
+ #
777
+ # @option params [required, String] :component_build_version_arn
778
+ # The Amazon Resource Name (ARN) of the component build version to
779
+ # delete.
780
+ #
781
+ # @return [Types::DeleteComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
782
+ #
783
+ # * {Types::DeleteComponentResponse#request_id #request_id} => String
784
+ # * {Types::DeleteComponentResponse#component_build_version_arn #component_build_version_arn} => String
785
+ #
786
+ # @example Request syntax with placeholder values
787
+ #
788
+ # resp = client.delete_component({
789
+ # component_build_version_arn: "ComponentBuildVersionArn", # required
790
+ # })
791
+ #
792
+ # @example Response structure
793
+ #
794
+ # resp.request_id #=> String
795
+ # resp.component_build_version_arn #=> String
796
+ #
797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteComponent AWS API Documentation
798
+ #
799
+ # @overload delete_component(params = {})
800
+ # @param [Hash] params ({})
801
+ def delete_component(params = {}, options = {})
802
+ req = build_request(:delete_component, params)
803
+ req.send_request(options)
804
+ end
805
+
806
+ # Deletes a distribution configuration.
807
+ #
808
+ # @option params [required, String] :distribution_configuration_arn
809
+ # The Amazon Resource Name (ARN) of the distribution configuration to
810
+ # delete.
811
+ #
812
+ # @return [Types::DeleteDistributionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
813
+ #
814
+ # * {Types::DeleteDistributionConfigurationResponse#request_id #request_id} => String
815
+ # * {Types::DeleteDistributionConfigurationResponse#distribution_configuration_arn #distribution_configuration_arn} => String
816
+ #
817
+ # @example Request syntax with placeholder values
818
+ #
819
+ # resp = client.delete_distribution_configuration({
820
+ # distribution_configuration_arn: "DistributionConfigurationArn", # required
821
+ # })
822
+ #
823
+ # @example Response structure
824
+ #
825
+ # resp.request_id #=> String
826
+ # resp.distribution_configuration_arn #=> String
827
+ #
828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteDistributionConfiguration AWS API Documentation
829
+ #
830
+ # @overload delete_distribution_configuration(params = {})
831
+ # @param [Hash] params ({})
832
+ def delete_distribution_configuration(params = {}, options = {})
833
+ req = build_request(:delete_distribution_configuration, params)
834
+ req.send_request(options)
835
+ end
836
+
837
+ # Deletes an image.
838
+ #
839
+ # @option params [required, String] :image_build_version_arn
840
+ # The Amazon Resource Name (ARN) of the image to delete.
841
+ #
842
+ # @return [Types::DeleteImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
843
+ #
844
+ # * {Types::DeleteImageResponse#request_id #request_id} => String
845
+ # * {Types::DeleteImageResponse#image_build_version_arn #image_build_version_arn} => String
846
+ #
847
+ # @example Request syntax with placeholder values
848
+ #
849
+ # resp = client.delete_image({
850
+ # image_build_version_arn: "ImageBuildVersionArn", # required
851
+ # })
852
+ #
853
+ # @example Response structure
854
+ #
855
+ # resp.request_id #=> String
856
+ # resp.image_build_version_arn #=> String
857
+ #
858
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImage AWS API Documentation
859
+ #
860
+ # @overload delete_image(params = {})
861
+ # @param [Hash] params ({})
862
+ def delete_image(params = {}, options = {})
863
+ req = build_request(:delete_image, params)
864
+ req.send_request(options)
865
+ end
866
+
867
+ # Deletes an image pipeline.
868
+ #
869
+ # @option params [required, String] :image_pipeline_arn
870
+ # The Amazon Resource Name (ARN) of the image pipeline to delete.
871
+ #
872
+ # @return [Types::DeleteImagePipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
873
+ #
874
+ # * {Types::DeleteImagePipelineResponse#request_id #request_id} => String
875
+ # * {Types::DeleteImagePipelineResponse#image_pipeline_arn #image_pipeline_arn} => String
876
+ #
877
+ # @example Request syntax with placeholder values
878
+ #
879
+ # resp = client.delete_image_pipeline({
880
+ # image_pipeline_arn: "ImagePipelineArn", # required
881
+ # })
882
+ #
883
+ # @example Response structure
884
+ #
885
+ # resp.request_id #=> String
886
+ # resp.image_pipeline_arn #=> String
887
+ #
888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImagePipeline AWS API Documentation
889
+ #
890
+ # @overload delete_image_pipeline(params = {})
891
+ # @param [Hash] params ({})
892
+ def delete_image_pipeline(params = {}, options = {})
893
+ req = build_request(:delete_image_pipeline, params)
894
+ req.send_request(options)
895
+ end
896
+
897
+ # Deletes an image recipe.
898
+ #
899
+ # @option params [required, String] :image_recipe_arn
900
+ # The Amazon Resource Name (ARN) of the image recipe to delete.
901
+ #
902
+ # @return [Types::DeleteImageRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
903
+ #
904
+ # * {Types::DeleteImageRecipeResponse#request_id #request_id} => String
905
+ # * {Types::DeleteImageRecipeResponse#image_recipe_arn #image_recipe_arn} => String
906
+ #
907
+ # @example Request syntax with placeholder values
908
+ #
909
+ # resp = client.delete_image_recipe({
910
+ # image_recipe_arn: "ImageRecipeArn", # required
911
+ # })
912
+ #
913
+ # @example Response structure
914
+ #
915
+ # resp.request_id #=> String
916
+ # resp.image_recipe_arn #=> String
917
+ #
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteImageRecipe AWS API Documentation
919
+ #
920
+ # @overload delete_image_recipe(params = {})
921
+ # @param [Hash] params ({})
922
+ def delete_image_recipe(params = {}, options = {})
923
+ req = build_request(:delete_image_recipe, params)
924
+ req.send_request(options)
925
+ end
926
+
927
+ # Deletes an infrastructure configuration.
928
+ #
929
+ # @option params [required, String] :infrastructure_configuration_arn
930
+ # The Amazon Resource Name (ARN) of the infrastructure configuration to
931
+ # delete.
932
+ #
933
+ # @return [Types::DeleteInfrastructureConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
934
+ #
935
+ # * {Types::DeleteInfrastructureConfigurationResponse#request_id #request_id} => String
936
+ # * {Types::DeleteInfrastructureConfigurationResponse#infrastructure_configuration_arn #infrastructure_configuration_arn} => String
937
+ #
938
+ # @example Request syntax with placeholder values
939
+ #
940
+ # resp = client.delete_infrastructure_configuration({
941
+ # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
942
+ # })
943
+ #
944
+ # @example Response structure
945
+ #
946
+ # resp.request_id #=> String
947
+ # resp.infrastructure_configuration_arn #=> String
948
+ #
949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/DeleteInfrastructureConfiguration AWS API Documentation
950
+ #
951
+ # @overload delete_infrastructure_configuration(params = {})
952
+ # @param [Hash] params ({})
953
+ def delete_infrastructure_configuration(params = {}, options = {})
954
+ req = build_request(:delete_infrastructure_configuration, params)
955
+ req.send_request(options)
956
+ end
957
+
958
+ # Gets a component object.
959
+ #
960
+ # @option params [required, String] :component_build_version_arn
961
+ # The Amazon Resource Name (ARN) of the component that you wish to
962
+ # retrieve.
963
+ #
964
+ # @return [Types::GetComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
965
+ #
966
+ # * {Types::GetComponentResponse#request_id #request_id} => String
967
+ # * {Types::GetComponentResponse#component #component} => Types::Component
968
+ #
969
+ # @example Request syntax with placeholder values
970
+ #
971
+ # resp = client.get_component({
972
+ # component_build_version_arn: "ComponentBuildVersionArn", # required
973
+ # })
974
+ #
975
+ # @example Response structure
976
+ #
977
+ # resp.request_id #=> String
978
+ # resp.component.arn #=> String
979
+ # resp.component.name #=> String
980
+ # resp.component.version #=> String
981
+ # resp.component.description #=> String
982
+ # resp.component.change_description #=> String
983
+ # resp.component.type #=> String, one of "BUILD", "TEST"
984
+ # resp.component.platform #=> String, one of "Windows", "Linux"
985
+ # resp.component.owner #=> String
986
+ # resp.component.data #=> String
987
+ # resp.component.kms_key_id #=> String
988
+ # resp.component.encrypted #=> Boolean
989
+ # resp.component.date_created #=> String
990
+ # resp.component.tags #=> Hash
991
+ # resp.component.tags["TagKey"] #=> String
992
+ #
993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponent AWS API Documentation
994
+ #
995
+ # @overload get_component(params = {})
996
+ # @param [Hash] params ({})
997
+ def get_component(params = {}, options = {})
998
+ req = build_request(:get_component, params)
999
+ req.send_request(options)
1000
+ end
1001
+
1002
+ # Gets a component policy.
1003
+ #
1004
+ # @option params [required, String] :component_arn
1005
+ # The Amazon Resource Name (ARN) of the component whose policy you wish
1006
+ # to retrieve.
1007
+ #
1008
+ # @return [Types::GetComponentPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1009
+ #
1010
+ # * {Types::GetComponentPolicyResponse#request_id #request_id} => String
1011
+ # * {Types::GetComponentPolicyResponse#policy #policy} => String
1012
+ #
1013
+ # @example Request syntax with placeholder values
1014
+ #
1015
+ # resp = client.get_component_policy({
1016
+ # component_arn: "ComponentBuildVersionArn", # required
1017
+ # })
1018
+ #
1019
+ # @example Response structure
1020
+ #
1021
+ # resp.request_id #=> String
1022
+ # resp.policy #=> String
1023
+ #
1024
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetComponentPolicy AWS API Documentation
1025
+ #
1026
+ # @overload get_component_policy(params = {})
1027
+ # @param [Hash] params ({})
1028
+ def get_component_policy(params = {}, options = {})
1029
+ req = build_request(:get_component_policy, params)
1030
+ req.send_request(options)
1031
+ end
1032
+
1033
+ # Gets a distribution configuration.
1034
+ #
1035
+ # @option params [required, String] :distribution_configuration_arn
1036
+ # The Amazon Resource Name (ARN) of the distribution configuration that
1037
+ # you wish to retrieve.
1038
+ #
1039
+ # @return [Types::GetDistributionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1040
+ #
1041
+ # * {Types::GetDistributionConfigurationResponse#request_id #request_id} => String
1042
+ # * {Types::GetDistributionConfigurationResponse#distribution_configuration #distribution_configuration} => Types::DistributionConfiguration
1043
+ #
1044
+ # @example Request syntax with placeholder values
1045
+ #
1046
+ # resp = client.get_distribution_configuration({
1047
+ # distribution_configuration_arn: "DistributionConfigurationArn", # required
1048
+ # })
1049
+ #
1050
+ # @example Response structure
1051
+ #
1052
+ # resp.request_id #=> String
1053
+ # resp.distribution_configuration.arn #=> String
1054
+ # resp.distribution_configuration.name #=> String
1055
+ # resp.distribution_configuration.description #=> String
1056
+ # resp.distribution_configuration.distributions #=> Array
1057
+ # resp.distribution_configuration.distributions[0].region #=> String
1058
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.name #=> String
1059
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.description #=> String
1060
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.ami_tags #=> Hash
1061
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.ami_tags["TagKey"] #=> String
1062
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids #=> Array
1063
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids[0] #=> String
1064
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups #=> Array
1065
+ # resp.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups[0] #=> String
1066
+ # resp.distribution_configuration.distributions[0].license_configuration_arns #=> Array
1067
+ # resp.distribution_configuration.distributions[0].license_configuration_arns[0] #=> String
1068
+ # resp.distribution_configuration.timeout_minutes #=> Integer
1069
+ # resp.distribution_configuration.date_created #=> String
1070
+ # resp.distribution_configuration.date_updated #=> String
1071
+ # resp.distribution_configuration.tags #=> Hash
1072
+ # resp.distribution_configuration.tags["TagKey"] #=> String
1073
+ #
1074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetDistributionConfiguration AWS API Documentation
1075
+ #
1076
+ # @overload get_distribution_configuration(params = {})
1077
+ # @param [Hash] params ({})
1078
+ def get_distribution_configuration(params = {}, options = {})
1079
+ req = build_request(:get_distribution_configuration, params)
1080
+ req.send_request(options)
1081
+ end
1082
+
1083
+ # Gets an image.
1084
+ #
1085
+ # @option params [required, String] :image_build_version_arn
1086
+ # The Amazon Resource Name (ARN) of the image that you wish to retrieve.
1087
+ #
1088
+ # @return [Types::GetImageResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1089
+ #
1090
+ # * {Types::GetImageResponse#request_id #request_id} => String
1091
+ # * {Types::GetImageResponse#image #image} => Types::Image
1092
+ #
1093
+ # @example Request syntax with placeholder values
1094
+ #
1095
+ # resp = client.get_image({
1096
+ # image_build_version_arn: "ImageBuildVersionArn", # required
1097
+ # })
1098
+ #
1099
+ # @example Response structure
1100
+ #
1101
+ # resp.request_id #=> String
1102
+ # resp.image.arn #=> String
1103
+ # resp.image.name #=> String
1104
+ # resp.image.version #=> String
1105
+ # resp.image.platform #=> String, one of "Windows", "Linux"
1106
+ # resp.image.state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1107
+ # resp.image.state.reason #=> String
1108
+ # resp.image.image_recipe.arn #=> String
1109
+ # resp.image.image_recipe.name #=> String
1110
+ # resp.image.image_recipe.description #=> String
1111
+ # resp.image.image_recipe.platform #=> String, one of "Windows", "Linux"
1112
+ # resp.image.image_recipe.owner #=> String
1113
+ # resp.image.image_recipe.version #=> String
1114
+ # resp.image.image_recipe.components #=> Array
1115
+ # resp.image.image_recipe.components[0].component_arn #=> String
1116
+ # resp.image.image_recipe.parent_image #=> String
1117
+ # resp.image.image_recipe.block_device_mappings #=> Array
1118
+ # resp.image.image_recipe.block_device_mappings[0].device_name #=> String
1119
+ # resp.image.image_recipe.block_device_mappings[0].ebs.encrypted #=> Boolean
1120
+ # resp.image.image_recipe.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
1121
+ # resp.image.image_recipe.block_device_mappings[0].ebs.iops #=> Integer
1122
+ # resp.image.image_recipe.block_device_mappings[0].ebs.kms_key_id #=> String
1123
+ # resp.image.image_recipe.block_device_mappings[0].ebs.snapshot_id #=> String
1124
+ # resp.image.image_recipe.block_device_mappings[0].ebs.volume_size #=> Integer
1125
+ # resp.image.image_recipe.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
1126
+ # resp.image.image_recipe.block_device_mappings[0].virtual_name #=> String
1127
+ # resp.image.image_recipe.block_device_mappings[0].no_device #=> String
1128
+ # resp.image.image_recipe.date_created #=> String
1129
+ # resp.image.image_recipe.tags #=> Hash
1130
+ # resp.image.image_recipe.tags["TagKey"] #=> String
1131
+ # resp.image.source_pipeline_name #=> String
1132
+ # resp.image.source_pipeline_arn #=> String
1133
+ # resp.image.infrastructure_configuration.arn #=> String
1134
+ # resp.image.infrastructure_configuration.name #=> String
1135
+ # resp.image.infrastructure_configuration.description #=> String
1136
+ # resp.image.infrastructure_configuration.instance_types #=> Array
1137
+ # resp.image.infrastructure_configuration.instance_types[0] #=> String
1138
+ # resp.image.infrastructure_configuration.instance_profile_name #=> String
1139
+ # resp.image.infrastructure_configuration.security_group_ids #=> Array
1140
+ # resp.image.infrastructure_configuration.security_group_ids[0] #=> String
1141
+ # resp.image.infrastructure_configuration.subnet_id #=> String
1142
+ # resp.image.infrastructure_configuration.logging.s3_logs.s3_bucket_name #=> String
1143
+ # resp.image.infrastructure_configuration.logging.s3_logs.s3_key_prefix #=> String
1144
+ # resp.image.infrastructure_configuration.key_pair #=> String
1145
+ # resp.image.infrastructure_configuration.terminate_instance_on_failure #=> Boolean
1146
+ # resp.image.infrastructure_configuration.sns_topic_arn #=> String
1147
+ # resp.image.infrastructure_configuration.date_created #=> String
1148
+ # resp.image.infrastructure_configuration.date_updated #=> String
1149
+ # resp.image.infrastructure_configuration.tags #=> Hash
1150
+ # resp.image.infrastructure_configuration.tags["TagKey"] #=> String
1151
+ # resp.image.distribution_configuration.arn #=> String
1152
+ # resp.image.distribution_configuration.name #=> String
1153
+ # resp.image.distribution_configuration.description #=> String
1154
+ # resp.image.distribution_configuration.distributions #=> Array
1155
+ # resp.image.distribution_configuration.distributions[0].region #=> String
1156
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.name #=> String
1157
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.description #=> String
1158
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.ami_tags #=> Hash
1159
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.ami_tags["TagKey"] #=> String
1160
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids #=> Array
1161
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_ids[0] #=> String
1162
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups #=> Array
1163
+ # resp.image.distribution_configuration.distributions[0].ami_distribution_configuration.launch_permission.user_groups[0] #=> String
1164
+ # resp.image.distribution_configuration.distributions[0].license_configuration_arns #=> Array
1165
+ # resp.image.distribution_configuration.distributions[0].license_configuration_arns[0] #=> String
1166
+ # resp.image.distribution_configuration.timeout_minutes #=> Integer
1167
+ # resp.image.distribution_configuration.date_created #=> String
1168
+ # resp.image.distribution_configuration.date_updated #=> String
1169
+ # resp.image.distribution_configuration.tags #=> Hash
1170
+ # resp.image.distribution_configuration.tags["TagKey"] #=> String
1171
+ # resp.image.image_tests_configuration.image_tests_enabled #=> Boolean
1172
+ # resp.image.image_tests_configuration.timeout_minutes #=> Integer
1173
+ # resp.image.date_created #=> String
1174
+ # resp.image.output_resources.amis #=> Array
1175
+ # resp.image.output_resources.amis[0].region #=> String
1176
+ # resp.image.output_resources.amis[0].image #=> String
1177
+ # resp.image.output_resources.amis[0].name #=> String
1178
+ # resp.image.output_resources.amis[0].description #=> String
1179
+ # resp.image.output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1180
+ # resp.image.output_resources.amis[0].state.reason #=> String
1181
+ # resp.image.tags #=> Hash
1182
+ # resp.image.tags["TagKey"] #=> String
1183
+ #
1184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImage AWS API Documentation
1185
+ #
1186
+ # @overload get_image(params = {})
1187
+ # @param [Hash] params ({})
1188
+ def get_image(params = {}, options = {})
1189
+ req = build_request(:get_image, params)
1190
+ req.send_request(options)
1191
+ end
1192
+
1193
+ # Gets an image pipeline.
1194
+ #
1195
+ # @option params [required, String] :image_pipeline_arn
1196
+ # The Amazon Resource Name (ARN) of the image pipeline that you wish to
1197
+ # retrieve.
1198
+ #
1199
+ # @return [Types::GetImagePipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1200
+ #
1201
+ # * {Types::GetImagePipelineResponse#request_id #request_id} => String
1202
+ # * {Types::GetImagePipelineResponse#image_pipeline #image_pipeline} => Types::ImagePipeline
1203
+ #
1204
+ # @example Request syntax with placeholder values
1205
+ #
1206
+ # resp = client.get_image_pipeline({
1207
+ # image_pipeline_arn: "ImagePipelineArn", # required
1208
+ # })
1209
+ #
1210
+ # @example Response structure
1211
+ #
1212
+ # resp.request_id #=> String
1213
+ # resp.image_pipeline.arn #=> String
1214
+ # resp.image_pipeline.name #=> String
1215
+ # resp.image_pipeline.description #=> String
1216
+ # resp.image_pipeline.platform #=> String, one of "Windows", "Linux"
1217
+ # resp.image_pipeline.image_recipe_arn #=> String
1218
+ # resp.image_pipeline.infrastructure_configuration_arn #=> String
1219
+ # resp.image_pipeline.distribution_configuration_arn #=> String
1220
+ # resp.image_pipeline.image_tests_configuration.image_tests_enabled #=> Boolean
1221
+ # resp.image_pipeline.image_tests_configuration.timeout_minutes #=> Integer
1222
+ # resp.image_pipeline.schedule.schedule_expression #=> String
1223
+ # resp.image_pipeline.schedule.pipeline_execution_start_condition #=> String, one of "EXPRESSION_MATCH_ONLY", "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
1224
+ # resp.image_pipeline.status #=> String, one of "DISABLED", "ENABLED"
1225
+ # resp.image_pipeline.date_created #=> String
1226
+ # resp.image_pipeline.date_updated #=> String
1227
+ # resp.image_pipeline.date_last_run #=> String
1228
+ # resp.image_pipeline.date_next_run #=> String
1229
+ # resp.image_pipeline.tags #=> Hash
1230
+ # resp.image_pipeline.tags["TagKey"] #=> String
1231
+ #
1232
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePipeline AWS API Documentation
1233
+ #
1234
+ # @overload get_image_pipeline(params = {})
1235
+ # @param [Hash] params ({})
1236
+ def get_image_pipeline(params = {}, options = {})
1237
+ req = build_request(:get_image_pipeline, params)
1238
+ req.send_request(options)
1239
+ end
1240
+
1241
+ # Gets an image policy.
1242
+ #
1243
+ # @option params [required, String] :image_arn
1244
+ # The Amazon Resource Name (ARN) of the image whose policy you wish to
1245
+ # retrieve.
1246
+ #
1247
+ # @return [Types::GetImagePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1248
+ #
1249
+ # * {Types::GetImagePolicyResponse#request_id #request_id} => String
1250
+ # * {Types::GetImagePolicyResponse#policy #policy} => String
1251
+ #
1252
+ # @example Request syntax with placeholder values
1253
+ #
1254
+ # resp = client.get_image_policy({
1255
+ # image_arn: "ImageBuildVersionArn", # required
1256
+ # })
1257
+ #
1258
+ # @example Response structure
1259
+ #
1260
+ # resp.request_id #=> String
1261
+ # resp.policy #=> String
1262
+ #
1263
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImagePolicy AWS API Documentation
1264
+ #
1265
+ # @overload get_image_policy(params = {})
1266
+ # @param [Hash] params ({})
1267
+ def get_image_policy(params = {}, options = {})
1268
+ req = build_request(:get_image_policy, params)
1269
+ req.send_request(options)
1270
+ end
1271
+
1272
+ # Gets an image recipe.
1273
+ #
1274
+ # @option params [required, String] :image_recipe_arn
1275
+ # The Amazon Resource Name (ARN) of the image recipe that you wish to
1276
+ # retrieve.
1277
+ #
1278
+ # @return [Types::GetImageRecipeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1279
+ #
1280
+ # * {Types::GetImageRecipeResponse#request_id #request_id} => String
1281
+ # * {Types::GetImageRecipeResponse#image_recipe #image_recipe} => Types::ImageRecipe
1282
+ #
1283
+ # @example Request syntax with placeholder values
1284
+ #
1285
+ # resp = client.get_image_recipe({
1286
+ # image_recipe_arn: "ImageRecipeArn", # required
1287
+ # })
1288
+ #
1289
+ # @example Response structure
1290
+ #
1291
+ # resp.request_id #=> String
1292
+ # resp.image_recipe.arn #=> String
1293
+ # resp.image_recipe.name #=> String
1294
+ # resp.image_recipe.description #=> String
1295
+ # resp.image_recipe.platform #=> String, one of "Windows", "Linux"
1296
+ # resp.image_recipe.owner #=> String
1297
+ # resp.image_recipe.version #=> String
1298
+ # resp.image_recipe.components #=> Array
1299
+ # resp.image_recipe.components[0].component_arn #=> String
1300
+ # resp.image_recipe.parent_image #=> String
1301
+ # resp.image_recipe.block_device_mappings #=> Array
1302
+ # resp.image_recipe.block_device_mappings[0].device_name #=> String
1303
+ # resp.image_recipe.block_device_mappings[0].ebs.encrypted #=> Boolean
1304
+ # resp.image_recipe.block_device_mappings[0].ebs.delete_on_termination #=> Boolean
1305
+ # resp.image_recipe.block_device_mappings[0].ebs.iops #=> Integer
1306
+ # resp.image_recipe.block_device_mappings[0].ebs.kms_key_id #=> String
1307
+ # resp.image_recipe.block_device_mappings[0].ebs.snapshot_id #=> String
1308
+ # resp.image_recipe.block_device_mappings[0].ebs.volume_size #=> Integer
1309
+ # resp.image_recipe.block_device_mappings[0].ebs.volume_type #=> String, one of "standard", "io1", "gp2", "sc1", "st1"
1310
+ # resp.image_recipe.block_device_mappings[0].virtual_name #=> String
1311
+ # resp.image_recipe.block_device_mappings[0].no_device #=> String
1312
+ # resp.image_recipe.date_created #=> String
1313
+ # resp.image_recipe.tags #=> Hash
1314
+ # resp.image_recipe.tags["TagKey"] #=> String
1315
+ #
1316
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipe AWS API Documentation
1317
+ #
1318
+ # @overload get_image_recipe(params = {})
1319
+ # @param [Hash] params ({})
1320
+ def get_image_recipe(params = {}, options = {})
1321
+ req = build_request(:get_image_recipe, params)
1322
+ req.send_request(options)
1323
+ end
1324
+
1325
+ # Gets an image recipe policy.
1326
+ #
1327
+ # @option params [required, String] :image_recipe_arn
1328
+ # The Amazon Resource Name (ARN) of the image recipe whose policy you
1329
+ # wish to retrieve.
1330
+ #
1331
+ # @return [Types::GetImageRecipePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1332
+ #
1333
+ # * {Types::GetImageRecipePolicyResponse#request_id #request_id} => String
1334
+ # * {Types::GetImageRecipePolicyResponse#policy #policy} => String
1335
+ #
1336
+ # @example Request syntax with placeholder values
1337
+ #
1338
+ # resp = client.get_image_recipe_policy({
1339
+ # image_recipe_arn: "ImageRecipeArn", # required
1340
+ # })
1341
+ #
1342
+ # @example Response structure
1343
+ #
1344
+ # resp.request_id #=> String
1345
+ # resp.policy #=> String
1346
+ #
1347
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetImageRecipePolicy AWS API Documentation
1348
+ #
1349
+ # @overload get_image_recipe_policy(params = {})
1350
+ # @param [Hash] params ({})
1351
+ def get_image_recipe_policy(params = {}, options = {})
1352
+ req = build_request(:get_image_recipe_policy, params)
1353
+ req.send_request(options)
1354
+ end
1355
+
1356
+ # Gets a infrastructure configuration.
1357
+ #
1358
+ # @option params [required, String] :infrastructure_configuration_arn
1359
+ # The Amazon Resource Name (ARN) of the infrastructure configuration
1360
+ # that you wish to retrieve.
1361
+ #
1362
+ # @return [Types::GetInfrastructureConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1363
+ #
1364
+ # * {Types::GetInfrastructureConfigurationResponse#request_id #request_id} => String
1365
+ # * {Types::GetInfrastructureConfigurationResponse#infrastructure_configuration #infrastructure_configuration} => Types::InfrastructureConfiguration
1366
+ #
1367
+ # @example Request syntax with placeholder values
1368
+ #
1369
+ # resp = client.get_infrastructure_configuration({
1370
+ # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
1371
+ # })
1372
+ #
1373
+ # @example Response structure
1374
+ #
1375
+ # resp.request_id #=> String
1376
+ # resp.infrastructure_configuration.arn #=> String
1377
+ # resp.infrastructure_configuration.name #=> String
1378
+ # resp.infrastructure_configuration.description #=> String
1379
+ # resp.infrastructure_configuration.instance_types #=> Array
1380
+ # resp.infrastructure_configuration.instance_types[0] #=> String
1381
+ # resp.infrastructure_configuration.instance_profile_name #=> String
1382
+ # resp.infrastructure_configuration.security_group_ids #=> Array
1383
+ # resp.infrastructure_configuration.security_group_ids[0] #=> String
1384
+ # resp.infrastructure_configuration.subnet_id #=> String
1385
+ # resp.infrastructure_configuration.logging.s3_logs.s3_bucket_name #=> String
1386
+ # resp.infrastructure_configuration.logging.s3_logs.s3_key_prefix #=> String
1387
+ # resp.infrastructure_configuration.key_pair #=> String
1388
+ # resp.infrastructure_configuration.terminate_instance_on_failure #=> Boolean
1389
+ # resp.infrastructure_configuration.sns_topic_arn #=> String
1390
+ # resp.infrastructure_configuration.date_created #=> String
1391
+ # resp.infrastructure_configuration.date_updated #=> String
1392
+ # resp.infrastructure_configuration.tags #=> Hash
1393
+ # resp.infrastructure_configuration.tags["TagKey"] #=> String
1394
+ #
1395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/GetInfrastructureConfiguration AWS API Documentation
1396
+ #
1397
+ # @overload get_infrastructure_configuration(params = {})
1398
+ # @param [Hash] params ({})
1399
+ def get_infrastructure_configuration(params = {}, options = {})
1400
+ req = build_request(:get_infrastructure_configuration, params)
1401
+ req.send_request(options)
1402
+ end
1403
+
1404
+ # Imports a component and transforms its data into a component document.
1405
+ #
1406
+ # @option params [required, String] :name
1407
+ # The name of the component.
1408
+ #
1409
+ # @option params [required, String] :semantic_version
1410
+ # The semantic version of the component. This version to follow the
1411
+ # semantic version syntax. i.e. major.minor.patch. This could be
1412
+ # versioned like software 2.0.1 or date like 2019.12.01.
1413
+ #
1414
+ # @option params [String] :description
1415
+ # The description of the component. Describes the contents of the
1416
+ # component.
1417
+ #
1418
+ # @option params [String] :change_description
1419
+ # The change description of the component. Describes what change has
1420
+ # been made in this version. In other words what makes this version
1421
+ # different from other versions of this component.
1422
+ #
1423
+ # @option params [required, String] :type
1424
+ # The type of the component denotes whether the component is used to
1425
+ # build the image or only to test it.
1426
+ #
1427
+ # @option params [required, String] :format
1428
+ # The format of the resource that you wish to import as a component.
1429
+ #
1430
+ # @option params [required, String] :platform
1431
+ # The platform of the component.
1432
+ #
1433
+ # @option params [String] :data
1434
+ # The data of the component.
1435
+ #
1436
+ # @option params [String] :uri
1437
+ # The uri of the component.
1438
+ #
1439
+ # @option params [String] :kms_key_id
1440
+ # The ID of the KMS key that should be used to encrypt this component.
1441
+ #
1442
+ # @option params [Hash<String,String>] :tags
1443
+ # The tags of the component.
1444
+ #
1445
+ # @option params [required, String] :client_token
1446
+ # The idempotency token of the component.
1447
+ #
1448
+ # **A suitable default value is auto-generated.** You should normally
1449
+ # not need to pass this option.**
1450
+ #
1451
+ # @return [Types::ImportComponentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1452
+ #
1453
+ # * {Types::ImportComponentResponse#request_id #request_id} => String
1454
+ # * {Types::ImportComponentResponse#client_token #client_token} => String
1455
+ # * {Types::ImportComponentResponse#component_build_version_arn #component_build_version_arn} => String
1456
+ #
1457
+ # @example Request syntax with placeholder values
1458
+ #
1459
+ # resp = client.import_component({
1460
+ # name: "ResourceName", # required
1461
+ # semantic_version: "VersionNumber", # required
1462
+ # description: "NonEmptyString",
1463
+ # change_description: "NonEmptyString",
1464
+ # type: "BUILD", # required, accepts BUILD, TEST
1465
+ # format: "SHELL", # required, accepts SHELL
1466
+ # platform: "Windows", # required, accepts Windows, Linux
1467
+ # data: "NonEmptyString",
1468
+ # uri: "Uri",
1469
+ # kms_key_id: "NonEmptyString",
1470
+ # tags: {
1471
+ # "TagKey" => "TagValue",
1472
+ # },
1473
+ # client_token: "ClientToken", # required
1474
+ # })
1475
+ #
1476
+ # @example Response structure
1477
+ #
1478
+ # resp.request_id #=> String
1479
+ # resp.client_token #=> String
1480
+ # resp.component_build_version_arn #=> String
1481
+ #
1482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ImportComponent AWS API Documentation
1483
+ #
1484
+ # @overload import_component(params = {})
1485
+ # @param [Hash] params ({})
1486
+ def import_component(params = {}, options = {})
1487
+ req = build_request(:import_component, params)
1488
+ req.send_request(options)
1489
+ end
1490
+
1491
+ # Returns the list of component build versions for the specified
1492
+ # semantic version.
1493
+ #
1494
+ # @option params [required, String] :component_version_arn
1495
+ # The component version arn whose versions you wish to list.
1496
+ #
1497
+ # @option params [Integer] :max_results
1498
+ # The maximum items to return in a request.
1499
+ #
1500
+ # @option params [String] :next_token
1501
+ # A token to specify where to start paginating. This is the NextToken
1502
+ # from a previously truncated response.
1503
+ #
1504
+ # @return [Types::ListComponentBuildVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1505
+ #
1506
+ # * {Types::ListComponentBuildVersionsResponse#request_id #request_id} => String
1507
+ # * {Types::ListComponentBuildVersionsResponse#component_summary_list #component_summary_list} => Array&lt;Types::ComponentSummary&gt;
1508
+ # * {Types::ListComponentBuildVersionsResponse#next_token #next_token} => String
1509
+ #
1510
+ # @example Request syntax with placeholder values
1511
+ #
1512
+ # resp = client.list_component_build_versions({
1513
+ # component_version_arn: "ComponentVersionArn", # required
1514
+ # max_results: 1,
1515
+ # next_token: "NonEmptyString",
1516
+ # })
1517
+ #
1518
+ # @example Response structure
1519
+ #
1520
+ # resp.request_id #=> String
1521
+ # resp.component_summary_list #=> Array
1522
+ # resp.component_summary_list[0].arn #=> String
1523
+ # resp.component_summary_list[0].name #=> String
1524
+ # resp.component_summary_list[0].version #=> String
1525
+ # resp.component_summary_list[0].platform #=> String, one of "Windows", "Linux"
1526
+ # resp.component_summary_list[0].type #=> String, one of "BUILD", "TEST"
1527
+ # resp.component_summary_list[0].owner #=> String
1528
+ # resp.component_summary_list[0].description #=> String
1529
+ # resp.component_summary_list[0].change_description #=> String
1530
+ # resp.component_summary_list[0].date_created #=> String
1531
+ # resp.component_summary_list[0].tags #=> Hash
1532
+ # resp.component_summary_list[0].tags["TagKey"] #=> String
1533
+ # resp.next_token #=> String
1534
+ #
1535
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponentBuildVersions AWS API Documentation
1536
+ #
1537
+ # @overload list_component_build_versions(params = {})
1538
+ # @param [Hash] params ({})
1539
+ def list_component_build_versions(params = {}, options = {})
1540
+ req = build_request(:list_component_build_versions, params)
1541
+ req.send_request(options)
1542
+ end
1543
+
1544
+ # Returns the list of component build versions for the specified
1545
+ # semantic version.
1546
+ #
1547
+ # @option params [String] :owner
1548
+ # The owner defines whose components you wish to list. By default this
1549
+ # request will only show components owned by your account. You may use
1550
+ # this field to specify if you wish to view components owned by
1551
+ # yourself, Amazon, or those components that have been shared with you
1552
+ # by other customers.
1553
+ #
1554
+ # @option params [Array<Types::Filter>] :filters
1555
+ #
1556
+ # @option params [Integer] :max_results
1557
+ # The maximum items to return in a request.
1558
+ #
1559
+ # @option params [String] :next_token
1560
+ # A token to specify where to start paginating. This is the NextToken
1561
+ # from a previously truncated response.
1562
+ #
1563
+ # @return [Types::ListComponentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1564
+ #
1565
+ # * {Types::ListComponentsResponse#request_id #request_id} => String
1566
+ # * {Types::ListComponentsResponse#component_version_list #component_version_list} => Array&lt;Types::ComponentVersion&gt;
1567
+ # * {Types::ListComponentsResponse#next_token #next_token} => String
1568
+ #
1569
+ # @example Request syntax with placeholder values
1570
+ #
1571
+ # resp = client.list_components({
1572
+ # owner: "Self", # accepts Self, Shared, Amazon
1573
+ # filters: [
1574
+ # {
1575
+ # name: "FilterName",
1576
+ # values: ["FilterValue"],
1577
+ # },
1578
+ # ],
1579
+ # max_results: 1,
1580
+ # next_token: "NonEmptyString",
1581
+ # })
1582
+ #
1583
+ # @example Response structure
1584
+ #
1585
+ # resp.request_id #=> String
1586
+ # resp.component_version_list #=> Array
1587
+ # resp.component_version_list[0].arn #=> String
1588
+ # resp.component_version_list[0].name #=> String
1589
+ # resp.component_version_list[0].version #=> String
1590
+ # resp.component_version_list[0].description #=> String
1591
+ # resp.component_version_list[0].platform #=> String, one of "Windows", "Linux"
1592
+ # resp.component_version_list[0].type #=> String, one of "BUILD", "TEST"
1593
+ # resp.component_version_list[0].owner #=> String
1594
+ # resp.component_version_list[0].date_created #=> String
1595
+ # resp.next_token #=> String
1596
+ #
1597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListComponents AWS API Documentation
1598
+ #
1599
+ # @overload list_components(params = {})
1600
+ # @param [Hash] params ({})
1601
+ def list_components(params = {}, options = {})
1602
+ req = build_request(:list_components, params)
1603
+ req.send_request(options)
1604
+ end
1605
+
1606
+ # Returns a list of distribution configurations.
1607
+ #
1608
+ # @option params [Array<Types::Filter>] :filters
1609
+ #
1610
+ # @option params [Integer] :max_results
1611
+ # The maximum items to return in a request.
1612
+ #
1613
+ # @option params [String] :next_token
1614
+ # A token to specify where to start paginating. This is the NextToken
1615
+ # from a previously truncated response.
1616
+ #
1617
+ # @return [Types::ListDistributionConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1618
+ #
1619
+ # * {Types::ListDistributionConfigurationsResponse#request_id #request_id} => String
1620
+ # * {Types::ListDistributionConfigurationsResponse#distribution_configuration_summary_list #distribution_configuration_summary_list} => Array&lt;Types::DistributionConfigurationSummary&gt;
1621
+ # * {Types::ListDistributionConfigurationsResponse#next_token #next_token} => String
1622
+ #
1623
+ # @example Request syntax with placeholder values
1624
+ #
1625
+ # resp = client.list_distribution_configurations({
1626
+ # filters: [
1627
+ # {
1628
+ # name: "FilterName",
1629
+ # values: ["FilterValue"],
1630
+ # },
1631
+ # ],
1632
+ # max_results: 1,
1633
+ # next_token: "NonEmptyString",
1634
+ # })
1635
+ #
1636
+ # @example Response structure
1637
+ #
1638
+ # resp.request_id #=> String
1639
+ # resp.distribution_configuration_summary_list #=> Array
1640
+ # resp.distribution_configuration_summary_list[0].arn #=> String
1641
+ # resp.distribution_configuration_summary_list[0].name #=> String
1642
+ # resp.distribution_configuration_summary_list[0].description #=> String
1643
+ # resp.distribution_configuration_summary_list[0].date_created #=> String
1644
+ # resp.distribution_configuration_summary_list[0].date_updated #=> String
1645
+ # resp.distribution_configuration_summary_list[0].tags #=> Hash
1646
+ # resp.distribution_configuration_summary_list[0].tags["TagKey"] #=> String
1647
+ # resp.next_token #=> String
1648
+ #
1649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListDistributionConfigurations AWS API Documentation
1650
+ #
1651
+ # @overload list_distribution_configurations(params = {})
1652
+ # @param [Hash] params ({})
1653
+ def list_distribution_configurations(params = {}, options = {})
1654
+ req = build_request(:list_distribution_configurations, params)
1655
+ req.send_request(options)
1656
+ end
1657
+
1658
+ # Returns a list of distribution configurations.
1659
+ #
1660
+ # @option params [required, String] :image_version_arn
1661
+ # The Amazon Resource Name (ARN) of the image whose build versions you
1662
+ # wish to retrieve.
1663
+ #
1664
+ # @option params [Array<Types::Filter>] :filters
1665
+ #
1666
+ # @option params [Integer] :max_results
1667
+ # The maximum items to return in a request.
1668
+ #
1669
+ # @option params [String] :next_token
1670
+ # A token to specify where to start paginating. This is the NextToken
1671
+ # from a previously truncated response.
1672
+ #
1673
+ # @return [Types::ListImageBuildVersionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1674
+ #
1675
+ # * {Types::ListImageBuildVersionsResponse#request_id #request_id} => String
1676
+ # * {Types::ListImageBuildVersionsResponse#image_summary_list #image_summary_list} => Array&lt;Types::ImageSummary&gt;
1677
+ # * {Types::ListImageBuildVersionsResponse#next_token #next_token} => String
1678
+ #
1679
+ # @example Request syntax with placeholder values
1680
+ #
1681
+ # resp = client.list_image_build_versions({
1682
+ # image_version_arn: "ImageVersionArn", # required
1683
+ # filters: [
1684
+ # {
1685
+ # name: "FilterName",
1686
+ # values: ["FilterValue"],
1687
+ # },
1688
+ # ],
1689
+ # max_results: 1,
1690
+ # next_token: "NonEmptyString",
1691
+ # })
1692
+ #
1693
+ # @example Response structure
1694
+ #
1695
+ # resp.request_id #=> String
1696
+ # resp.image_summary_list #=> Array
1697
+ # resp.image_summary_list[0].arn #=> String
1698
+ # resp.image_summary_list[0].name #=> String
1699
+ # resp.image_summary_list[0].version #=> String
1700
+ # resp.image_summary_list[0].platform #=> String, one of "Windows", "Linux"
1701
+ # resp.image_summary_list[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1702
+ # resp.image_summary_list[0].state.reason #=> String
1703
+ # resp.image_summary_list[0].owner #=> String
1704
+ # resp.image_summary_list[0].date_created #=> String
1705
+ # resp.image_summary_list[0].output_resources.amis #=> Array
1706
+ # resp.image_summary_list[0].output_resources.amis[0].region #=> String
1707
+ # resp.image_summary_list[0].output_resources.amis[0].image #=> String
1708
+ # resp.image_summary_list[0].output_resources.amis[0].name #=> String
1709
+ # resp.image_summary_list[0].output_resources.amis[0].description #=> String
1710
+ # resp.image_summary_list[0].output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1711
+ # resp.image_summary_list[0].output_resources.amis[0].state.reason #=> String
1712
+ # resp.image_summary_list[0].tags #=> Hash
1713
+ # resp.image_summary_list[0].tags["TagKey"] #=> String
1714
+ # resp.next_token #=> String
1715
+ #
1716
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageBuildVersions AWS API Documentation
1717
+ #
1718
+ # @overload list_image_build_versions(params = {})
1719
+ # @param [Hash] params ({})
1720
+ def list_image_build_versions(params = {}, options = {})
1721
+ req = build_request(:list_image_build_versions, params)
1722
+ req.send_request(options)
1723
+ end
1724
+
1725
+ # Returns a list of images created by the specified pipeline.
1726
+ #
1727
+ # @option params [String] :image_pipeline_arn
1728
+ # The Amazon Resource Name (ARN) of the image pipeline whose images you
1729
+ # wish to view.
1730
+ #
1731
+ # @option params [Array<Types::Filter>] :filters
1732
+ #
1733
+ # @option params [Integer] :max_results
1734
+ # The maximum items to return in a request.
1735
+ #
1736
+ # @option params [String] :next_token
1737
+ # A token to specify where to start paginating. This is the NextToken
1738
+ # from a previously truncated response.
1739
+ #
1740
+ # @return [Types::ListImagePipelineImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1741
+ #
1742
+ # * {Types::ListImagePipelineImagesResponse#request_id #request_id} => String
1743
+ # * {Types::ListImagePipelineImagesResponse#image_summary_list #image_summary_list} => Array&lt;Types::ImageSummary&gt;
1744
+ # * {Types::ListImagePipelineImagesResponse#next_token #next_token} => String
1745
+ #
1746
+ # @example Request syntax with placeholder values
1747
+ #
1748
+ # resp = client.list_image_pipeline_images({
1749
+ # image_pipeline_arn: "ImagePipelineArn",
1750
+ # filters: [
1751
+ # {
1752
+ # name: "FilterName",
1753
+ # values: ["FilterValue"],
1754
+ # },
1755
+ # ],
1756
+ # max_results: 1,
1757
+ # next_token: "NonEmptyString",
1758
+ # })
1759
+ #
1760
+ # @example Response structure
1761
+ #
1762
+ # resp.request_id #=> String
1763
+ # resp.image_summary_list #=> Array
1764
+ # resp.image_summary_list[0].arn #=> String
1765
+ # resp.image_summary_list[0].name #=> String
1766
+ # resp.image_summary_list[0].version #=> String
1767
+ # resp.image_summary_list[0].platform #=> String, one of "Windows", "Linux"
1768
+ # resp.image_summary_list[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1769
+ # resp.image_summary_list[0].state.reason #=> String
1770
+ # resp.image_summary_list[0].owner #=> String
1771
+ # resp.image_summary_list[0].date_created #=> String
1772
+ # resp.image_summary_list[0].output_resources.amis #=> Array
1773
+ # resp.image_summary_list[0].output_resources.amis[0].region #=> String
1774
+ # resp.image_summary_list[0].output_resources.amis[0].image #=> String
1775
+ # resp.image_summary_list[0].output_resources.amis[0].name #=> String
1776
+ # resp.image_summary_list[0].output_resources.amis[0].description #=> String
1777
+ # resp.image_summary_list[0].output_resources.amis[0].state.status #=> String, one of "PENDING", "CREATING", "BUILDING", "TESTING", "DISTRIBUTING", "INTEGRATING", "AVAILABLE", "CANCELLED", "FAILED", "DEPRECATED", "DELETED"
1778
+ # resp.image_summary_list[0].output_resources.amis[0].state.reason #=> String
1779
+ # resp.image_summary_list[0].tags #=> Hash
1780
+ # resp.image_summary_list[0].tags["TagKey"] #=> String
1781
+ # resp.next_token #=> String
1782
+ #
1783
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelineImages AWS API Documentation
1784
+ #
1785
+ # @overload list_image_pipeline_images(params = {})
1786
+ # @param [Hash] params ({})
1787
+ def list_image_pipeline_images(params = {}, options = {})
1788
+ req = build_request(:list_image_pipeline_images, params)
1789
+ req.send_request(options)
1790
+ end
1791
+
1792
+ # Returns a list of image pipelines.
1793
+ #
1794
+ # @option params [Array<Types::Filter>] :filters
1795
+ #
1796
+ # @option params [Integer] :max_results
1797
+ # The maximum items to return in a request.
1798
+ #
1799
+ # @option params [String] :next_token
1800
+ # A token to specify where to start paginating. This is the NextToken
1801
+ # from a previously truncated response.
1802
+ #
1803
+ # @return [Types::ListImagePipelinesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1804
+ #
1805
+ # * {Types::ListImagePipelinesResponse#request_id #request_id} => String
1806
+ # * {Types::ListImagePipelinesResponse#image_pipeline_list #image_pipeline_list} => Array&lt;Types::ImagePipeline&gt;
1807
+ # * {Types::ListImagePipelinesResponse#next_token #next_token} => String
1808
+ #
1809
+ # @example Request syntax with placeholder values
1810
+ #
1811
+ # resp = client.list_image_pipelines({
1812
+ # filters: [
1813
+ # {
1814
+ # name: "FilterName",
1815
+ # values: ["FilterValue"],
1816
+ # },
1817
+ # ],
1818
+ # max_results: 1,
1819
+ # next_token: "NonEmptyString",
1820
+ # })
1821
+ #
1822
+ # @example Response structure
1823
+ #
1824
+ # resp.request_id #=> String
1825
+ # resp.image_pipeline_list #=> Array
1826
+ # resp.image_pipeline_list[0].arn #=> String
1827
+ # resp.image_pipeline_list[0].name #=> String
1828
+ # resp.image_pipeline_list[0].description #=> String
1829
+ # resp.image_pipeline_list[0].platform #=> String, one of "Windows", "Linux"
1830
+ # resp.image_pipeline_list[0].image_recipe_arn #=> String
1831
+ # resp.image_pipeline_list[0].infrastructure_configuration_arn #=> String
1832
+ # resp.image_pipeline_list[0].distribution_configuration_arn #=> String
1833
+ # resp.image_pipeline_list[0].image_tests_configuration.image_tests_enabled #=> Boolean
1834
+ # resp.image_pipeline_list[0].image_tests_configuration.timeout_minutes #=> Integer
1835
+ # resp.image_pipeline_list[0].schedule.schedule_expression #=> String
1836
+ # resp.image_pipeline_list[0].schedule.pipeline_execution_start_condition #=> String, one of "EXPRESSION_MATCH_ONLY", "EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE"
1837
+ # resp.image_pipeline_list[0].status #=> String, one of "DISABLED", "ENABLED"
1838
+ # resp.image_pipeline_list[0].date_created #=> String
1839
+ # resp.image_pipeline_list[0].date_updated #=> String
1840
+ # resp.image_pipeline_list[0].date_last_run #=> String
1841
+ # resp.image_pipeline_list[0].date_next_run #=> String
1842
+ # resp.image_pipeline_list[0].tags #=> Hash
1843
+ # resp.image_pipeline_list[0].tags["TagKey"] #=> String
1844
+ # resp.next_token #=> String
1845
+ #
1846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImagePipelines AWS API Documentation
1847
+ #
1848
+ # @overload list_image_pipelines(params = {})
1849
+ # @param [Hash] params ({})
1850
+ def list_image_pipelines(params = {}, options = {})
1851
+ req = build_request(:list_image_pipelines, params)
1852
+ req.send_request(options)
1853
+ end
1854
+
1855
+ # Returns a list of image recipes.
1856
+ #
1857
+ # @option params [String] :owner
1858
+ # The owner defines whose image recipes you wish to list. By default
1859
+ # this request will only show image recipes owned by your account. You
1860
+ # may use this field to specify if you wish to view image recipes owned
1861
+ # by yourself, Amazon, or those image recipes that have been shared with
1862
+ # you by other customers.
1863
+ #
1864
+ # @option params [Array<Types::Filter>] :filters
1865
+ #
1866
+ # @option params [Integer] :max_results
1867
+ # The maximum items to return in a request.
1868
+ #
1869
+ # @option params [String] :next_token
1870
+ # A token to specify where to start paginating. This is the NextToken
1871
+ # from a previously truncated response.
1872
+ #
1873
+ # @return [Types::ListImageRecipesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1874
+ #
1875
+ # * {Types::ListImageRecipesResponse#request_id #request_id} => String
1876
+ # * {Types::ListImageRecipesResponse#image_recipe_summary_list #image_recipe_summary_list} => Array&lt;Types::ImageRecipeSummary&gt;
1877
+ # * {Types::ListImageRecipesResponse#next_token #next_token} => String
1878
+ #
1879
+ # @example Request syntax with placeholder values
1880
+ #
1881
+ # resp = client.list_image_recipes({
1882
+ # owner: "Self", # accepts Self, Shared, Amazon
1883
+ # filters: [
1884
+ # {
1885
+ # name: "FilterName",
1886
+ # values: ["FilterValue"],
1887
+ # },
1888
+ # ],
1889
+ # max_results: 1,
1890
+ # next_token: "NonEmptyString",
1891
+ # })
1892
+ #
1893
+ # @example Response structure
1894
+ #
1895
+ # resp.request_id #=> String
1896
+ # resp.image_recipe_summary_list #=> Array
1897
+ # resp.image_recipe_summary_list[0].arn #=> String
1898
+ # resp.image_recipe_summary_list[0].name #=> String
1899
+ # resp.image_recipe_summary_list[0].platform #=> String, one of "Windows", "Linux"
1900
+ # resp.image_recipe_summary_list[0].owner #=> String
1901
+ # resp.image_recipe_summary_list[0].parent_image #=> String
1902
+ # resp.image_recipe_summary_list[0].date_created #=> String
1903
+ # resp.image_recipe_summary_list[0].tags #=> Hash
1904
+ # resp.image_recipe_summary_list[0].tags["TagKey"] #=> String
1905
+ # resp.next_token #=> String
1906
+ #
1907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImageRecipes AWS API Documentation
1908
+ #
1909
+ # @overload list_image_recipes(params = {})
1910
+ # @param [Hash] params ({})
1911
+ def list_image_recipes(params = {}, options = {})
1912
+ req = build_request(:list_image_recipes, params)
1913
+ req.send_request(options)
1914
+ end
1915
+
1916
+ # Returns the list of image build versions for the specified semantic
1917
+ # version.
1918
+ #
1919
+ # @option params [String] :owner
1920
+ # The owner defines whose images you wish to list. By default this
1921
+ # request will only show images owned by your account. You may use this
1922
+ # field to specify if you wish to view images owned by yourself, Amazon,
1923
+ # or those images that have been shared with you by other customers.
1924
+ #
1925
+ # @option params [Array<Types::Filter>] :filters
1926
+ #
1927
+ # @option params [Integer] :max_results
1928
+ # The maximum items to return in a request.
1929
+ #
1930
+ # @option params [String] :next_token
1931
+ # A token to specify where to start paginating. This is the NextToken
1932
+ # from a previously truncated response.
1933
+ #
1934
+ # @return [Types::ListImagesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1935
+ #
1936
+ # * {Types::ListImagesResponse#request_id #request_id} => String
1937
+ # * {Types::ListImagesResponse#image_version_list #image_version_list} => Array&lt;Types::ImageVersion&gt;
1938
+ # * {Types::ListImagesResponse#next_token #next_token} => String
1939
+ #
1940
+ # @example Request syntax with placeholder values
1941
+ #
1942
+ # resp = client.list_images({
1943
+ # owner: "Self", # accepts Self, Shared, Amazon
1944
+ # filters: [
1945
+ # {
1946
+ # name: "FilterName",
1947
+ # values: ["FilterValue"],
1948
+ # },
1949
+ # ],
1950
+ # max_results: 1,
1951
+ # next_token: "NonEmptyString",
1952
+ # })
1953
+ #
1954
+ # @example Response structure
1955
+ #
1956
+ # resp.request_id #=> String
1957
+ # resp.image_version_list #=> Array
1958
+ # resp.image_version_list[0].arn #=> String
1959
+ # resp.image_version_list[0].name #=> String
1960
+ # resp.image_version_list[0].version #=> String
1961
+ # resp.image_version_list[0].platform #=> String, one of "Windows", "Linux"
1962
+ # resp.image_version_list[0].owner #=> String
1963
+ # resp.image_version_list[0].date_created #=> String
1964
+ # resp.next_token #=> String
1965
+ #
1966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListImages AWS API Documentation
1967
+ #
1968
+ # @overload list_images(params = {})
1969
+ # @param [Hash] params ({})
1970
+ def list_images(params = {}, options = {})
1971
+ req = build_request(:list_images, params)
1972
+ req.send_request(options)
1973
+ end
1974
+
1975
+ # Returns a list of infrastructure configurations.
1976
+ #
1977
+ # @option params [Array<Types::Filter>] :filters
1978
+ #
1979
+ # @option params [Integer] :max_results
1980
+ # The maximum items to return in a request.
1981
+ #
1982
+ # @option params [String] :next_token
1983
+ # A token to specify where to start paginating. This is the NextToken
1984
+ # from a previously truncated response.
1985
+ #
1986
+ # @return [Types::ListInfrastructureConfigurationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1987
+ #
1988
+ # * {Types::ListInfrastructureConfigurationsResponse#request_id #request_id} => String
1989
+ # * {Types::ListInfrastructureConfigurationsResponse#infrastructure_configuration_summary_list #infrastructure_configuration_summary_list} => Array&lt;Types::InfrastructureConfigurationSummary&gt;
1990
+ # * {Types::ListInfrastructureConfigurationsResponse#next_token #next_token} => String
1991
+ #
1992
+ # @example Request syntax with placeholder values
1993
+ #
1994
+ # resp = client.list_infrastructure_configurations({
1995
+ # filters: [
1996
+ # {
1997
+ # name: "FilterName",
1998
+ # values: ["FilterValue"],
1999
+ # },
2000
+ # ],
2001
+ # max_results: 1,
2002
+ # next_token: "NonEmptyString",
2003
+ # })
2004
+ #
2005
+ # @example Response structure
2006
+ #
2007
+ # resp.request_id #=> String
2008
+ # resp.infrastructure_configuration_summary_list #=> Array
2009
+ # resp.infrastructure_configuration_summary_list[0].arn #=> String
2010
+ # resp.infrastructure_configuration_summary_list[0].name #=> String
2011
+ # resp.infrastructure_configuration_summary_list[0].description #=> String
2012
+ # resp.infrastructure_configuration_summary_list[0].date_created #=> String
2013
+ # resp.infrastructure_configuration_summary_list[0].date_updated #=> String
2014
+ # resp.infrastructure_configuration_summary_list[0].tags #=> Hash
2015
+ # resp.infrastructure_configuration_summary_list[0].tags["TagKey"] #=> String
2016
+ # resp.next_token #=> String
2017
+ #
2018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListInfrastructureConfigurations AWS API Documentation
2019
+ #
2020
+ # @overload list_infrastructure_configurations(params = {})
2021
+ # @param [Hash] params ({})
2022
+ def list_infrastructure_configurations(params = {}, options = {})
2023
+ req = build_request(:list_infrastructure_configurations, params)
2024
+ req.send_request(options)
2025
+ end
2026
+
2027
+ # Returns the list of tags for the specified resource.
2028
+ #
2029
+ # @option params [required, String] :resource_arn
2030
+ # The Amazon Resource Name (ARN) of the resource whose tags you wish to
2031
+ # retrieve.
2032
+ #
2033
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2034
+ #
2035
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
2036
+ #
2037
+ # @example Request syntax with placeholder values
2038
+ #
2039
+ # resp = client.list_tags_for_resource({
2040
+ # resource_arn: "ImageBuilderArn", # required
2041
+ # })
2042
+ #
2043
+ # @example Response structure
2044
+ #
2045
+ # resp.tags #=> Hash
2046
+ # resp.tags["TagKey"] #=> String
2047
+ #
2048
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/ListTagsForResource AWS API Documentation
2049
+ #
2050
+ # @overload list_tags_for_resource(params = {})
2051
+ # @param [Hash] params ({})
2052
+ def list_tags_for_resource(params = {}, options = {})
2053
+ req = build_request(:list_tags_for_resource, params)
2054
+ req.send_request(options)
2055
+ end
2056
+
2057
+ # Applies a policy to a component.
2058
+ #
2059
+ # @option params [required, String] :component_arn
2060
+ # The Amazon Resource Name (ARN) of the component that this policy
2061
+ # should be applied to.
2062
+ #
2063
+ # @option params [required, String] :policy
2064
+ # The policy to apply.
2065
+ #
2066
+ # @return [Types::PutComponentPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2067
+ #
2068
+ # * {Types::PutComponentPolicyResponse#request_id #request_id} => String
2069
+ # * {Types::PutComponentPolicyResponse#component_arn #component_arn} => String
2070
+ #
2071
+ # @example Request syntax with placeholder values
2072
+ #
2073
+ # resp = client.put_component_policy({
2074
+ # component_arn: "ComponentBuildVersionArn", # required
2075
+ # policy: "NonEmptyString", # required
2076
+ # })
2077
+ #
2078
+ # @example Response structure
2079
+ #
2080
+ # resp.request_id #=> String
2081
+ # resp.component_arn #=> String
2082
+ #
2083
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutComponentPolicy AWS API Documentation
2084
+ #
2085
+ # @overload put_component_policy(params = {})
2086
+ # @param [Hash] params ({})
2087
+ def put_component_policy(params = {}, options = {})
2088
+ req = build_request(:put_component_policy, params)
2089
+ req.send_request(options)
2090
+ end
2091
+
2092
+ # Applies a policy to an image.
2093
+ #
2094
+ # @option params [required, String] :image_arn
2095
+ # The Amazon Resource Name (ARN) of the image that this policy should be
2096
+ # applied to.
2097
+ #
2098
+ # @option params [required, String] :policy
2099
+ # The policy to apply.
2100
+ #
2101
+ # @return [Types::PutImagePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2102
+ #
2103
+ # * {Types::PutImagePolicyResponse#request_id #request_id} => String
2104
+ # * {Types::PutImagePolicyResponse#image_arn #image_arn} => String
2105
+ #
2106
+ # @example Request syntax with placeholder values
2107
+ #
2108
+ # resp = client.put_image_policy({
2109
+ # image_arn: "ImageBuildVersionArn", # required
2110
+ # policy: "NonEmptyString", # required
2111
+ # })
2112
+ #
2113
+ # @example Response structure
2114
+ #
2115
+ # resp.request_id #=> String
2116
+ # resp.image_arn #=> String
2117
+ #
2118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImagePolicy AWS API Documentation
2119
+ #
2120
+ # @overload put_image_policy(params = {})
2121
+ # @param [Hash] params ({})
2122
+ def put_image_policy(params = {}, options = {})
2123
+ req = build_request(:put_image_policy, params)
2124
+ req.send_request(options)
2125
+ end
2126
+
2127
+ # Applies a policy to an image recipe.
2128
+ #
2129
+ # @option params [required, String] :image_recipe_arn
2130
+ # The Amazon Resource Name (ARN) of the image recipe that this policy
2131
+ # should be applied to.
2132
+ #
2133
+ # @option params [required, String] :policy
2134
+ # The policy to apply.
2135
+ #
2136
+ # @return [Types::PutImageRecipePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2137
+ #
2138
+ # * {Types::PutImageRecipePolicyResponse#request_id #request_id} => String
2139
+ # * {Types::PutImageRecipePolicyResponse#image_recipe_arn #image_recipe_arn} => String
2140
+ #
2141
+ # @example Request syntax with placeholder values
2142
+ #
2143
+ # resp = client.put_image_recipe_policy({
2144
+ # image_recipe_arn: "ImageRecipeArn", # required
2145
+ # policy: "NonEmptyString", # required
2146
+ # })
2147
+ #
2148
+ # @example Response structure
2149
+ #
2150
+ # resp.request_id #=> String
2151
+ # resp.image_recipe_arn #=> String
2152
+ #
2153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/PutImageRecipePolicy AWS API Documentation
2154
+ #
2155
+ # @overload put_image_recipe_policy(params = {})
2156
+ # @param [Hash] params ({})
2157
+ def put_image_recipe_policy(params = {}, options = {})
2158
+ req = build_request(:put_image_recipe_policy, params)
2159
+ req.send_request(options)
2160
+ end
2161
+
2162
+ # Manually triggers a pipeline to create an image.
2163
+ #
2164
+ # @option params [required, String] :image_pipeline_arn
2165
+ # The Amazon Resource Name (ARN) of the image pipeline that you wish to
2166
+ # manually invoke.
2167
+ #
2168
+ # @option params [required, String] :client_token
2169
+ # The idempotency token used to make this request idempotent.
2170
+ #
2171
+ # **A suitable default value is auto-generated.** You should normally
2172
+ # not need to pass this option.**
2173
+ #
2174
+ # @return [Types::StartImagePipelineExecutionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2175
+ #
2176
+ # * {Types::StartImagePipelineExecutionResponse#request_id #request_id} => String
2177
+ # * {Types::StartImagePipelineExecutionResponse#client_token #client_token} => String
2178
+ # * {Types::StartImagePipelineExecutionResponse#image_build_version_arn #image_build_version_arn} => String
2179
+ #
2180
+ # @example Request syntax with placeholder values
2181
+ #
2182
+ # resp = client.start_image_pipeline_execution({
2183
+ # image_pipeline_arn: "ImagePipelineArn", # required
2184
+ # client_token: "ClientToken", # required
2185
+ # })
2186
+ #
2187
+ # @example Response structure
2188
+ #
2189
+ # resp.request_id #=> String
2190
+ # resp.client_token #=> String
2191
+ # resp.image_build_version_arn #=> String
2192
+ #
2193
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/StartImagePipelineExecution AWS API Documentation
2194
+ #
2195
+ # @overload start_image_pipeline_execution(params = {})
2196
+ # @param [Hash] params ({})
2197
+ def start_image_pipeline_execution(params = {}, options = {})
2198
+ req = build_request(:start_image_pipeline_execution, params)
2199
+ req.send_request(options)
2200
+ end
2201
+
2202
+ # Adds a tag to a resource.
2203
+ #
2204
+ # @option params [required, String] :resource_arn
2205
+ # The Amazon Resource Name (ARN) of the resource that you wish to tag.
2206
+ #
2207
+ # @option params [required, Hash<String,String>] :tags
2208
+ # The tags to apply to the resource.
2209
+ #
2210
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2211
+ #
2212
+ # @example Request syntax with placeholder values
2213
+ #
2214
+ # resp = client.tag_resource({
2215
+ # resource_arn: "ImageBuilderArn", # required
2216
+ # tags: { # required
2217
+ # "TagKey" => "TagValue",
2218
+ # },
2219
+ # })
2220
+ #
2221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/TagResource AWS API Documentation
2222
+ #
2223
+ # @overload tag_resource(params = {})
2224
+ # @param [Hash] params ({})
2225
+ def tag_resource(params = {}, options = {})
2226
+ req = build_request(:tag_resource, params)
2227
+ req.send_request(options)
2228
+ end
2229
+
2230
+ # Removes a tag from a resource.
2231
+ #
2232
+ # @option params [required, String] :resource_arn
2233
+ # The Amazon Resource Name (ARN) of the resource that you wish to untag.
2234
+ #
2235
+ # @option params [required, Array<String>] :tag_keys
2236
+ # The tag keys to remove from the resource.
2237
+ #
2238
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2239
+ #
2240
+ # @example Request syntax with placeholder values
2241
+ #
2242
+ # resp = client.untag_resource({
2243
+ # resource_arn: "ImageBuilderArn", # required
2244
+ # tag_keys: ["TagKey"], # required
2245
+ # })
2246
+ #
2247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UntagResource AWS API Documentation
2248
+ #
2249
+ # @overload untag_resource(params = {})
2250
+ # @param [Hash] params ({})
2251
+ def untag_resource(params = {}, options = {})
2252
+ req = build_request(:untag_resource, params)
2253
+ req.send_request(options)
2254
+ end
2255
+
2256
+ # Updates a new distribution configuration. Distribution configurations
2257
+ # define and configure the outputs of your pipeline.
2258
+ #
2259
+ # @option params [required, String] :distribution_configuration_arn
2260
+ # The Amazon Resource Name (ARN) of the distribution configuration that
2261
+ # you wish to update.
2262
+ #
2263
+ # @option params [String] :description
2264
+ # The description of the distribution configuration.
2265
+ #
2266
+ # @option params [Array<Types::Distribution>] :distributions
2267
+ # The distributions of the distribution configuration.
2268
+ #
2269
+ # @option params [required, String] :client_token
2270
+ # The idempotency token of the distribution configuration.
2271
+ #
2272
+ # **A suitable default value is auto-generated.** You should normally
2273
+ # not need to pass this option.**
2274
+ #
2275
+ # @return [Types::UpdateDistributionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2276
+ #
2277
+ # * {Types::UpdateDistributionConfigurationResponse#request_id #request_id} => String
2278
+ # * {Types::UpdateDistributionConfigurationResponse#client_token #client_token} => String
2279
+ # * {Types::UpdateDistributionConfigurationResponse#distribution_configuration_arn #distribution_configuration_arn} => String
2280
+ #
2281
+ # @example Request syntax with placeholder values
2282
+ #
2283
+ # resp = client.update_distribution_configuration({
2284
+ # distribution_configuration_arn: "DistributionConfigurationArn", # required
2285
+ # description: "NonEmptyString",
2286
+ # distributions: [
2287
+ # {
2288
+ # region: "NonEmptyString", # required
2289
+ # ami_distribution_configuration: {
2290
+ # name: "NonEmptyString",
2291
+ # description: "NonEmptyString",
2292
+ # ami_tags: {
2293
+ # "TagKey" => "TagValue",
2294
+ # },
2295
+ # launch_permission: {
2296
+ # user_ids: ["NonEmptyString"],
2297
+ # user_groups: ["NonEmptyString"],
2298
+ # },
2299
+ # },
2300
+ # license_configuration_arns: ["Arn"],
2301
+ # },
2302
+ # ],
2303
+ # client_token: "ClientToken", # required
2304
+ # })
2305
+ #
2306
+ # @example Response structure
2307
+ #
2308
+ # resp.request_id #=> String
2309
+ # resp.client_token #=> String
2310
+ # resp.distribution_configuration_arn #=> String
2311
+ #
2312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateDistributionConfiguration AWS API Documentation
2313
+ #
2314
+ # @overload update_distribution_configuration(params = {})
2315
+ # @param [Hash] params ({})
2316
+ def update_distribution_configuration(params = {}, options = {})
2317
+ req = build_request(:update_distribution_configuration, params)
2318
+ req.send_request(options)
2319
+ end
2320
+
2321
+ # Updates a new image pipeline. Image pipelines enable you to automate
2322
+ # the creation and distribution of images.
2323
+ #
2324
+ # @option params [required, String] :image_pipeline_arn
2325
+ # The Amazon Resource Name (ARN) of the image pipeline that you wish to
2326
+ # update.
2327
+ #
2328
+ # @option params [String] :description
2329
+ # The description of the image pipeline.
2330
+ #
2331
+ # @option params [String] :image_recipe_arn
2332
+ # The Amazon Resource Name (ARN) of the image recipe that will be used
2333
+ # to configure images updated by this image pipeline.
2334
+ #
2335
+ # @option params [String] :infrastructure_configuration_arn
2336
+ # The Amazon Resource Name (ARN) of the infrastructure configuration
2337
+ # that will be used to build images updated by this image pipeline.
2338
+ #
2339
+ # @option params [String] :distribution_configuration_arn
2340
+ # The Amazon Resource Name (ARN) of the distribution configuration that
2341
+ # will be used to configure and distribute images updated by this image
2342
+ # pipeline.
2343
+ #
2344
+ # @option params [Types::ImageTestsConfiguration] :image_tests_configuration
2345
+ # The image test configuration of the image pipeline.
2346
+ #
2347
+ # @option params [Types::Schedule] :schedule
2348
+ # The schedule of the image pipeline.
2349
+ #
2350
+ # @option params [String] :status
2351
+ # The status of the image pipeline.
2352
+ #
2353
+ # @option params [required, String] :client_token
2354
+ # The idempotency token used to make this request idempotent.
2355
+ #
2356
+ # **A suitable default value is auto-generated.** You should normally
2357
+ # not need to pass this option.**
2358
+ #
2359
+ # @return [Types::UpdateImagePipelineResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2360
+ #
2361
+ # * {Types::UpdateImagePipelineResponse#request_id #request_id} => String
2362
+ # * {Types::UpdateImagePipelineResponse#client_token #client_token} => String
2363
+ # * {Types::UpdateImagePipelineResponse#image_pipeline_arn #image_pipeline_arn} => String
2364
+ #
2365
+ # @example Request syntax with placeholder values
2366
+ #
2367
+ # resp = client.update_image_pipeline({
2368
+ # image_pipeline_arn: "ImagePipelineArn", # required
2369
+ # description: "NonEmptyString",
2370
+ # image_recipe_arn: "ImageRecipeArn",
2371
+ # infrastructure_configuration_arn: "InfrastructureConfigurationArn",
2372
+ # distribution_configuration_arn: "DistributionConfigurationArn",
2373
+ # image_tests_configuration: {
2374
+ # image_tests_enabled: false,
2375
+ # timeout_minutes: 1,
2376
+ # },
2377
+ # schedule: {
2378
+ # schedule_expression: "NonEmptyString",
2379
+ # pipeline_execution_start_condition: "EXPRESSION_MATCH_ONLY", # accepts EXPRESSION_MATCH_ONLY, EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE
2380
+ # },
2381
+ # status: "DISABLED", # accepts DISABLED, ENABLED
2382
+ # client_token: "ClientToken", # required
2383
+ # })
2384
+ #
2385
+ # @example Response structure
2386
+ #
2387
+ # resp.request_id #=> String
2388
+ # resp.client_token #=> String
2389
+ # resp.image_pipeline_arn #=> String
2390
+ #
2391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateImagePipeline AWS API Documentation
2392
+ #
2393
+ # @overload update_image_pipeline(params = {})
2394
+ # @param [Hash] params ({})
2395
+ def update_image_pipeline(params = {}, options = {})
2396
+ req = build_request(:update_image_pipeline, params)
2397
+ req.send_request(options)
2398
+ end
2399
+
2400
+ # Updates a new infrastructure configuration. An infrastructure
2401
+ # configuration defines the environment in which your image will be
2402
+ # built and tested.
2403
+ #
2404
+ # @option params [required, String] :infrastructure_configuration_arn
2405
+ # The Amazon Resource Name (ARN) of the infrastructure configuration
2406
+ # that you wish to update.
2407
+ #
2408
+ # @option params [String] :description
2409
+ # The description of the infrastructure configuration.
2410
+ #
2411
+ # @option params [Array<String>] :instance_types
2412
+ # The instance types of the infrastructure configuration. You may
2413
+ # specify one or more instance types to use for this build, the service
2414
+ # will pick one of these instance types based on availability.
2415
+ #
2416
+ # @option params [String] :instance_profile_name
2417
+ # The instance profile to associate with the instance used to customize
2418
+ # your EC2 AMI.
2419
+ #
2420
+ # @option params [Array<String>] :security_group_ids
2421
+ # The security group IDs to associate with the instance used to
2422
+ # customize your EC2 AMI.
2423
+ #
2424
+ # @option params [String] :subnet_id
2425
+ # The subnet ID to place the instance used to customize your EC2 AMI in.
2426
+ #
2427
+ # @option params [Types::Logging] :logging
2428
+ # The logging configuration of the infrastructure configuration.
2429
+ #
2430
+ # @option params [String] :key_pair
2431
+ # The key pair of the infrastructure configuration. This can be used to
2432
+ # log onto and debug the instance used to create your image.
2433
+ #
2434
+ # @option params [Boolean] :terminate_instance_on_failure
2435
+ # The terminate instance on failure setting of the infrastructure
2436
+ # configuration. Set to false if you wish for Image Builder to retain
2437
+ # the instance used to configure your AMI in the event that the build or
2438
+ # test phase of your workflow failed.
2439
+ #
2440
+ # @option params [String] :sns_topic_arn
2441
+ # The SNS topic on which to send image build events.
2442
+ #
2443
+ # @option params [required, String] :client_token
2444
+ # The idempotency token used to make this request idempotent.
2445
+ #
2446
+ # **A suitable default value is auto-generated.** You should normally
2447
+ # not need to pass this option.**
2448
+ #
2449
+ # @return [Types::UpdateInfrastructureConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2450
+ #
2451
+ # * {Types::UpdateInfrastructureConfigurationResponse#request_id #request_id} => String
2452
+ # * {Types::UpdateInfrastructureConfigurationResponse#client_token #client_token} => String
2453
+ # * {Types::UpdateInfrastructureConfigurationResponse#infrastructure_configuration_arn #infrastructure_configuration_arn} => String
2454
+ #
2455
+ # @example Request syntax with placeholder values
2456
+ #
2457
+ # resp = client.update_infrastructure_configuration({
2458
+ # infrastructure_configuration_arn: "InfrastructureConfigurationArn", # required
2459
+ # description: "NonEmptyString",
2460
+ # instance_types: ["InstanceType"],
2461
+ # instance_profile_name: "NonEmptyString",
2462
+ # security_group_ids: ["NonEmptyString"],
2463
+ # subnet_id: "NonEmptyString",
2464
+ # logging: {
2465
+ # s3_logs: {
2466
+ # s3_bucket_name: "NonEmptyString",
2467
+ # s3_key_prefix: "NonEmptyString",
2468
+ # },
2469
+ # },
2470
+ # key_pair: "NonEmptyString",
2471
+ # terminate_instance_on_failure: false,
2472
+ # sns_topic_arn: "NonEmptyString",
2473
+ # client_token: "ClientToken", # required
2474
+ # })
2475
+ #
2476
+ # @example Response structure
2477
+ #
2478
+ # resp.request_id #=> String
2479
+ # resp.client_token #=> String
2480
+ # resp.infrastructure_configuration_arn #=> String
2481
+ #
2482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/imagebuilder-2019-12-02/UpdateInfrastructureConfiguration AWS API Documentation
2483
+ #
2484
+ # @overload update_infrastructure_configuration(params = {})
2485
+ # @param [Hash] params ({})
2486
+ def update_infrastructure_configuration(params = {}, options = {})
2487
+ req = build_request(:update_infrastructure_configuration, params)
2488
+ req.send_request(options)
2489
+ end
2490
+
2491
+ # @!endgroup
2492
+
2493
+ # @param params ({})
2494
+ # @api private
2495
+ def build_request(operation_name, params = {})
2496
+ handlers = @handlers.for(operation_name)
2497
+ context = Seahorse::Client::RequestContext.new(
2498
+ operation_name: operation_name,
2499
+ operation: config.api.operation(operation_name),
2500
+ client: self,
2501
+ params: params,
2502
+ config: config)
2503
+ context[:gem_name] = 'aws-sdk-imagebuilder'
2504
+ context[:gem_version] = '1.0.0'
2505
+ Seahorse::Client::Request.new(handlers, context)
2506
+ end
2507
+
2508
+ # @api private
2509
+ # @deprecated
2510
+ def waiter_names
2511
+ []
2512
+ end
2513
+
2514
+ class << self
2515
+
2516
+ # @api private
2517
+ attr_reader :identifier
2518
+
2519
+ # @api private
2520
+ def errors_module
2521
+ Errors
2522
+ end
2523
+
2524
+ end
2525
+ end
2526
+ end