aws-sdk-imagebuilder 1.0.0

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