aws-sdk-opsworks 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 8c3fc995c2fa2a272a235d82dbdf745fbceda191
4
+ data.tar.gz: 40cf7e662c0815e2c23624420829e06b00c087d5
5
+ SHA512:
6
+ metadata.gz: 9f8b6c22c85cbf9b5697b1ff3bca2d2bdcb40a2d868109170d8026cdec48b3577d7c704150bc67113321a0d69658dcd98b68e255d9f97bff11ce8a05557867bc
7
+ data.tar.gz: 33318882e1bec9174496b5948e896b748574cc31b2f627840b8d52b1df7ab1da4acc4d6137504ea5858f8175cb5db58262bd397be853a9443def322eea7c4076
@@ -0,0 +1,51 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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-opsworks/types'
12
+ require_relative 'aws-sdk-opsworks/client_api'
13
+ require_relative 'aws-sdk-opsworks/client'
14
+ require_relative 'aws-sdk-opsworks/errors'
15
+ require_relative 'aws-sdk-opsworks/waiters'
16
+ require_relative 'aws-sdk-opsworks/resource'
17
+ require_relative 'aws-sdk-opsworks/layer'
18
+ require_relative 'aws-sdk-opsworks/stack'
19
+ require_relative 'aws-sdk-opsworks/stack_summary'
20
+ require_relative 'aws-sdk-opsworks/customizations'
21
+
22
+ # This module provides support for AWS OpsWorks. This module is available in the
23
+ # `aws-sdk-opsworks` gem.
24
+ #
25
+ # # Client
26
+ #
27
+ # The {Client} class provides one method for each API operation. Operation
28
+ # methods each accept a hash of request parameters and return a response
29
+ # structure.
30
+ #
31
+ # See {Client} for more information.
32
+ #
33
+ # # Errors
34
+ #
35
+ # Errors returned from AWS OpsWorks all
36
+ # extend {Errors::ServiceError}.
37
+ #
38
+ # begin
39
+ # # do stuff
40
+ # rescue Aws::OpsWorks::Errors::ServiceError
41
+ # # rescues all service API errors
42
+ # end
43
+ #
44
+ # See {Errors} for more information.
45
+ #
46
+ # @service
47
+ module Aws::OpsWorks
48
+
49
+ GEM_VERSION = '1.0.0.rc1'
50
+
51
+ end
@@ -0,0 +1,4633 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
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/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:opsworks)
25
+
26
+ module Aws
27
+ module OpsWorks
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :opsworks
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Assign a registered instance to a layer.
143
+ #
144
+ # * You can assign registered on-premises instances to any layer type.
145
+ #
146
+ # * You can assign registered Amazon EC2 instances only to custom
147
+ # layers.
148
+ #
149
+ # * You cannot use this action with instances that were created with AWS
150
+ # OpsWorks.
151
+ #
152
+ # **Required Permissions**\: To use this action, an AWS Identity and
153
+ # Access Management (IAM) user must have a Manage permissions level for
154
+ # the stack or an attached policy that explicitly grants permissions.
155
+ # For more information on user permissions, see [Managing User
156
+ # Permissions][1].
157
+ #
158
+ #
159
+ #
160
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
161
+ # @option params [required, String] :instance_id
162
+ # The instance ID.
163
+ # @option params [required, Array<String>] :layer_ids
164
+ # The layer ID, which must correspond to a custom layer. You cannot
165
+ # assign a registered instance to a built-in layer.
166
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
167
+ #
168
+ # @example Request syntax with placeholder values
169
+ # resp = client.assign_instance({
170
+ # instance_id: "String", # required
171
+ # layer_ids: ["String"], # required
172
+ # })
173
+ # @overload assign_instance(params = {})
174
+ # @param [Hash] params ({})
175
+ def assign_instance(params = {}, options = {})
176
+ req = build_request(:assign_instance, params)
177
+ req.send_request(options)
178
+ end
179
+
180
+ # Assigns one of the stack's registered Amazon EBS volumes to a
181
+ # specified instance. The volume must first be registered with the stack
182
+ # by calling RegisterVolume. After you register the volume, you must
183
+ # call UpdateVolume to specify a mount point before calling
184
+ # `AssignVolume`. For more information, see [Resource Management][1].
185
+ #
186
+ # **Required Permissions**\: To use this action, an IAM user must have a
187
+ # Manage permissions level for the stack, or an attached policy that
188
+ # explicitly grants permissions. For more information on user
189
+ # permissions, see [Managing User Permissions][2].
190
+ #
191
+ #
192
+ #
193
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
194
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
195
+ # @option params [required, String] :volume_id
196
+ # The volume ID.
197
+ # @option params [String] :instance_id
198
+ # The instance ID.
199
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
200
+ #
201
+ # @example Request syntax with placeholder values
202
+ # resp = client.assign_volume({
203
+ # volume_id: "String", # required
204
+ # instance_id: "String",
205
+ # })
206
+ # @overload assign_volume(params = {})
207
+ # @param [Hash] params ({})
208
+ def assign_volume(params = {}, options = {})
209
+ req = build_request(:assign_volume, params)
210
+ req.send_request(options)
211
+ end
212
+
213
+ # Associates one of the stack's registered Elastic IP addresses with a
214
+ # specified instance. The address must first be registered with the
215
+ # stack by calling RegisterElasticIp. For more information, see
216
+ # [Resource Management][1].
217
+ #
218
+ # **Required Permissions**\: To use this action, an IAM user must have a
219
+ # Manage permissions level for the stack, or an attached policy that
220
+ # explicitly grants permissions. For more information on user
221
+ # permissions, see [Managing User Permissions][2].
222
+ #
223
+ #
224
+ #
225
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
226
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
227
+ # @option params [required, String] :elastic_ip
228
+ # The Elastic IP address.
229
+ # @option params [String] :instance_id
230
+ # The instance ID.
231
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
232
+ #
233
+ # @example Request syntax with placeholder values
234
+ # resp = client.associate_elastic_ip({
235
+ # elastic_ip: "String", # required
236
+ # instance_id: "String",
237
+ # })
238
+ # @overload associate_elastic_ip(params = {})
239
+ # @param [Hash] params ({})
240
+ def associate_elastic_ip(params = {}, options = {})
241
+ req = build_request(:associate_elastic_ip, params)
242
+ req.send_request(options)
243
+ end
244
+
245
+ # Attaches an Elastic Load Balancing load balancer to a specified layer.
246
+ # For more information, see [Elastic Load Balancing][1].
247
+ #
248
+ # <note markdown="1"> You must create the Elastic Load Balancing instance separately, by
249
+ # using the Elastic Load Balancing console, API, or CLI. For more
250
+ # information, see [ Elastic Load Balancing Developer Guide][2].
251
+ #
252
+ # </note>
253
+ #
254
+ # **Required Permissions**\: To use this action, an IAM user must have a
255
+ # Manage permissions level for the stack, or an attached policy that
256
+ # explicitly grants permissions. For more information on user
257
+ # permissions, see [Managing User Permissions][3].
258
+ #
259
+ #
260
+ #
261
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/load-balancer-elb.html
262
+ # [2]: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/Welcome.html
263
+ # [3]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
264
+ # @option params [required, String] :elastic_load_balancer_name
265
+ # The Elastic Load Balancing instance's name.
266
+ # @option params [required, String] :layer_id
267
+ # The ID of the layer that the Elastic Load Balancing instance is to be
268
+ # attached to.
269
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
270
+ #
271
+ # @example Request syntax with placeholder values
272
+ # resp = client.attach_elastic_load_balancer({
273
+ # elastic_load_balancer_name: "String", # required
274
+ # layer_id: "String", # required
275
+ # })
276
+ # @overload attach_elastic_load_balancer(params = {})
277
+ # @param [Hash] params ({})
278
+ def attach_elastic_load_balancer(params = {}, options = {})
279
+ req = build_request(:attach_elastic_load_balancer, params)
280
+ req.send_request(options)
281
+ end
282
+
283
+ # Creates a clone of a specified stack. For more information, see [Clone
284
+ # a Stack][1]. By default, all parameters are set to the values used by
285
+ # the parent stack.
286
+ #
287
+ # **Required Permissions**\: To use this action, an IAM user must have
288
+ # an attached policy that explicitly grants permissions. For more
289
+ # information on user permissions, see [Managing User Permissions][2].
290
+ #
291
+ #
292
+ #
293
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-cloning.html
294
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
295
+ # @option params [required, String] :source_stack_id
296
+ # The source stack ID.
297
+ # @option params [String] :name
298
+ # The cloned stack name.
299
+ # @option params [String] :region
300
+ # The cloned stack AWS region, such as "ap-northeast-2". For more
301
+ # information about AWS regions, see [Regions and Endpoints][1].
302
+ #
303
+ #
304
+ #
305
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
306
+ # @option params [String] :vpc_id
307
+ # The ID of the VPC that the cloned stack is to be launched into. It
308
+ # must be in the specified region. All instances are launched into this
309
+ # VPC, and you cannot change the ID later.
310
+ #
311
+ # * If your account supports EC2 Classic, the default value is no VPC.
312
+ #
313
+ # * If your account does not support EC2 Classic, the default value is
314
+ # the default VPC for the specified region.
315
+ #
316
+ # If the VPC ID corresponds to a default VPC and you have specified
317
+ # either the `DefaultAvailabilityZone` or the `DefaultSubnetId`
318
+ # parameter only, AWS OpsWorks infers the value of the other parameter.
319
+ # If you specify neither parameter, AWS OpsWorks sets these parameters
320
+ # to the first valid Availability Zone for the specified region and the
321
+ # corresponding default VPC subnet ID, respectively.
322
+ #
323
+ # If you specify a nondefault VPC ID, note the following:
324
+ #
325
+ # * It must belong to a VPC in your account that is in the specified
326
+ # region.
327
+ #
328
+ # * You must specify a value for `DefaultSubnetId`.
329
+ #
330
+ # For more information on how to use AWS OpsWorks with a VPC, see
331
+ # [Running a Stack in a VPC][1]. For more information on default VPC and
332
+ # EC2 Classic, see [Supported Platforms][2].
333
+ #
334
+ #
335
+ #
336
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html
337
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html
338
+ # @option params [Hash<String,String>] :attributes
339
+ # A list of stack attributes and values as key/value pairs to be added
340
+ # to the cloned stack.
341
+ # @option params [required, String] :service_role_arn
342
+ # The stack AWS Identity and Access Management (IAM) role, which allows
343
+ # AWS OpsWorks to work with AWS resources on your behalf. You must set
344
+ # this parameter to the Amazon Resource Name (ARN) for an existing IAM
345
+ # role. If you create a stack by using the AWS OpsWorks console, it
346
+ # creates the role for you. You can obtain an existing stack's IAM ARN
347
+ # programmatically by calling DescribePermissions. For more information
348
+ # about IAM ARNs, see [Using Identifiers][1].
349
+ #
350
+ # <note markdown="1"> You must set this parameter to a valid service role ARN or the action
351
+ # will fail; there is no default value. You can specify the source
352
+ # stack's service role ARN, if you prefer, but you must do so
353
+ # explicitly.
354
+ #
355
+ # </note>
356
+ #
357
+ #
358
+ #
359
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
360
+ # @option params [String] :default_instance_profile_arn
361
+ # The Amazon Resource Name (ARN) of an IAM profile that is the default
362
+ # profile for all of the stack's EC2 instances. For more information
363
+ # about IAM ARNs, see [Using Identifiers][1].
364
+ #
365
+ #
366
+ #
367
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
368
+ # @option params [String] :default_os
369
+ # The stack's operating system, which must be set to one of the
370
+ # following.
371
+ #
372
+ # * A supported Linux operating system: An Amazon Linux version, such as
373
+ # `Amazon Linux 2016.03`, `Amazon Linux 2015.09`, or `Amazon Linux
374
+ # 2015.03`.
375
+ #
376
+ # * A supported Ubuntu operating system, such as `Ubuntu 16.04 LTS`,
377
+ # `Ubuntu 14.04 LTS`, or `Ubuntu 12.04 LTS`.
378
+ #
379
+ # * `CentOS 7`
380
+ #
381
+ # * `Red Hat Enterprise Linux 7`
382
+ #
383
+ # * `Microsoft Windows Server 2012 R2 Base`, `Microsoft Windows Server
384
+ # 2012 R2 with SQL Server Express`, `Microsoft Windows Server 2012 R2
385
+ # with SQL Server Standard`, or `Microsoft Windows Server 2012 R2 with
386
+ # SQL Server Web`.
387
+ #
388
+ # * A custom AMI: `Custom`. You specify the custom AMI you want to use
389
+ # when you create instances. For more information on how to use custom
390
+ # AMIs with OpsWorks, see [Using Custom AMIs][1].
391
+ #
392
+ # The default option is the parent stack's operating system. For more
393
+ # information on the supported operating systems, see [AWS OpsWorks
394
+ # Operating Systems][2].
395
+ #
396
+ # <note markdown="1"> You can specify a different Linux operating system for the cloned
397
+ # stack, but you cannot change from Linux to Windows or Windows to
398
+ # Linux.
399
+ #
400
+ # </note>
401
+ #
402
+ #
403
+ #
404
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
405
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html
406
+ # @option params [String] :hostname_theme
407
+ # The stack's host name theme, with spaces are replaced by underscores.
408
+ # The theme is used to generate host names for the stack's instances.
409
+ # By default, `HostnameTheme` is set to `Layer_Dependent`, which creates
410
+ # host names by appending integers to the layer's short name. The other
411
+ # themes are:
412
+ #
413
+ # * `Baked_Goods`
414
+ #
415
+ # * `Clouds`
416
+ #
417
+ # * `Europe_Cities`
418
+ #
419
+ # * `Fruits`
420
+ #
421
+ # * `Greek_Deities`
422
+ #
423
+ # * `Legendary_creatures_from_Japan`
424
+ #
425
+ # * `Planets_and_Moons`
426
+ #
427
+ # * `Roman_Deities`
428
+ #
429
+ # * `Scottish_Islands`
430
+ #
431
+ # * `US_Cities`
432
+ #
433
+ # * `Wild_Cats`
434
+ #
435
+ # To obtain a generated host name, call `GetHostNameSuggestion`, which
436
+ # returns a host name based on the current theme.
437
+ # @option params [String] :default_availability_zone
438
+ # The cloned stack's default Availability Zone, which must be in the
439
+ # specified region. For more information, see [Regions and
440
+ # Endpoints][1]. If you also specify a value for `DefaultSubnetId`, the
441
+ # subnet must be in the same zone. For more information, see the `VpcId`
442
+ # parameter description.
443
+ #
444
+ #
445
+ #
446
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
447
+ # @option params [String] :default_subnet_id
448
+ # The stack's default VPC subnet ID. This parameter is required if you
449
+ # specify a value for the `VpcId` parameter. All instances are launched
450
+ # into this subnet unless you specify otherwise when you create the
451
+ # instance. If you also specify a value for `DefaultAvailabilityZone`,
452
+ # the subnet must be in that zone. For information on default values and
453
+ # when this parameter is required, see the `VpcId` parameter
454
+ # description.
455
+ # @option params [String] :custom_json
456
+ # A string that contains user-defined, custom JSON. It is used to
457
+ # override the corresponding default stack configuration JSON values.
458
+ # The string should be in the following format:
459
+ #
460
+ # `"\{"key1": "value1", "key2": "value2",...\}"`
461
+ #
462
+ # For more information on custom JSON, see [Use Custom JSON to Modify
463
+ # the Stack Configuration Attributes][1]
464
+ #
465
+ #
466
+ #
467
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html
468
+ # @option params [Types::StackConfigurationManager] :configuration_manager
469
+ # The configuration manager. When you clone a stack we recommend that
470
+ # you use the configuration manager to specify the Chef version: 12,
471
+ # 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The
472
+ # default value for Linux stacks is currently 12.
473
+ # @option params [Types::ChefConfiguration] :chef_configuration
474
+ # A `ChefConfiguration` object that specifies whether to enable
475
+ # Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more
476
+ # information, see [Create a New Stack][1].
477
+ #
478
+ #
479
+ #
480
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html
481
+ # @option params [Boolean] :use_custom_cookbooks
482
+ # Whether to use custom cookbooks.
483
+ # @option params [Boolean] :use_opsworks_security_groups
484
+ # Whether to associate the AWS OpsWorks built-in security groups with
485
+ # the stack's layers.
486
+ #
487
+ # AWS OpsWorks provides a standard set of built-in security groups, one
488
+ # for each layer, which are associated with layers by default. With
489
+ # `UseOpsworksSecurityGroups` you can instead provide your own custom
490
+ # security groups. `UseOpsworksSecurityGroups` has the following
491
+ # settings:
492
+ #
493
+ # * True - AWS OpsWorks automatically associates the appropriate
494
+ # built-in security group with each layer (default setting). You can
495
+ # associate additional security groups with a layer after you create
496
+ # it but you cannot delete the built-in security group.
497
+ #
498
+ # * False - AWS OpsWorks does not associate built-in security groups
499
+ # with layers. You must create appropriate Amazon Elastic Compute
500
+ # Cloud (Amazon EC2) security groups and associate a security group
501
+ # with each layer that you create. However, you can still manually
502
+ # associate a built-in security group with a layer on creation; custom
503
+ # security groups are required only for those layers that need custom
504
+ # settings.
505
+ #
506
+ # For more information, see [Create a New Stack][1].
507
+ #
508
+ #
509
+ #
510
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html
511
+ # @option params [Types::Source] :custom_cookbooks_source
512
+ # Contains the information required to retrieve an app or cookbook from
513
+ # a repository. For more information, see [Creating Apps][1] or [Custom
514
+ # Recipes and Cookbooks][2].
515
+ #
516
+ #
517
+ #
518
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html
519
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html
520
+ # @option params [String] :default_ssh_key_name
521
+ # A default Amazon EC2 key pair name. The default value is none. If you
522
+ # specify a key pair name, AWS OpsWorks installs the public key on the
523
+ # instance and you can use the private key with an SSH client to log in
524
+ # to the instance. For more information, see [ Using SSH to Communicate
525
+ # with an Instance][1] and [ Managing SSH Access][2]. You can override
526
+ # this setting by specifying a different key pair, or no key pair, when
527
+ # you [ create an instance][3].
528
+ #
529
+ #
530
+ #
531
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html
532
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html
533
+ # [3]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html
534
+ # @option params [Boolean] :clone_permissions
535
+ # Whether to clone the source stack's permissions.
536
+ # @option params [Array<String>] :clone_app_ids
537
+ # A list of source stack app IDs to be included in the cloned stack.
538
+ # @option params [String] :default_root_device_type
539
+ # The default root device type. This value is used by default for all
540
+ # instances in the cloned stack, but you can override it when you create
541
+ # an instance. For more information, see [Storage for the Root
542
+ # Device][1].
543
+ #
544
+ #
545
+ #
546
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device
547
+ # @option params [String] :agent_version
548
+ # The default AWS OpsWorks agent version. You have the following
549
+ # options:
550
+ #
551
+ # * Auto-update - Set this parameter to `LATEST`. AWS OpsWorks
552
+ # automatically installs new agent versions on the stack's instances
553
+ # as soon as they are available.
554
+ #
555
+ # * Fixed version - Set this parameter to your preferred agent version.
556
+ # To update the agent version, you must edit the stack configuration
557
+ # and specify a new version. AWS OpsWorks then automatically installs
558
+ # that version on the stack's instances.
559
+ #
560
+ # The default setting is `LATEST`. To specify an agent version, you must
561
+ # use the complete version number, not the abbreviated number shown on
562
+ # the console. For a list of available agent version numbers, call
563
+ # DescribeAgentVersions.
564
+ #
565
+ # <note markdown="1"> You can also specify an agent version when you create or update an
566
+ # instance, which overrides the stack's default setting.
567
+ #
568
+ # </note>
569
+ # @return [Types::CloneStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
570
+ #
571
+ # * {Types::CloneStackResult#stack_id #StackId} => String
572
+ #
573
+ # @example Request syntax with placeholder values
574
+ # resp = client.clone_stack({
575
+ # source_stack_id: "String", # required
576
+ # name: "String",
577
+ # region: "String",
578
+ # vpc_id: "String",
579
+ # attributes: {
580
+ # "Color" => "String",
581
+ # },
582
+ # service_role_arn: "String", # required
583
+ # default_instance_profile_arn: "String",
584
+ # default_os: "String",
585
+ # hostname_theme: "String",
586
+ # default_availability_zone: "String",
587
+ # default_subnet_id: "String",
588
+ # custom_json: "String",
589
+ # configuration_manager: {
590
+ # name: "String",
591
+ # version: "String",
592
+ # },
593
+ # chef_configuration: {
594
+ # manage_berkshelf: false,
595
+ # berkshelf_version: "String",
596
+ # },
597
+ # use_custom_cookbooks: false,
598
+ # use_opsworks_security_groups: false,
599
+ # custom_cookbooks_source: {
600
+ # type: "git", # accepts git, svn, archive, s3
601
+ # url: "String",
602
+ # username: "String",
603
+ # password: "String",
604
+ # ssh_key: "String",
605
+ # revision: "String",
606
+ # },
607
+ # default_ssh_key_name: "String",
608
+ # clone_permissions: false,
609
+ # clone_app_ids: ["String"],
610
+ # default_root_device_type: "ebs", # accepts ebs, instance-store
611
+ # agent_version: "String",
612
+ # })
613
+ #
614
+ # @example Response structure
615
+ # resp.stack_id #=> String
616
+ # @overload clone_stack(params = {})
617
+ # @param [Hash] params ({})
618
+ def clone_stack(params = {}, options = {})
619
+ req = build_request(:clone_stack, params)
620
+ req.send_request(options)
621
+ end
622
+
623
+ # Creates an app for a specified stack. For more information, see
624
+ # [Creating Apps][1].
625
+ #
626
+ # **Required Permissions**\: To use this action, an IAM user must have a
627
+ # Manage permissions level for the stack, or an attached policy that
628
+ # explicitly grants permissions. For more information on user
629
+ # permissions, see [Managing User Permissions][2].
630
+ #
631
+ #
632
+ #
633
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html
634
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
635
+ # @option params [required, String] :stack_id
636
+ # The stack ID.
637
+ # @option params [String] :shortname
638
+ # The app's short name.
639
+ # @option params [required, String] :name
640
+ # The app name.
641
+ # @option params [String] :description
642
+ # A description of the app.
643
+ # @option params [Array<Types::DataSource>] :data_sources
644
+ # The app's data source.
645
+ # @option params [required, String] :type
646
+ # The app type. Each supported type is associated with a particular
647
+ # layer. For example, PHP applications are associated with a PHP layer.
648
+ # AWS OpsWorks deploys an application to those instances that are
649
+ # members of the corresponding layer. If your app isn't one of the
650
+ # standard types, or you prefer to implement your own Deploy recipes,
651
+ # specify `other`.
652
+ # @option params [Types::Source] :app_source
653
+ # A `Source` object that specifies the app repository.
654
+ # @option params [Array<String>] :domains
655
+ # The app virtual host settings, with multiple domains separated by
656
+ # commas. For example: `'www.example.com, example.com'`
657
+ # @option params [Boolean] :enable_ssl
658
+ # Whether to enable SSL for the app.
659
+ # @option params [Types::SslConfiguration] :ssl_configuration
660
+ # An `SslConfiguration` object with the SSL configuration.
661
+ # @option params [Hash<String,String>] :attributes
662
+ # One or more user-defined key/value pairs to be added to the stack
663
+ # attributes.
664
+ # @option params [Array<Types::EnvironmentVariable>] :environment
665
+ # An array of `EnvironmentVariable` objects that specify environment
666
+ # variables to be associated with the app. After you deploy the app,
667
+ # these variables are defined on the associated app server instance. For
668
+ # more information, see [ Environment Variables][1].
669
+ #
670
+ # There is no specific limit on the number of environment variables.
671
+ # However, the size of the associated data structure - which includes
672
+ # the variables' names, values, and protected flag values - cannot
673
+ # exceed 10 KB (10240 Bytes). This limit should accommodate most if not
674
+ # all use cases. Exceeding it will cause an exception with the message,
675
+ # "Environment: is too large (maximum is 10KB)."
676
+ #
677
+ # <note markdown="1"> This parameter is supported only by Chef 11.10 stacks. If you have
678
+ # specified one or more environment variables, you cannot modify the
679
+ # stack's Chef version.
680
+ #
681
+ # </note>
682
+ #
683
+ #
684
+ #
685
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment
686
+ # @return [Types::CreateAppResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
687
+ #
688
+ # * {Types::CreateAppResult#app_id #AppId} => String
689
+ #
690
+ # @example Request syntax with placeholder values
691
+ # resp = client.create_app({
692
+ # stack_id: "String", # required
693
+ # shortname: "String",
694
+ # name: "String", # required
695
+ # description: "String",
696
+ # data_sources: [
697
+ # {
698
+ # type: "String",
699
+ # arn: "String",
700
+ # database_name: "String",
701
+ # },
702
+ # ],
703
+ # type: "aws-flow-ruby", # required, accepts aws-flow-ruby, java, rails, php, nodejs, static, other
704
+ # app_source: {
705
+ # type: "git", # accepts git, svn, archive, s3
706
+ # url: "String",
707
+ # username: "String",
708
+ # password: "String",
709
+ # ssh_key: "String",
710
+ # revision: "String",
711
+ # },
712
+ # domains: ["String"],
713
+ # enable_ssl: false,
714
+ # ssl_configuration: {
715
+ # certificate: "String", # required
716
+ # private_key: "String", # required
717
+ # chain: "String",
718
+ # },
719
+ # attributes: {
720
+ # "DocumentRoot" => "String",
721
+ # },
722
+ # environment: [
723
+ # {
724
+ # key: "String", # required
725
+ # value: "String", # required
726
+ # secure: false,
727
+ # },
728
+ # ],
729
+ # })
730
+ #
731
+ # @example Response structure
732
+ # resp.app_id #=> String
733
+ # @overload create_app(params = {})
734
+ # @param [Hash] params ({})
735
+ def create_app(params = {}, options = {})
736
+ req = build_request(:create_app, params)
737
+ req.send_request(options)
738
+ end
739
+
740
+ # Runs deployment or stack commands. For more information, see
741
+ # [Deploying Apps][1] and [Run Stack Commands][2].
742
+ #
743
+ # **Required Permissions**\: To use this action, an IAM user must have a
744
+ # Deploy or Manage permissions level for the stack, or an attached
745
+ # policy that explicitly grants permissions. For more information on
746
+ # user permissions, see [Managing User Permissions][3].
747
+ #
748
+ #
749
+ #
750
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-deploying.html
751
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-commands.html
752
+ # [3]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
753
+ # @option params [required, String] :stack_id
754
+ # The stack ID.
755
+ # @option params [String] :app_id
756
+ # The app ID. This parameter is required for app deployments, but not
757
+ # for other deployment commands.
758
+ # @option params [Array<String>] :instance_ids
759
+ # The instance IDs for the deployment targets.
760
+ # @option params [Array<String>] :layer_ids
761
+ # The layer IDs for the deployment targets.
762
+ # @option params [required, Types::DeploymentCommand] :command
763
+ # A `DeploymentCommand` object that specifies the deployment command and
764
+ # any associated arguments.
765
+ # @option params [String] :comment
766
+ # A user-defined comment.
767
+ # @option params [String] :custom_json
768
+ # A string that contains user-defined, custom JSON. It is used to
769
+ # override the corresponding default stack configuration JSON values.
770
+ # The string should be in the following format:
771
+ #
772
+ # `"\{"key1": "value1", "key2": "value2",...\}"`
773
+ #
774
+ # For more information on custom JSON, see [Use Custom JSON to Modify
775
+ # the Stack Configuration Attributes][1].
776
+ #
777
+ #
778
+ #
779
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html
780
+ # @return [Types::CreateDeploymentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
781
+ #
782
+ # * {Types::CreateDeploymentResult#deployment_id #DeploymentId} => String
783
+ #
784
+ # @example Request syntax with placeholder values
785
+ # resp = client.create_deployment({
786
+ # stack_id: "String", # required
787
+ # app_id: "String",
788
+ # instance_ids: ["String"],
789
+ # layer_ids: ["String"],
790
+ # command: { # required
791
+ # name: "install_dependencies", # required, accepts install_dependencies, update_dependencies, update_custom_cookbooks, execute_recipes, configure, setup, deploy, rollback, start, stop, restart, undeploy
792
+ # args: {
793
+ # "String" => ["String"],
794
+ # },
795
+ # },
796
+ # comment: "String",
797
+ # custom_json: "String",
798
+ # })
799
+ #
800
+ # @example Response structure
801
+ # resp.deployment_id #=> String
802
+ # @overload create_deployment(params = {})
803
+ # @param [Hash] params ({})
804
+ def create_deployment(params = {}, options = {})
805
+ req = build_request(:create_deployment, params)
806
+ req.send_request(options)
807
+ end
808
+
809
+ # Creates an instance in a specified stack. For more information, see
810
+ # [Adding an Instance to a Layer][1].
811
+ #
812
+ # **Required Permissions**\: To use this action, an IAM user must have a
813
+ # Manage permissions level for the stack, or an attached policy that
814
+ # explicitly grants permissions. For more information on user
815
+ # permissions, see [Managing User Permissions][2].
816
+ #
817
+ #
818
+ #
819
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html
820
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
821
+ # @option params [required, String] :stack_id
822
+ # The stack ID.
823
+ # @option params [required, Array<String>] :layer_ids
824
+ # An array that contains the instance's layer IDs.
825
+ # @option params [required, String] :instance_type
826
+ # The instance type, such as `t2.micro`. For a list of supported
827
+ # instance types, open the stack in the console, choose **Instances**,
828
+ # and choose **+ Instance**. The **Size** list contains the currently
829
+ # supported types. For more information, see [Instance Families and
830
+ # Types][1]. The parameter values that you use to specify the various
831
+ # types are in the **API Name** column of the **Available Instance
832
+ # Types** table.
833
+ #
834
+ #
835
+ #
836
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
837
+ # @option params [String] :auto_scaling_type
838
+ # For load-based or time-based instances, the type. Windows stacks can
839
+ # use only time-based instances.
840
+ # @option params [String] :hostname
841
+ # The instance host name.
842
+ # @option params [String] :os
843
+ # The instance's operating system, which must be set to one of the
844
+ # following.
845
+ #
846
+ # * A supported Linux operating system: An Amazon Linux version, such as
847
+ # `Amazon Linux 2016.03`, `Amazon Linux 2015.09`, or `Amazon Linux
848
+ # 2015.03`.
849
+ #
850
+ # * A supported Ubuntu operating system, such as `Ubuntu 16.04 LTS`,
851
+ # `Ubuntu 14.04 LTS`, or `Ubuntu 12.04 LTS`.
852
+ #
853
+ # * `CentOS 7`
854
+ #
855
+ # * `Red Hat Enterprise Linux 7`
856
+ #
857
+ # * A supported Windows operating system, such as `Microsoft Windows
858
+ # Server 2012 R2 Base`, `Microsoft Windows Server 2012 R2 with SQL
859
+ # Server Express`, `Microsoft Windows Server 2012 R2 with SQL Server
860
+ # Standard`, or `Microsoft Windows Server 2012 R2 with SQL Server
861
+ # Web`.
862
+ #
863
+ # * A custom AMI: `Custom`.
864
+ #
865
+ # For more information on the supported operating systems, see [AWS
866
+ # OpsWorks Operating Systems][1].
867
+ #
868
+ # The default option is the current Amazon Linux version. If you set
869
+ # this parameter to `Custom`, you must use the CreateInstance action's
870
+ # AmiId parameter to specify the custom AMI that you want to use. Block
871
+ # device mappings are not supported if the value is `Custom`. For more
872
+ # information on the supported operating systems, see [Operating
873
+ # Systems][1]For more information on how to use custom AMIs with AWS
874
+ # OpsWorks, see [Using Custom AMIs][2].
875
+ #
876
+ #
877
+ #
878
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html
879
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
880
+ # @option params [String] :ami_id
881
+ # A custom AMI ID to be used to create the instance. The AMI should be
882
+ # based on one of the supported operating systems. For more information,
883
+ # see [Using Custom AMIs][1].
884
+ #
885
+ # <note markdown="1"> If you specify a custom AMI, you must set `Os` to `Custom`.
886
+ #
887
+ # </note>
888
+ #
889
+ #
890
+ #
891
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
892
+ # @option params [String] :ssh_key_name
893
+ # The instance's Amazon EC2 key-pair name.
894
+ # @option params [String] :availability_zone
895
+ # The instance Availability Zone. For more information, see [Regions and
896
+ # Endpoints][1].
897
+ #
898
+ #
899
+ #
900
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
901
+ # @option params [String] :virtualization_type
902
+ # The instance's virtualization type, `paravirtual` or `hvm`.
903
+ # @option params [String] :subnet_id
904
+ # The ID of the instance's subnet. If the stack is running in a VPC,
905
+ # you can use this parameter to override the stack's default subnet ID
906
+ # value and direct AWS OpsWorks to launch the instance in a different
907
+ # subnet.
908
+ # @option params [String] :architecture
909
+ # The instance architecture. The default option is `x86_64`. Instance
910
+ # types do not necessarily support both architectures. For a list of the
911
+ # architectures that are supported by the different instance types, see
912
+ # [Instance Families and Types][1].
913
+ #
914
+ #
915
+ #
916
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
917
+ # @option params [String] :root_device_type
918
+ # The instance root device type. For more information, see [Storage for
919
+ # the Root Device][1].
920
+ #
921
+ #
922
+ #
923
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device
924
+ # @option params [Array<Types::BlockDeviceMapping>] :block_device_mappings
925
+ # An array of `BlockDeviceMapping` objects that specify the instance's
926
+ # block devices. For more information, see [Block Device Mapping][1].
927
+ # Note that block device mappings are not supported for custom AMIs.
928
+ #
929
+ #
930
+ #
931
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html
932
+ # @option params [Boolean] :install_updates_on_boot
933
+ # Whether to install operating system and package updates when the
934
+ # instance boots. The default value is `true`. To control when updates
935
+ # are installed, set this value to `false`. You must then update your
936
+ # instances manually by using CreateDeployment to run the
937
+ # `update_dependencies` stack command or by manually running `yum`
938
+ # (Amazon Linux) or `apt-get` (Ubuntu) on the instances.
939
+ #
940
+ # <note markdown="1"> We strongly recommend using the default value of `true` to ensure that
941
+ # your instances have the latest security updates.
942
+ #
943
+ # </note>
944
+ # @option params [Boolean] :ebs_optimized
945
+ # Whether to create an Amazon EBS-optimized instance.
946
+ # @option params [String] :agent_version
947
+ # The default AWS OpsWorks agent version. You have the following
948
+ # options:
949
+ #
950
+ # * `INHERIT` - Use the stack's default agent version setting.
951
+ #
952
+ # * *version\_number* - Use the specified agent version. This value
953
+ # overrides the stack's default setting. To update the agent version,
954
+ # edit the instance configuration and specify a new version. AWS
955
+ # OpsWorks then automatically installs that version on the instance.
956
+ #
957
+ # The default setting is `INHERIT`. To specify an agent version, you
958
+ # must use the complete version number, not the abbreviated number shown
959
+ # on the console. For a list of available agent version numbers, call
960
+ # DescribeAgentVersions.
961
+ # @option params [String] :tenancy
962
+ # The instance's tenancy option. The default option is no tenancy, or
963
+ # if the instance is running in a VPC, inherit tenancy settings from the
964
+ # VPC. The following are valid values for this parameter: `dedicated`,
965
+ # `default`, or `host`. Because there are costs associated with changes
966
+ # in tenancy options, we recommend that you research tenancy options
967
+ # before choosing them for your instances. For more information about
968
+ # dedicated hosts, see [Dedicated Hosts Overview][1] and [Amazon EC2
969
+ # Dedicated Hosts][1]. For more information about dedicated instances,
970
+ # see [Dedicated Instances][2] and [Amazon EC2 Dedicated Instances][3].
971
+ #
972
+ #
973
+ #
974
+ # [1]: http://aws.amazon.com/ec2/dedicated-hosts/
975
+ # [2]: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/dedicated-instance.html
976
+ # [3]: http://aws.amazon.com/ec2/purchasing-options/dedicated-instances/
977
+ # @return [Types::CreateInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
978
+ #
979
+ # * {Types::CreateInstanceResult#instance_id #InstanceId} => String
980
+ #
981
+ # @example Request syntax with placeholder values
982
+ # resp = client.create_instance({
983
+ # stack_id: "String", # required
984
+ # layer_ids: ["String"], # required
985
+ # instance_type: "String", # required
986
+ # auto_scaling_type: "load", # accepts load, timer
987
+ # hostname: "String",
988
+ # os: "String",
989
+ # ami_id: "String",
990
+ # ssh_key_name: "String",
991
+ # availability_zone: "String",
992
+ # virtualization_type: "String",
993
+ # subnet_id: "String",
994
+ # architecture: "x86_64", # accepts x86_64, i386
995
+ # root_device_type: "ebs", # accepts ebs, instance-store
996
+ # block_device_mappings: [
997
+ # {
998
+ # device_name: "String",
999
+ # no_device: "String",
1000
+ # virtual_name: "String",
1001
+ # ebs: {
1002
+ # snapshot_id: "String",
1003
+ # iops: 1,
1004
+ # volume_size: 1,
1005
+ # volume_type: "gp2", # accepts gp2, io1, standard
1006
+ # delete_on_termination: false,
1007
+ # },
1008
+ # },
1009
+ # ],
1010
+ # install_updates_on_boot: false,
1011
+ # ebs_optimized: false,
1012
+ # agent_version: "String",
1013
+ # tenancy: "String",
1014
+ # })
1015
+ #
1016
+ # @example Response structure
1017
+ # resp.instance_id #=> String
1018
+ # @overload create_instance(params = {})
1019
+ # @param [Hash] params ({})
1020
+ def create_instance(params = {}, options = {})
1021
+ req = build_request(:create_instance, params)
1022
+ req.send_request(options)
1023
+ end
1024
+
1025
+ # Creates a layer. For more information, see [How to Create a Layer][1].
1026
+ #
1027
+ # <note markdown="1"> You should use **CreateLayer** for noncustom layer types such as PHP
1028
+ # App Server only if the stack does not have an existing layer of that
1029
+ # type. A stack can have at most one instance of each noncustom layer;
1030
+ # if you attempt to create a second instance, **CreateLayer** fails. A
1031
+ # stack can have an arbitrary number of custom layers, so you can call
1032
+ # **CreateLayer** as many times as you like for that layer type.
1033
+ #
1034
+ # </note>
1035
+ #
1036
+ # **Required Permissions**\: To use this action, an IAM user must have a
1037
+ # Manage permissions level for the stack, or an attached policy that
1038
+ # explicitly grants permissions. For more information on user
1039
+ # permissions, see [Managing User Permissions][2].
1040
+ #
1041
+ #
1042
+ #
1043
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-create.html
1044
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1045
+ # @option params [required, String] :stack_id
1046
+ # The layer stack ID.
1047
+ # @option params [required, String] :type
1048
+ # The layer type. A stack cannot have more than one built-in layer of
1049
+ # the same type. It can have any number of custom layers. Built-in
1050
+ # layers are not available in Chef 12 stacks.
1051
+ # @option params [required, String] :name
1052
+ # The layer name, which is used by the console.
1053
+ # @option params [required, String] :shortname
1054
+ # For custom layers only, use this parameter to specify the layer's
1055
+ # short name, which is used internally by AWS OpsWorks and by Chef
1056
+ # recipes. The short name is also used as the name for the directory
1057
+ # where your app files are installed. It can have a maximum of 200
1058
+ # characters, which are limited to the alphanumeric characters, '-',
1059
+ # '\_', and '.'.
1060
+ #
1061
+ # The built-in layers' short names are defined by AWS OpsWorks. For
1062
+ # more information, see the [Layer Reference][1].
1063
+ #
1064
+ #
1065
+ #
1066
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html
1067
+ # @option params [Hash<String,String>] :attributes
1068
+ # One or more user-defined key-value pairs to be added to the stack
1069
+ # attributes.
1070
+ #
1071
+ # To create a cluster layer, set the `EcsClusterArn` attribute to the
1072
+ # cluster's ARN.
1073
+ # @option params [String] :custom_instance_profile_arn
1074
+ # The ARN of an IAM profile to be used for the layer's EC2 instances.
1075
+ # For more information about IAM ARNs, see [Using Identifiers][1].
1076
+ #
1077
+ #
1078
+ #
1079
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
1080
+ # @option params [String] :custom_json
1081
+ # A JSON-formatted string containing custom stack configuration and
1082
+ # deployment attributes to be installed on the layer's instances. For
1083
+ # more information, see [ Using Custom JSON][1]. This feature is
1084
+ # supported as of version 1.7.42 of the AWS CLI.
1085
+ #
1086
+ #
1087
+ #
1088
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html
1089
+ # @option params [Array<String>] :custom_security_group_ids
1090
+ # An array containing the layer custom security group IDs.
1091
+ # @option params [Array<String>] :packages
1092
+ # An array of `Package` objects that describes the layer packages.
1093
+ # @option params [Array<Types::VolumeConfiguration>] :volume_configurations
1094
+ # A `VolumeConfigurations` object that describes the layer's Amazon EBS
1095
+ # volumes.
1096
+ # @option params [Boolean] :enable_auto_healing
1097
+ # Whether to disable auto healing for the layer.
1098
+ # @option params [Boolean] :auto_assign_elastic_ips
1099
+ # Whether to automatically assign an [Elastic IP address][1] to the
1100
+ # layer's instances. For more information, see [How to Edit a
1101
+ # Layer][2].
1102
+ #
1103
+ #
1104
+ #
1105
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
1106
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html
1107
+ # @option params [Boolean] :auto_assign_public_ips
1108
+ # For stacks that are running in a VPC, whether to automatically assign
1109
+ # a public IP address to the layer's instances. For more information,
1110
+ # see [How to Edit a Layer][1].
1111
+ #
1112
+ #
1113
+ #
1114
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html
1115
+ # @option params [Types::Recipes] :custom_recipes
1116
+ # A `LayerCustomRecipes` object that specifies the layer custom recipes.
1117
+ # @option params [Boolean] :install_updates_on_boot
1118
+ # Whether to install operating system and package updates when the
1119
+ # instance boots. The default value is `true`. To control when updates
1120
+ # are installed, set this value to `false`. You must then update your
1121
+ # instances manually by using CreateDeployment to run the
1122
+ # `update_dependencies` stack command or by manually running `yum`
1123
+ # (Amazon Linux) or `apt-get` (Ubuntu) on the instances.
1124
+ #
1125
+ # <note markdown="1"> To ensure that your instances have the latest security updates, we
1126
+ # strongly recommend using the default value of `true`.
1127
+ #
1128
+ # </note>
1129
+ # @option params [Boolean] :use_ebs_optimized_instances
1130
+ # Whether to use Amazon EBS-optimized instances.
1131
+ # @option params [Types::LifecycleEventConfiguration] :lifecycle_event_configuration
1132
+ # A `LifeCycleEventConfiguration` object that you can use to configure
1133
+ # the Shutdown event to specify an execution timeout and enable or
1134
+ # disable Elastic Load Balancer connection draining.
1135
+ # @return [Types::CreateLayerResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1136
+ #
1137
+ # * {Types::CreateLayerResult#layer_id #LayerId} => String
1138
+ #
1139
+ # @example Request syntax with placeholder values
1140
+ # resp = client.create_layer({
1141
+ # stack_id: "String", # required
1142
+ # type: "aws-flow-ruby", # required, accepts aws-flow-ruby, ecs-cluster, java-app, lb, web, php-app, rails-app, nodejs-app, memcached, db-master, monitoring-master, custom
1143
+ # name: "String", # required
1144
+ # shortname: "String", # required
1145
+ # attributes: {
1146
+ # "EcsClusterArn" => "String",
1147
+ # },
1148
+ # custom_instance_profile_arn: "String",
1149
+ # custom_json: "String",
1150
+ # custom_security_group_ids: ["String"],
1151
+ # packages: ["String"],
1152
+ # volume_configurations: [
1153
+ # {
1154
+ # mount_point: "String", # required
1155
+ # raid_level: 1,
1156
+ # number_of_disks: 1, # required
1157
+ # size: 1, # required
1158
+ # volume_type: "String",
1159
+ # iops: 1,
1160
+ # },
1161
+ # ],
1162
+ # enable_auto_healing: false,
1163
+ # auto_assign_elastic_ips: false,
1164
+ # auto_assign_public_ips: false,
1165
+ # custom_recipes: {
1166
+ # setup: ["String"],
1167
+ # configure: ["String"],
1168
+ # deploy: ["String"],
1169
+ # undeploy: ["String"],
1170
+ # shutdown: ["String"],
1171
+ # },
1172
+ # install_updates_on_boot: false,
1173
+ # use_ebs_optimized_instances: false,
1174
+ # lifecycle_event_configuration: {
1175
+ # shutdown: {
1176
+ # execution_timeout: 1,
1177
+ # delay_until_elb_connections_drained: false,
1178
+ # },
1179
+ # },
1180
+ # })
1181
+ #
1182
+ # @example Response structure
1183
+ # resp.layer_id #=> String
1184
+ # @overload create_layer(params = {})
1185
+ # @param [Hash] params ({})
1186
+ def create_layer(params = {}, options = {})
1187
+ req = build_request(:create_layer, params)
1188
+ req.send_request(options)
1189
+ end
1190
+
1191
+ # Creates a new stack. For more information, see [Create a New
1192
+ # Stack][1].
1193
+ #
1194
+ # **Required Permissions**\: To use this action, an IAM user must have
1195
+ # an attached policy that explicitly grants permissions. For more
1196
+ # information on user permissions, see [Managing User Permissions][2].
1197
+ #
1198
+ #
1199
+ #
1200
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-edit.html
1201
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1202
+ # @option params [required, String] :name
1203
+ # The stack name.
1204
+ # @option params [required, String] :region
1205
+ # The stack's AWS region, such as "ap-south-1". For more information
1206
+ # about Amazon regions, see [Regions and Endpoints][1].
1207
+ #
1208
+ #
1209
+ #
1210
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
1211
+ # @option params [String] :vpc_id
1212
+ # The ID of the VPC that the stack is to be launched into. The VPC must
1213
+ # be in the stack's region. All instances are launched into this VPC.
1214
+ # You cannot change the ID later.
1215
+ #
1216
+ # * If your account supports EC2-Classic, the default value is `no VPC`.
1217
+ #
1218
+ # * If your account does not support EC2-Classic, the default value is
1219
+ # the default VPC for the specified region.
1220
+ #
1221
+ # If the VPC ID corresponds to a default VPC and you have specified
1222
+ # either the `DefaultAvailabilityZone` or the `DefaultSubnetId`
1223
+ # parameter only, AWS OpsWorks infers the value of the other parameter.
1224
+ # If you specify neither parameter, AWS OpsWorks sets these parameters
1225
+ # to the first valid Availability Zone for the specified region and the
1226
+ # corresponding default VPC subnet ID, respectively.
1227
+ #
1228
+ # If you specify a nondefault VPC ID, note the following:
1229
+ #
1230
+ # * It must belong to a VPC in your account that is in the specified
1231
+ # region.
1232
+ #
1233
+ # * You must specify a value for `DefaultSubnetId`.
1234
+ #
1235
+ # For more information on how to use AWS OpsWorks with a VPC, see
1236
+ # [Running a Stack in a VPC][1]. For more information on default VPC and
1237
+ # EC2-Classic, see [Supported Platforms][2].
1238
+ #
1239
+ #
1240
+ #
1241
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-vpc.html
1242
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-supported-platforms.html
1243
+ # @option params [Hash<String,String>] :attributes
1244
+ # One or more user-defined key-value pairs to be added to the stack
1245
+ # attributes.
1246
+ # @option params [required, String] :service_role_arn
1247
+ # The stack's AWS Identity and Access Management (IAM) role, which
1248
+ # allows AWS OpsWorks to work with AWS resources on your behalf. You
1249
+ # must set this parameter to the Amazon Resource Name (ARN) for an
1250
+ # existing IAM role. For more information about IAM ARNs, see [Using
1251
+ # Identifiers][1].
1252
+ #
1253
+ #
1254
+ #
1255
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
1256
+ # @option params [required, String] :default_instance_profile_arn
1257
+ # The Amazon Resource Name (ARN) of an IAM profile that is the default
1258
+ # profile for all of the stack's EC2 instances. For more information
1259
+ # about IAM ARNs, see [Using Identifiers][1].
1260
+ #
1261
+ #
1262
+ #
1263
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
1264
+ # @option params [String] :default_os
1265
+ # The stack's default operating system, which is installed on every
1266
+ # instance unless you specify a different operating system when you
1267
+ # create the instance. You can specify one of the following.
1268
+ #
1269
+ # * A supported Linux operating system: An Amazon Linux version, such as
1270
+ # `Amazon Linux 2016.03`, `Amazon Linux 2015.09`, or `Amazon Linux
1271
+ # 2015.03`.
1272
+ #
1273
+ # * A supported Ubuntu operating system, such as `Ubuntu 16.04 LTS`,
1274
+ # `Ubuntu 14.04 LTS`, or `Ubuntu 12.04 LTS`.
1275
+ #
1276
+ # * `CentOS 7`
1277
+ #
1278
+ # * `Red Hat Enterprise Linux 7`
1279
+ #
1280
+ # * A supported Windows operating system, such as `Microsoft Windows
1281
+ # Server 2012 R2 Base`, `Microsoft Windows Server 2012 R2 with SQL
1282
+ # Server Express`, `Microsoft Windows Server 2012 R2 with SQL Server
1283
+ # Standard`, or `Microsoft Windows Server 2012 R2 with SQL Server
1284
+ # Web`.
1285
+ #
1286
+ # * A custom AMI: `Custom`. You specify the custom AMI you want to use
1287
+ # when you create instances. For more information, see [ Using Custom
1288
+ # AMIs][1].
1289
+ #
1290
+ # The default option is the current Amazon Linux version. For more
1291
+ # information on the supported operating systems, see [AWS OpsWorks
1292
+ # Operating Systems][2].
1293
+ #
1294
+ #
1295
+ #
1296
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
1297
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html
1298
+ # @option params [String] :hostname_theme
1299
+ # The stack's host name theme, with spaces replaced by underscores. The
1300
+ # theme is used to generate host names for the stack's instances. By
1301
+ # default, `HostnameTheme` is set to `Layer_Dependent`, which creates
1302
+ # host names by appending integers to the layer's short name. The other
1303
+ # themes are:
1304
+ #
1305
+ # * `Baked_Goods`
1306
+ #
1307
+ # * `Clouds`
1308
+ #
1309
+ # * `Europe_Cities`
1310
+ #
1311
+ # * `Fruits`
1312
+ #
1313
+ # * `Greek_Deities`
1314
+ #
1315
+ # * `Legendary_creatures_from_Japan`
1316
+ #
1317
+ # * `Planets_and_Moons`
1318
+ #
1319
+ # * `Roman_Deities`
1320
+ #
1321
+ # * `Scottish_Islands`
1322
+ #
1323
+ # * `US_Cities`
1324
+ #
1325
+ # * `Wild_Cats`
1326
+ #
1327
+ # To obtain a generated host name, call `GetHostNameSuggestion`, which
1328
+ # returns a host name based on the current theme.
1329
+ # @option params [String] :default_availability_zone
1330
+ # The stack's default Availability Zone, which must be in the specified
1331
+ # region. For more information, see [Regions and Endpoints][1]. If you
1332
+ # also specify a value for `DefaultSubnetId`, the subnet must be in the
1333
+ # same zone. For more information, see the `VpcId` parameter
1334
+ # description.
1335
+ #
1336
+ #
1337
+ #
1338
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
1339
+ # @option params [String] :default_subnet_id
1340
+ # The stack's default VPC subnet ID. This parameter is required if you
1341
+ # specify a value for the `VpcId` parameter. All instances are launched
1342
+ # into this subnet unless you specify otherwise when you create the
1343
+ # instance. If you also specify a value for `DefaultAvailabilityZone`,
1344
+ # the subnet must be in that zone. For information on default values and
1345
+ # when this parameter is required, see the `VpcId` parameter
1346
+ # description.
1347
+ # @option params [String] :custom_json
1348
+ # A string that contains user-defined, custom JSON. It can be used to
1349
+ # override the corresponding default stack configuration attribute
1350
+ # values or to pass data to recipes. The string should be in the
1351
+ # following format:
1352
+ #
1353
+ # `"\{"key1": "value1", "key2": "value2",...\}"`
1354
+ #
1355
+ # For more information on custom JSON, see [Use Custom JSON to Modify
1356
+ # the Stack Configuration Attributes][1].
1357
+ #
1358
+ #
1359
+ #
1360
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html
1361
+ # @option params [Types::StackConfigurationManager] :configuration_manager
1362
+ # The configuration manager. When you create a stack we recommend that
1363
+ # you use the configuration manager to specify the Chef version: 12,
1364
+ # 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The
1365
+ # default value for Linux stacks is currently 11.4.
1366
+ # @option params [Types::ChefConfiguration] :chef_configuration
1367
+ # A `ChefConfiguration` object that specifies whether to enable
1368
+ # Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more
1369
+ # information, see [Create a New Stack][1].
1370
+ #
1371
+ #
1372
+ #
1373
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html
1374
+ # @option params [Boolean] :use_custom_cookbooks
1375
+ # Whether the stack uses custom cookbooks.
1376
+ # @option params [Boolean] :use_opsworks_security_groups
1377
+ # Whether to associate the AWS OpsWorks built-in security groups with
1378
+ # the stack's layers.
1379
+ #
1380
+ # AWS OpsWorks provides a standard set of built-in security groups, one
1381
+ # for each layer, which are associated with layers by default. With
1382
+ # `UseOpsworksSecurityGroups` you can instead provide your own custom
1383
+ # security groups. `UseOpsworksSecurityGroups` has the following
1384
+ # settings:
1385
+ #
1386
+ # * True - AWS OpsWorks automatically associates the appropriate
1387
+ # built-in security group with each layer (default setting). You can
1388
+ # associate additional security groups with a layer after you create
1389
+ # it, but you cannot delete the built-in security group.
1390
+ #
1391
+ # * False - AWS OpsWorks does not associate built-in security groups
1392
+ # with layers. You must create appropriate EC2 security groups and
1393
+ # associate a security group with each layer that you create. However,
1394
+ # you can still manually associate a built-in security group with a
1395
+ # layer on creation; custom security groups are required only for
1396
+ # those layers that need custom settings.
1397
+ #
1398
+ # For more information, see [Create a New Stack][1].
1399
+ #
1400
+ #
1401
+ #
1402
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html
1403
+ # @option params [Types::Source] :custom_cookbooks_source
1404
+ # Contains the information required to retrieve an app or cookbook from
1405
+ # a repository. For more information, see [Creating Apps][1] or [Custom
1406
+ # Recipes and Cookbooks][2].
1407
+ #
1408
+ #
1409
+ #
1410
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html
1411
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html
1412
+ # @option params [String] :default_ssh_key_name
1413
+ # A default Amazon EC2 key pair name. The default value is none. If you
1414
+ # specify a key pair name, AWS OpsWorks installs the public key on the
1415
+ # instance and you can use the private key with an SSH client to log in
1416
+ # to the instance. For more information, see [ Using SSH to Communicate
1417
+ # with an Instance][1] and [ Managing SSH Access][2]. You can override
1418
+ # this setting by specifying a different key pair, or no key pair, when
1419
+ # you [ create an instance][3].
1420
+ #
1421
+ #
1422
+ #
1423
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html
1424
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html
1425
+ # [3]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html
1426
+ # @option params [String] :default_root_device_type
1427
+ # The default root device type. This value is the default for all
1428
+ # instances in the stack, but you can override it when you create an
1429
+ # instance. The default option is `instance-store`. For more
1430
+ # information, see [Storage for the Root Device][1].
1431
+ #
1432
+ #
1433
+ #
1434
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device
1435
+ # @option params [String] :agent_version
1436
+ # The default AWS OpsWorks agent version. You have the following
1437
+ # options:
1438
+ #
1439
+ # * Auto-update - Set this parameter to `LATEST`. AWS OpsWorks
1440
+ # automatically installs new agent versions on the stack's instances
1441
+ # as soon as they are available.
1442
+ #
1443
+ # * Fixed version - Set this parameter to your preferred agent version.
1444
+ # To update the agent version, you must edit the stack configuration
1445
+ # and specify a new version. AWS OpsWorks then automatically installs
1446
+ # that version on the stack's instances.
1447
+ #
1448
+ # The default setting is the most recent release of the agent. To
1449
+ # specify an agent version, you must use the complete version number,
1450
+ # not the abbreviated number shown on the console. For a list of
1451
+ # available agent version numbers, call DescribeAgentVersions.
1452
+ #
1453
+ # <note markdown="1"> You can also specify an agent version when you create or update an
1454
+ # instance, which overrides the stack's default setting.
1455
+ #
1456
+ # </note>
1457
+ # @return [Types::CreateStackResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1458
+ #
1459
+ # * {Types::CreateStackResult#stack_id #StackId} => String
1460
+ #
1461
+ # @example Request syntax with placeholder values
1462
+ # resp = client.create_stack({
1463
+ # name: "String", # required
1464
+ # region: "String", # required
1465
+ # vpc_id: "String",
1466
+ # attributes: {
1467
+ # "Color" => "String",
1468
+ # },
1469
+ # service_role_arn: "String", # required
1470
+ # default_instance_profile_arn: "String", # required
1471
+ # default_os: "String",
1472
+ # hostname_theme: "String",
1473
+ # default_availability_zone: "String",
1474
+ # default_subnet_id: "String",
1475
+ # custom_json: "String",
1476
+ # configuration_manager: {
1477
+ # name: "String",
1478
+ # version: "String",
1479
+ # },
1480
+ # chef_configuration: {
1481
+ # manage_berkshelf: false,
1482
+ # berkshelf_version: "String",
1483
+ # },
1484
+ # use_custom_cookbooks: false,
1485
+ # use_opsworks_security_groups: false,
1486
+ # custom_cookbooks_source: {
1487
+ # type: "git", # accepts git, svn, archive, s3
1488
+ # url: "String",
1489
+ # username: "String",
1490
+ # password: "String",
1491
+ # ssh_key: "String",
1492
+ # revision: "String",
1493
+ # },
1494
+ # default_ssh_key_name: "String",
1495
+ # default_root_device_type: "ebs", # accepts ebs, instance-store
1496
+ # agent_version: "String",
1497
+ # })
1498
+ #
1499
+ # @example Response structure
1500
+ # resp.stack_id #=> String
1501
+ # @overload create_stack(params = {})
1502
+ # @param [Hash] params ({})
1503
+ def create_stack(params = {}, options = {})
1504
+ req = build_request(:create_stack, params)
1505
+ req.send_request(options)
1506
+ end
1507
+
1508
+ # Creates a new user profile.
1509
+ #
1510
+ # **Required Permissions**\: To use this action, an IAM user must have
1511
+ # an attached policy that explicitly grants permissions. For more
1512
+ # information on user permissions, see [Managing User Permissions][1].
1513
+ #
1514
+ #
1515
+ #
1516
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1517
+ # @option params [required, String] :iam_user_arn
1518
+ # The user's IAM ARN; this can also be a federated user's ARN.
1519
+ # @option params [String] :ssh_username
1520
+ # The user's SSH user name. The allowable characters are \[a-z\],
1521
+ # \[A-Z\], \[0-9\], '-', and '\_'. If the specified name includes
1522
+ # other punctuation marks, AWS OpsWorks removes them. For example,
1523
+ # `my.name` will be changed to `myname`. If you do not specify an SSH
1524
+ # user name, AWS OpsWorks generates one from the IAM user name.
1525
+ # @option params [String] :ssh_public_key
1526
+ # The user's public SSH key.
1527
+ # @option params [Boolean] :allow_self_management
1528
+ # Whether users can specify their own SSH public key through the My
1529
+ # Settings page. For more information, see [Setting an IAM User's
1530
+ # Public SSH Key][1].
1531
+ #
1532
+ #
1533
+ #
1534
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html
1535
+ # @return [Types::CreateUserProfileResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1536
+ #
1537
+ # * {Types::CreateUserProfileResult#iam_user_arn #IamUserArn} => String
1538
+ #
1539
+ # @example Request syntax with placeholder values
1540
+ # resp = client.create_user_profile({
1541
+ # iam_user_arn: "String", # required
1542
+ # ssh_username: "String",
1543
+ # ssh_public_key: "String",
1544
+ # allow_self_management: false,
1545
+ # })
1546
+ #
1547
+ # @example Response structure
1548
+ # resp.iam_user_arn #=> String
1549
+ # @overload create_user_profile(params = {})
1550
+ # @param [Hash] params ({})
1551
+ def create_user_profile(params = {}, options = {})
1552
+ req = build_request(:create_user_profile, params)
1553
+ req.send_request(options)
1554
+ end
1555
+
1556
+ # Deletes a specified app.
1557
+ #
1558
+ # **Required Permissions**\: To use this action, an IAM user must have a
1559
+ # Manage permissions level for the stack, or an attached policy that
1560
+ # explicitly grants permissions. For more information on user
1561
+ # permissions, see [Managing User Permissions][1].
1562
+ #
1563
+ #
1564
+ #
1565
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1566
+ # @option params [required, String] :app_id
1567
+ # The app ID.
1568
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1569
+ #
1570
+ # @example Request syntax with placeholder values
1571
+ # resp = client.delete_app({
1572
+ # app_id: "String", # required
1573
+ # })
1574
+ # @overload delete_app(params = {})
1575
+ # @param [Hash] params ({})
1576
+ def delete_app(params = {}, options = {})
1577
+ req = build_request(:delete_app, params)
1578
+ req.send_request(options)
1579
+ end
1580
+
1581
+ # Deletes a specified instance, which terminates the associated Amazon
1582
+ # EC2 instance. You must stop an instance before you can delete it.
1583
+ #
1584
+ # For more information, see [Deleting Instances][1].
1585
+ #
1586
+ # **Required Permissions**\: To use this action, an IAM user must have a
1587
+ # Manage permissions level for the stack, or an attached policy that
1588
+ # explicitly grants permissions. For more information on user
1589
+ # permissions, see [Managing User Permissions][2].
1590
+ #
1591
+ #
1592
+ #
1593
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-delete.html
1594
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1595
+ # @option params [required, String] :instance_id
1596
+ # The instance ID.
1597
+ # @option params [Boolean] :delete_elastic_ip
1598
+ # Whether to delete the instance Elastic IP address.
1599
+ # @option params [Boolean] :delete_volumes
1600
+ # Whether to delete the instance's Amazon EBS volumes.
1601
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1602
+ #
1603
+ # @example Request syntax with placeholder values
1604
+ # resp = client.delete_instance({
1605
+ # instance_id: "String", # required
1606
+ # delete_elastic_ip: false,
1607
+ # delete_volumes: false,
1608
+ # })
1609
+ # @overload delete_instance(params = {})
1610
+ # @param [Hash] params ({})
1611
+ def delete_instance(params = {}, options = {})
1612
+ req = build_request(:delete_instance, params)
1613
+ req.send_request(options)
1614
+ end
1615
+
1616
+ # Deletes a specified layer. You must first stop and then delete all
1617
+ # associated instances or unassign registered instances. For more
1618
+ # information, see [How to Delete a Layer][1].
1619
+ #
1620
+ # **Required Permissions**\: To use this action, an IAM user must have a
1621
+ # Manage permissions level for the stack, or an attached policy that
1622
+ # explicitly grants permissions. For more information on user
1623
+ # permissions, see [Managing User Permissions][2].
1624
+ #
1625
+ #
1626
+ #
1627
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-delete.html
1628
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1629
+ # @option params [required, String] :layer_id
1630
+ # The layer ID.
1631
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1632
+ #
1633
+ # @example Request syntax with placeholder values
1634
+ # resp = client.delete_layer({
1635
+ # layer_id: "String", # required
1636
+ # })
1637
+ # @overload delete_layer(params = {})
1638
+ # @param [Hash] params ({})
1639
+ def delete_layer(params = {}, options = {})
1640
+ req = build_request(:delete_layer, params)
1641
+ req.send_request(options)
1642
+ end
1643
+
1644
+ # Deletes a specified stack. You must first delete all instances,
1645
+ # layers, and apps or deregister registered instances. For more
1646
+ # information, see [Shut Down a Stack][1].
1647
+ #
1648
+ # **Required Permissions**\: To use this action, an IAM user must have a
1649
+ # Manage permissions level for the stack, or an attached policy that
1650
+ # explicitly grants permissions. For more information on user
1651
+ # permissions, see [Managing User Permissions][2].
1652
+ #
1653
+ #
1654
+ #
1655
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-shutting.html
1656
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1657
+ # @option params [required, String] :stack_id
1658
+ # The stack ID.
1659
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1660
+ #
1661
+ # @example Request syntax with placeholder values
1662
+ # resp = client.delete_stack({
1663
+ # stack_id: "String", # required
1664
+ # })
1665
+ # @overload delete_stack(params = {})
1666
+ # @param [Hash] params ({})
1667
+ def delete_stack(params = {}, options = {})
1668
+ req = build_request(:delete_stack, params)
1669
+ req.send_request(options)
1670
+ end
1671
+
1672
+ # Deletes a user profile.
1673
+ #
1674
+ # **Required Permissions**\: To use this action, an IAM user must have
1675
+ # an attached policy that explicitly grants permissions. For more
1676
+ # information on user permissions, see [Managing User Permissions][1].
1677
+ #
1678
+ #
1679
+ #
1680
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1681
+ # @option params [required, String] :iam_user_arn
1682
+ # The user's IAM ARN. This can also be a federated user's ARN.
1683
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1684
+ #
1685
+ # @example Request syntax with placeholder values
1686
+ # resp = client.delete_user_profile({
1687
+ # iam_user_arn: "String", # required
1688
+ # })
1689
+ # @overload delete_user_profile(params = {})
1690
+ # @param [Hash] params ({})
1691
+ def delete_user_profile(params = {}, options = {})
1692
+ req = build_request(:delete_user_profile, params)
1693
+ req.send_request(options)
1694
+ end
1695
+
1696
+ # Deregisters a specified Amazon ECS cluster from a stack. For more
1697
+ # information, see [ Resource Management][1].
1698
+ #
1699
+ # **Required Permissions**\: To use this action, an IAM user must have a
1700
+ # Manage permissions level for the stack or an attached policy that
1701
+ # explicitly grants permissions. For more information on user
1702
+ # permissions, see
1703
+ # [http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html][2].
1704
+ #
1705
+ #
1706
+ #
1707
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html#workinglayers-ecscluster-delete
1708
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1709
+ # @option params [required, String] :ecs_cluster_arn
1710
+ # The cluster's ARN.
1711
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1712
+ #
1713
+ # @example Request syntax with placeholder values
1714
+ # resp = client.deregister_ecs_cluster({
1715
+ # ecs_cluster_arn: "String", # required
1716
+ # })
1717
+ # @overload deregister_ecs_cluster(params = {})
1718
+ # @param [Hash] params ({})
1719
+ def deregister_ecs_cluster(params = {}, options = {})
1720
+ req = build_request(:deregister_ecs_cluster, params)
1721
+ req.send_request(options)
1722
+ end
1723
+
1724
+ # Deregisters a specified Elastic IP address. The address can then be
1725
+ # registered by another stack. For more information, see [Resource
1726
+ # Management][1].
1727
+ #
1728
+ # **Required Permissions**\: To use this action, an IAM user must have a
1729
+ # Manage permissions level for the stack, or an attached policy that
1730
+ # explicitly grants permissions. For more information on user
1731
+ # permissions, see [Managing User Permissions][2].
1732
+ #
1733
+ #
1734
+ #
1735
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
1736
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1737
+ # @option params [required, String] :elastic_ip
1738
+ # The Elastic IP address.
1739
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1740
+ #
1741
+ # @example Request syntax with placeholder values
1742
+ # resp = client.deregister_elastic_ip({
1743
+ # elastic_ip: "String", # required
1744
+ # })
1745
+ # @overload deregister_elastic_ip(params = {})
1746
+ # @param [Hash] params ({})
1747
+ def deregister_elastic_ip(params = {}, options = {})
1748
+ req = build_request(:deregister_elastic_ip, params)
1749
+ req.send_request(options)
1750
+ end
1751
+
1752
+ # Deregister a registered Amazon EC2 or on-premises instance. This
1753
+ # action removes the instance from the stack and returns it to your
1754
+ # control. This action can not be used with instances that were created
1755
+ # with AWS OpsWorks.
1756
+ #
1757
+ # **Required Permissions**\: To use this action, an IAM user must have a
1758
+ # Manage permissions level for the stack or an attached policy that
1759
+ # explicitly grants permissions. For more information on user
1760
+ # permissions, see [Managing User Permissions][1].
1761
+ #
1762
+ #
1763
+ #
1764
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1765
+ # @option params [required, String] :instance_id
1766
+ # The instance ID.
1767
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1768
+ #
1769
+ # @example Request syntax with placeholder values
1770
+ # resp = client.deregister_instance({
1771
+ # instance_id: "String", # required
1772
+ # })
1773
+ # @overload deregister_instance(params = {})
1774
+ # @param [Hash] params ({})
1775
+ def deregister_instance(params = {}, options = {})
1776
+ req = build_request(:deregister_instance, params)
1777
+ req.send_request(options)
1778
+ end
1779
+
1780
+ # Deregisters an Amazon RDS instance.
1781
+ #
1782
+ # **Required Permissions**\: To use this action, an IAM user must have a
1783
+ # Manage permissions level for the stack, or an attached policy that
1784
+ # explicitly grants permissions. For more information on user
1785
+ # permissions, see [Managing User Permissions][1].
1786
+ #
1787
+ #
1788
+ #
1789
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1790
+ # @option params [required, String] :rds_db_instance_arn
1791
+ # The Amazon RDS instance's ARN.
1792
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1793
+ #
1794
+ # @example Request syntax with placeholder values
1795
+ # resp = client.deregister_rds_db_instance({
1796
+ # rds_db_instance_arn: "String", # required
1797
+ # })
1798
+ # @overload deregister_rds_db_instance(params = {})
1799
+ # @param [Hash] params ({})
1800
+ def deregister_rds_db_instance(params = {}, options = {})
1801
+ req = build_request(:deregister_rds_db_instance, params)
1802
+ req.send_request(options)
1803
+ end
1804
+
1805
+ # Deregisters an Amazon EBS volume. The volume can then be registered by
1806
+ # another stack. For more information, see [Resource Management][1].
1807
+ #
1808
+ # **Required Permissions**\: To use this action, an IAM user must have a
1809
+ # Manage permissions level for the stack, or an attached policy that
1810
+ # explicitly grants permissions. For more information on user
1811
+ # permissions, see [Managing User Permissions][2].
1812
+ #
1813
+ #
1814
+ #
1815
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
1816
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1817
+ # @option params [required, String] :volume_id
1818
+ # The AWS OpsWorks volume ID, which is the GUID that AWS OpsWorks
1819
+ # assigned to the instance when you registered the volume with the
1820
+ # stack, not the Amazon EC2 volume ID.
1821
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1822
+ #
1823
+ # @example Request syntax with placeholder values
1824
+ # resp = client.deregister_volume({
1825
+ # volume_id: "String", # required
1826
+ # })
1827
+ # @overload deregister_volume(params = {})
1828
+ # @param [Hash] params ({})
1829
+ def deregister_volume(params = {}, options = {})
1830
+ req = build_request(:deregister_volume, params)
1831
+ req.send_request(options)
1832
+ end
1833
+
1834
+ # Describes the available AWS OpsWorks agent versions. You must specify
1835
+ # a stack ID or a configuration manager. `DescribeAgentVersions` returns
1836
+ # a list of available agent versions for the specified stack or
1837
+ # configuration manager.
1838
+ # @option params [String] :stack_id
1839
+ # The stack ID.
1840
+ # @option params [Types::StackConfigurationManager] :configuration_manager
1841
+ # The configuration manager.
1842
+ # @return [Types::DescribeAgentVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1843
+ #
1844
+ # * {Types::DescribeAgentVersionsResult#agent_versions #AgentVersions} => Array&lt;Types::AgentVersion&gt;
1845
+ #
1846
+ # @example Request syntax with placeholder values
1847
+ # resp = client.describe_agent_versions({
1848
+ # stack_id: "String",
1849
+ # configuration_manager: {
1850
+ # name: "String",
1851
+ # version: "String",
1852
+ # },
1853
+ # })
1854
+ #
1855
+ # @example Response structure
1856
+ # resp.agent_versions #=> Array
1857
+ # resp.agent_versions[0].version #=> String
1858
+ # resp.agent_versions[0].configuration_manager.name #=> String
1859
+ # resp.agent_versions[0].configuration_manager.version #=> String
1860
+ # @overload describe_agent_versions(params = {})
1861
+ # @param [Hash] params ({})
1862
+ def describe_agent_versions(params = {}, options = {})
1863
+ req = build_request(:describe_agent_versions, params)
1864
+ req.send_request(options)
1865
+ end
1866
+
1867
+ # Requests a description of a specified set of apps.
1868
+ #
1869
+ # <note markdown="1"> You must specify at least one of the parameters.
1870
+ #
1871
+ # </note>
1872
+ #
1873
+ # **Required Permissions**\: To use this action, an IAM user must have a
1874
+ # Show, Deploy, or Manage permissions level for the stack, or an
1875
+ # attached policy that explicitly grants permissions. For more
1876
+ # information on user permissions, see [Managing User Permissions][1].
1877
+ #
1878
+ #
1879
+ #
1880
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1881
+ # @option params [String] :stack_id
1882
+ # The app stack ID. If you use this parameter, `DescribeApps` returns a
1883
+ # description of the apps in the specified stack.
1884
+ # @option params [Array<String>] :app_ids
1885
+ # An array of app IDs for the apps to be described. If you use this
1886
+ # parameter, `DescribeApps` returns a description of the specified apps.
1887
+ # Otherwise, it returns a description of every app.
1888
+ # @return [Types::DescribeAppsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1889
+ #
1890
+ # * {Types::DescribeAppsResult#apps #Apps} => Array&lt;Types::App&gt;
1891
+ #
1892
+ # @example Request syntax with placeholder values
1893
+ # resp = client.describe_apps({
1894
+ # stack_id: "String",
1895
+ # app_ids: ["String"],
1896
+ # })
1897
+ #
1898
+ # @example Response structure
1899
+ # resp.apps #=> Array
1900
+ # resp.apps[0].app_id #=> String
1901
+ # resp.apps[0].stack_id #=> String
1902
+ # resp.apps[0].shortname #=> String
1903
+ # resp.apps[0].name #=> String
1904
+ # resp.apps[0].description #=> String
1905
+ # resp.apps[0].data_sources #=> Array
1906
+ # resp.apps[0].data_sources[0].type #=> String
1907
+ # resp.apps[0].data_sources[0].arn #=> String
1908
+ # resp.apps[0].data_sources[0].database_name #=> String
1909
+ # resp.apps[0].type #=> String, one of "aws-flow-ruby", "java", "rails", "php", "nodejs", "static", "other"
1910
+ # resp.apps[0].app_source.type #=> String, one of "git", "svn", "archive", "s3"
1911
+ # resp.apps[0].app_source.url #=> String
1912
+ # resp.apps[0].app_source.username #=> String
1913
+ # resp.apps[0].app_source.password #=> String
1914
+ # resp.apps[0].app_source.ssh_key #=> String
1915
+ # resp.apps[0].app_source.revision #=> String
1916
+ # resp.apps[0].domains #=> Array
1917
+ # resp.apps[0].domains[0] #=> String
1918
+ # resp.apps[0].enable_ssl #=> Boolean
1919
+ # resp.apps[0].ssl_configuration.certificate #=> String
1920
+ # resp.apps[0].ssl_configuration.private_key #=> String
1921
+ # resp.apps[0].ssl_configuration.chain #=> String
1922
+ # resp.apps[0].attributes #=> Hash
1923
+ # resp.apps[0].attributes["AppAttributesKeys"] #=> String
1924
+ # resp.apps[0].created_at #=> String
1925
+ # resp.apps[0].environment #=> Array
1926
+ # resp.apps[0].environment[0].key #=> String
1927
+ # resp.apps[0].environment[0].value #=> String
1928
+ # resp.apps[0].environment[0].secure #=> Boolean
1929
+ # @overload describe_apps(params = {})
1930
+ # @param [Hash] params ({})
1931
+ def describe_apps(params = {}, options = {})
1932
+ req = build_request(:describe_apps, params)
1933
+ req.send_request(options)
1934
+ end
1935
+
1936
+ # Describes the results of specified commands.
1937
+ #
1938
+ # <note markdown="1"> You must specify at least one of the parameters.
1939
+ #
1940
+ # </note>
1941
+ #
1942
+ # **Required Permissions**\: To use this action, an IAM user must have a
1943
+ # Show, Deploy, or Manage permissions level for the stack, or an
1944
+ # attached policy that explicitly grants permissions. For more
1945
+ # information on user permissions, see [Managing User Permissions][1].
1946
+ #
1947
+ #
1948
+ #
1949
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
1950
+ # @option params [String] :deployment_id
1951
+ # The deployment ID. If you include this parameter, `DescribeCommands`
1952
+ # returns a description of the commands associated with the specified
1953
+ # deployment.
1954
+ # @option params [String] :instance_id
1955
+ # The instance ID. If you include this parameter, `DescribeCommands`
1956
+ # returns a description of the commands associated with the specified
1957
+ # instance.
1958
+ # @option params [Array<String>] :command_ids
1959
+ # An array of command IDs. If you include this parameter,
1960
+ # `DescribeCommands` returns a description of the specified commands.
1961
+ # Otherwise, it returns a description of every command.
1962
+ # @return [Types::DescribeCommandsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1963
+ #
1964
+ # * {Types::DescribeCommandsResult#commands #Commands} => Array&lt;Types::Command&gt;
1965
+ #
1966
+ # @example Request syntax with placeholder values
1967
+ # resp = client.describe_commands({
1968
+ # deployment_id: "String",
1969
+ # instance_id: "String",
1970
+ # command_ids: ["String"],
1971
+ # })
1972
+ #
1973
+ # @example Response structure
1974
+ # resp.commands #=> Array
1975
+ # resp.commands[0].command_id #=> String
1976
+ # resp.commands[0].instance_id #=> String
1977
+ # resp.commands[0].deployment_id #=> String
1978
+ # resp.commands[0].created_at #=> String
1979
+ # resp.commands[0].acknowledged_at #=> String
1980
+ # resp.commands[0].completed_at #=> String
1981
+ # resp.commands[0].status #=> String
1982
+ # resp.commands[0].exit_code #=> Integer
1983
+ # resp.commands[0].log_url #=> String
1984
+ # resp.commands[0].type #=> String
1985
+ # @overload describe_commands(params = {})
1986
+ # @param [Hash] params ({})
1987
+ def describe_commands(params = {}, options = {})
1988
+ req = build_request(:describe_commands, params)
1989
+ req.send_request(options)
1990
+ end
1991
+
1992
+ # Requests a description of a specified set of deployments.
1993
+ #
1994
+ # <note markdown="1"> You must specify at least one of the parameters.
1995
+ #
1996
+ # </note>
1997
+ #
1998
+ # **Required Permissions**\: To use this action, an IAM user must have a
1999
+ # Show, Deploy, or Manage permissions level for the stack, or an
2000
+ # attached policy that explicitly grants permissions. For more
2001
+ # information on user permissions, see [Managing User Permissions][1].
2002
+ #
2003
+ #
2004
+ #
2005
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2006
+ # @option params [String] :stack_id
2007
+ # The stack ID. If you include this parameter, `DescribeDeployments`
2008
+ # returns a description of the commands associated with the specified
2009
+ # stack.
2010
+ # @option params [String] :app_id
2011
+ # The app ID. If you include this parameter, `DescribeDeployments`
2012
+ # returns a description of the commands associated with the specified
2013
+ # app.
2014
+ # @option params [Array<String>] :deployment_ids
2015
+ # An array of deployment IDs to be described. If you include this
2016
+ # parameter, `DescribeDeployments` returns a description of the
2017
+ # specified deployments. Otherwise, it returns a description of every
2018
+ # deployment.
2019
+ # @return [Types::DescribeDeploymentsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2020
+ #
2021
+ # * {Types::DescribeDeploymentsResult#deployments #Deployments} => Array&lt;Types::Deployment&gt;
2022
+ #
2023
+ # @example Request syntax with placeholder values
2024
+ # resp = client.describe_deployments({
2025
+ # stack_id: "String",
2026
+ # app_id: "String",
2027
+ # deployment_ids: ["String"],
2028
+ # })
2029
+ #
2030
+ # @example Response structure
2031
+ # resp.deployments #=> Array
2032
+ # resp.deployments[0].deployment_id #=> String
2033
+ # resp.deployments[0].stack_id #=> String
2034
+ # resp.deployments[0].app_id #=> String
2035
+ # resp.deployments[0].created_at #=> String
2036
+ # resp.deployments[0].completed_at #=> String
2037
+ # resp.deployments[0].duration #=> Integer
2038
+ # resp.deployments[0].iam_user_arn #=> String
2039
+ # resp.deployments[0].comment #=> String
2040
+ # resp.deployments[0].command.name #=> String, one of "install_dependencies", "update_dependencies", "update_custom_cookbooks", "execute_recipes", "configure", "setup", "deploy", "rollback", "start", "stop", "restart", "undeploy"
2041
+ # resp.deployments[0].command.args #=> Hash
2042
+ # resp.deployments[0].command.args["String"] #=> Array
2043
+ # resp.deployments[0].command.args["String"][0] #=> String
2044
+ # resp.deployments[0].status #=> String
2045
+ # resp.deployments[0].custom_json #=> String
2046
+ # resp.deployments[0].instance_ids #=> Array
2047
+ # resp.deployments[0].instance_ids[0] #=> String
2048
+ # @overload describe_deployments(params = {})
2049
+ # @param [Hash] params ({})
2050
+ def describe_deployments(params = {}, options = {})
2051
+ req = build_request(:describe_deployments, params)
2052
+ req.send_request(options)
2053
+ end
2054
+
2055
+ # Describes Amazon ECS clusters that are registered with a stack. If you
2056
+ # specify only a stack ID, you can use the `MaxResults` and `NextToken`
2057
+ # parameters to paginate the response. However, AWS OpsWorks currently
2058
+ # supports only one cluster per layer, so the result set has a maximum
2059
+ # of one element.
2060
+ #
2061
+ # **Required Permissions**\: To use this action, an IAM user must have a
2062
+ # Show, Deploy, or Manage permissions level for the stack or an attached
2063
+ # policy that explicitly grants permission. For more information on user
2064
+ # permissions, see [Managing User Permissions][1].
2065
+ #
2066
+ #
2067
+ #
2068
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2069
+ # @option params [Array<String>] :ecs_cluster_arns
2070
+ # A list of ARNs, one for each cluster to be described.
2071
+ # @option params [String] :stack_id
2072
+ # A stack ID. `DescribeEcsClusters` returns a description of the cluster
2073
+ # that is registered with the stack.
2074
+ # @option params [String] :next_token
2075
+ # If the previous paginated request did not return all of the remaining
2076
+ # results, the response object's`NextToken` parameter value is set to a
2077
+ # token. To retrieve the next set of results, call `DescribeEcsClusters`
2078
+ # again and assign that token to the request object's `NextToken`
2079
+ # parameter. If there are no remaining results, the previous response
2080
+ # object's `NextToken` parameter is set to `null`.
2081
+ # @option params [Integer] :max_results
2082
+ # To receive a paginated response, use this parameter to specify the
2083
+ # maximum number of results to be returned with a single call. If the
2084
+ # number of available results exceeds this maximum, the response
2085
+ # includes a `NextToken` value that you can assign to the `NextToken`
2086
+ # request parameter to get the next set of results.
2087
+ # @return [Types::DescribeEcsClustersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2088
+ #
2089
+ # * {Types::DescribeEcsClustersResult#ecs_clusters #EcsClusters} => Array&lt;Types::EcsCluster&gt;
2090
+ # * {Types::DescribeEcsClustersResult#next_token #NextToken} => String
2091
+ #
2092
+ # @example Request syntax with placeholder values
2093
+ # resp = client.describe_ecs_clusters({
2094
+ # ecs_cluster_arns: ["String"],
2095
+ # stack_id: "String",
2096
+ # next_token: "String",
2097
+ # max_results: 1,
2098
+ # })
2099
+ #
2100
+ # @example Response structure
2101
+ # resp.ecs_clusters #=> Array
2102
+ # resp.ecs_clusters[0].ecs_cluster_arn #=> String
2103
+ # resp.ecs_clusters[0].ecs_cluster_name #=> String
2104
+ # resp.ecs_clusters[0].stack_id #=> String
2105
+ # resp.ecs_clusters[0].registered_at #=> String
2106
+ # resp.next_token #=> String
2107
+ # @overload describe_ecs_clusters(params = {})
2108
+ # @param [Hash] params ({})
2109
+ def describe_ecs_clusters(params = {}, options = {})
2110
+ req = build_request(:describe_ecs_clusters, params)
2111
+ req.send_request(options)
2112
+ end
2113
+
2114
+ # Describes [Elastic IP addresses][1].
2115
+ #
2116
+ # <note markdown="1"> You must specify at least one of the parameters.
2117
+ #
2118
+ # </note>
2119
+ #
2120
+ # **Required Permissions**\: To use this action, an IAM user must have a
2121
+ # Show, Deploy, or Manage permissions level for the stack, or an
2122
+ # attached policy that explicitly grants permissions. For more
2123
+ # information on user permissions, see [Managing User Permissions][2].
2124
+ #
2125
+ #
2126
+ #
2127
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
2128
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2129
+ # @option params [String] :instance_id
2130
+ # The instance ID. If you include this parameter, `DescribeElasticIps`
2131
+ # returns a description of the Elastic IP addresses associated with the
2132
+ # specified instance.
2133
+ # @option params [String] :stack_id
2134
+ # A stack ID. If you include this parameter, `DescribeElasticIps`
2135
+ # returns a description of the Elastic IP addresses that are registered
2136
+ # with the specified stack.
2137
+ # @option params [Array<String>] :ips
2138
+ # An array of Elastic IP addresses to be described. If you include this
2139
+ # parameter, `DescribeElasticIps` returns a description of the specified
2140
+ # Elastic IP addresses. Otherwise, it returns a description of every
2141
+ # Elastic IP address.
2142
+ # @return [Types::DescribeElasticIpsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2143
+ #
2144
+ # * {Types::DescribeElasticIpsResult#elastic_ips #ElasticIps} => Array&lt;Types::ElasticIp&gt;
2145
+ #
2146
+ # @example Request syntax with placeholder values
2147
+ # resp = client.describe_elastic_ips({
2148
+ # instance_id: "String",
2149
+ # stack_id: "String",
2150
+ # ips: ["String"],
2151
+ # })
2152
+ #
2153
+ # @example Response structure
2154
+ # resp.elastic_ips #=> Array
2155
+ # resp.elastic_ips[0].ip #=> String
2156
+ # resp.elastic_ips[0].name #=> String
2157
+ # resp.elastic_ips[0].domain #=> String
2158
+ # resp.elastic_ips[0].region #=> String
2159
+ # resp.elastic_ips[0].instance_id #=> String
2160
+ # @overload describe_elastic_ips(params = {})
2161
+ # @param [Hash] params ({})
2162
+ def describe_elastic_ips(params = {}, options = {})
2163
+ req = build_request(:describe_elastic_ips, params)
2164
+ req.send_request(options)
2165
+ end
2166
+
2167
+ # Describes a stack's Elastic Load Balancing instances.
2168
+ #
2169
+ # <note markdown="1"> You must specify at least one of the parameters.
2170
+ #
2171
+ # </note>
2172
+ #
2173
+ # **Required Permissions**\: To use this action, an IAM user must have a
2174
+ # Show, Deploy, or Manage permissions level for the stack, or an
2175
+ # attached policy that explicitly grants permissions. For more
2176
+ # information on user permissions, see [Managing User Permissions][1].
2177
+ #
2178
+ #
2179
+ #
2180
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2181
+ # @option params [String] :stack_id
2182
+ # A stack ID. The action describes the stack's Elastic Load Balancing
2183
+ # instances.
2184
+ # @option params [Array<String>] :layer_ids
2185
+ # A list of layer IDs. The action describes the Elastic Load Balancing
2186
+ # instances for the specified layers.
2187
+ # @return [Types::DescribeElasticLoadBalancersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2188
+ #
2189
+ # * {Types::DescribeElasticLoadBalancersResult#elastic_load_balancers #ElasticLoadBalancers} => Array&lt;Types::ElasticLoadBalancer&gt;
2190
+ #
2191
+ # @example Request syntax with placeholder values
2192
+ # resp = client.describe_elastic_load_balancers({
2193
+ # stack_id: "String",
2194
+ # layer_ids: ["String"],
2195
+ # })
2196
+ #
2197
+ # @example Response structure
2198
+ # resp.elastic_load_balancers #=> Array
2199
+ # resp.elastic_load_balancers[0].elastic_load_balancer_name #=> String
2200
+ # resp.elastic_load_balancers[0].region #=> String
2201
+ # resp.elastic_load_balancers[0].dns_name #=> String
2202
+ # resp.elastic_load_balancers[0].stack_id #=> String
2203
+ # resp.elastic_load_balancers[0].layer_id #=> String
2204
+ # resp.elastic_load_balancers[0].vpc_id #=> String
2205
+ # resp.elastic_load_balancers[0].availability_zones #=> Array
2206
+ # resp.elastic_load_balancers[0].availability_zones[0] #=> String
2207
+ # resp.elastic_load_balancers[0].subnet_ids #=> Array
2208
+ # resp.elastic_load_balancers[0].subnet_ids[0] #=> String
2209
+ # resp.elastic_load_balancers[0].ec2_instance_ids #=> Array
2210
+ # resp.elastic_load_balancers[0].ec2_instance_ids[0] #=> String
2211
+ # @overload describe_elastic_load_balancers(params = {})
2212
+ # @param [Hash] params ({})
2213
+ def describe_elastic_load_balancers(params = {}, options = {})
2214
+ req = build_request(:describe_elastic_load_balancers, params)
2215
+ req.send_request(options)
2216
+ end
2217
+
2218
+ # Requests a description of a set of instances.
2219
+ #
2220
+ # <note markdown="1"> You must specify at least one of the parameters.
2221
+ #
2222
+ # </note>
2223
+ #
2224
+ # **Required Permissions**\: To use this action, an IAM user must have a
2225
+ # Show, Deploy, or Manage permissions level for the stack, or an
2226
+ # attached policy that explicitly grants permissions. For more
2227
+ # information on user permissions, see [Managing User Permissions][1].
2228
+ #
2229
+ #
2230
+ #
2231
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2232
+ # @option params [String] :stack_id
2233
+ # A stack ID. If you use this parameter, `DescribeInstances` returns
2234
+ # descriptions of the instances associated with the specified stack.
2235
+ # @option params [String] :layer_id
2236
+ # A layer ID. If you use this parameter, `DescribeInstances` returns
2237
+ # descriptions of the instances associated with the specified layer.
2238
+ # @option params [Array<String>] :instance_ids
2239
+ # An array of instance IDs to be described. If you use this parameter,
2240
+ # `DescribeInstances` returns a description of the specified instances.
2241
+ # Otherwise, it returns a description of every instance.
2242
+ # @return [Types::DescribeInstancesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2243
+ #
2244
+ # * {Types::DescribeInstancesResult#instances #Instances} => Array&lt;Types::Instance&gt;
2245
+ #
2246
+ # @example Request syntax with placeholder values
2247
+ # resp = client.describe_instances({
2248
+ # stack_id: "String",
2249
+ # layer_id: "String",
2250
+ # instance_ids: ["String"],
2251
+ # })
2252
+ #
2253
+ # @example Response structure
2254
+ # resp.instances #=> Array
2255
+ # resp.instances[0].agent_version #=> String
2256
+ # resp.instances[0].ami_id #=> String
2257
+ # resp.instances[0].architecture #=> String, one of "x86_64", "i386"
2258
+ # resp.instances[0].auto_scaling_type #=> String, one of "load", "timer"
2259
+ # resp.instances[0].availability_zone #=> String
2260
+ # resp.instances[0].block_device_mappings #=> Array
2261
+ # resp.instances[0].block_device_mappings[0].device_name #=> String
2262
+ # resp.instances[0].block_device_mappings[0].no_device #=> String
2263
+ # resp.instances[0].block_device_mappings[0].virtual_name #=> String
2264
+ # resp.instances[0].block_device_mappings[0].ebs.snapshot_id #=> String
2265
+ # resp.instances[0].block_device_mappings[0].ebs.iops #=> Integer
2266
+ # resp.instances[0].block_device_mappings[0].ebs.volume_size #=> Integer
2267
+ # resp.instances[0].block_device_mappings[0].ebs.volume_type #=> String, one of "gp2", "io1", "standard"
2268
+ # resp.instances[0].block_device_mappings[0].ebs.delete_on_termination #=> Boolean
2269
+ # resp.instances[0].created_at #=> String
2270
+ # resp.instances[0].ebs_optimized #=> Boolean
2271
+ # resp.instances[0].ec2_instance_id #=> String
2272
+ # resp.instances[0].ecs_cluster_arn #=> String
2273
+ # resp.instances[0].ecs_container_instance_arn #=> String
2274
+ # resp.instances[0].elastic_ip #=> String
2275
+ # resp.instances[0].hostname #=> String
2276
+ # resp.instances[0].infrastructure_class #=> String
2277
+ # resp.instances[0].install_updates_on_boot #=> Boolean
2278
+ # resp.instances[0].instance_id #=> String
2279
+ # resp.instances[0].instance_profile_arn #=> String
2280
+ # resp.instances[0].instance_type #=> String
2281
+ # resp.instances[0].last_service_error_id #=> String
2282
+ # resp.instances[0].layer_ids #=> Array
2283
+ # resp.instances[0].layer_ids[0] #=> String
2284
+ # resp.instances[0].os #=> String
2285
+ # resp.instances[0].platform #=> String
2286
+ # resp.instances[0].private_dns #=> String
2287
+ # resp.instances[0].private_ip #=> String
2288
+ # resp.instances[0].public_dns #=> String
2289
+ # resp.instances[0].public_ip #=> String
2290
+ # resp.instances[0].registered_by #=> String
2291
+ # resp.instances[0].reported_agent_version #=> String
2292
+ # resp.instances[0].reported_os.family #=> String
2293
+ # resp.instances[0].reported_os.name #=> String
2294
+ # resp.instances[0].reported_os.version #=> String
2295
+ # resp.instances[0].root_device_type #=> String, one of "ebs", "instance-store"
2296
+ # resp.instances[0].root_device_volume_id #=> String
2297
+ # resp.instances[0].security_group_ids #=> Array
2298
+ # resp.instances[0].security_group_ids[0] #=> String
2299
+ # resp.instances[0].ssh_host_dsa_key_fingerprint #=> String
2300
+ # resp.instances[0].ssh_host_rsa_key_fingerprint #=> String
2301
+ # resp.instances[0].ssh_key_name #=> String
2302
+ # resp.instances[0].stack_id #=> String
2303
+ # resp.instances[0].status #=> String
2304
+ # resp.instances[0].subnet_id #=> String
2305
+ # resp.instances[0].tenancy #=> String
2306
+ # resp.instances[0].virtualization_type #=> String, one of "paravirtual", "hvm"
2307
+ # @overload describe_instances(params = {})
2308
+ # @param [Hash] params ({})
2309
+ def describe_instances(params = {}, options = {})
2310
+ req = build_request(:describe_instances, params)
2311
+ req.send_request(options)
2312
+ end
2313
+
2314
+ # Requests a description of one or more layers in a specified stack.
2315
+ #
2316
+ # <note markdown="1"> You must specify at least one of the parameters.
2317
+ #
2318
+ # </note>
2319
+ #
2320
+ # **Required Permissions**\: To use this action, an IAM user must have a
2321
+ # Show, Deploy, or Manage permissions level for the stack, or an
2322
+ # attached policy that explicitly grants permissions. For more
2323
+ # information on user permissions, see [Managing User Permissions][1].
2324
+ #
2325
+ #
2326
+ #
2327
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2328
+ # @option params [String] :stack_id
2329
+ # The stack ID.
2330
+ # @option params [Array<String>] :layer_ids
2331
+ # An array of layer IDs that specify the layers to be described. If you
2332
+ # omit this parameter, `DescribeLayers` returns a description of every
2333
+ # layer in the specified stack.
2334
+ # @return [Types::DescribeLayersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2335
+ #
2336
+ # * {Types::DescribeLayersResult#layers #Layers} => Array&lt;Types::Layer&gt;
2337
+ #
2338
+ # @example Request syntax with placeholder values
2339
+ # resp = client.describe_layers({
2340
+ # stack_id: "String",
2341
+ # layer_ids: ["String"],
2342
+ # })
2343
+ #
2344
+ # @example Response structure
2345
+ # resp.layers #=> Array
2346
+ # resp.layers[0].stack_id #=> String
2347
+ # resp.layers[0].layer_id #=> String
2348
+ # resp.layers[0].type #=> String, one of "aws-flow-ruby", "ecs-cluster", "java-app", "lb", "web", "php-app", "rails-app", "nodejs-app", "memcached", "db-master", "monitoring-master", "custom"
2349
+ # resp.layers[0].name #=> String
2350
+ # resp.layers[0].shortname #=> String
2351
+ # resp.layers[0].attributes #=> Hash
2352
+ # resp.layers[0].attributes["LayerAttributesKeys"] #=> String
2353
+ # resp.layers[0].custom_instance_profile_arn #=> String
2354
+ # resp.layers[0].custom_json #=> String
2355
+ # resp.layers[0].custom_security_group_ids #=> Array
2356
+ # resp.layers[0].custom_security_group_ids[0] #=> String
2357
+ # resp.layers[0].default_security_group_names #=> Array
2358
+ # resp.layers[0].default_security_group_names[0] #=> String
2359
+ # resp.layers[0].packages #=> Array
2360
+ # resp.layers[0].packages[0] #=> String
2361
+ # resp.layers[0].volume_configurations #=> Array
2362
+ # resp.layers[0].volume_configurations[0].mount_point #=> String
2363
+ # resp.layers[0].volume_configurations[0].raid_level #=> Integer
2364
+ # resp.layers[0].volume_configurations[0].number_of_disks #=> Integer
2365
+ # resp.layers[0].volume_configurations[0].size #=> Integer
2366
+ # resp.layers[0].volume_configurations[0].volume_type #=> String
2367
+ # resp.layers[0].volume_configurations[0].iops #=> Integer
2368
+ # resp.layers[0].enable_auto_healing #=> Boolean
2369
+ # resp.layers[0].auto_assign_elastic_ips #=> Boolean
2370
+ # resp.layers[0].auto_assign_public_ips #=> Boolean
2371
+ # resp.layers[0].default_recipes.setup #=> Array
2372
+ # resp.layers[0].default_recipes.setup[0] #=> String
2373
+ # resp.layers[0].default_recipes.configure #=> Array
2374
+ # resp.layers[0].default_recipes.configure[0] #=> String
2375
+ # resp.layers[0].default_recipes.deploy #=> Array
2376
+ # resp.layers[0].default_recipes.deploy[0] #=> String
2377
+ # resp.layers[0].default_recipes.undeploy #=> Array
2378
+ # resp.layers[0].default_recipes.undeploy[0] #=> String
2379
+ # resp.layers[0].default_recipes.shutdown #=> Array
2380
+ # resp.layers[0].default_recipes.shutdown[0] #=> String
2381
+ # resp.layers[0].custom_recipes.setup #=> Array
2382
+ # resp.layers[0].custom_recipes.setup[0] #=> String
2383
+ # resp.layers[0].custom_recipes.configure #=> Array
2384
+ # resp.layers[0].custom_recipes.configure[0] #=> String
2385
+ # resp.layers[0].custom_recipes.deploy #=> Array
2386
+ # resp.layers[0].custom_recipes.deploy[0] #=> String
2387
+ # resp.layers[0].custom_recipes.undeploy #=> Array
2388
+ # resp.layers[0].custom_recipes.undeploy[0] #=> String
2389
+ # resp.layers[0].custom_recipes.shutdown #=> Array
2390
+ # resp.layers[0].custom_recipes.shutdown[0] #=> String
2391
+ # resp.layers[0].created_at #=> String
2392
+ # resp.layers[0].install_updates_on_boot #=> Boolean
2393
+ # resp.layers[0].use_ebs_optimized_instances #=> Boolean
2394
+ # resp.layers[0].lifecycle_event_configuration.shutdown.execution_timeout #=> Integer
2395
+ # resp.layers[0].lifecycle_event_configuration.shutdown.delay_until_elb_connections_drained #=> Boolean
2396
+ # @overload describe_layers(params = {})
2397
+ # @param [Hash] params ({})
2398
+ def describe_layers(params = {}, options = {})
2399
+ req = build_request(:describe_layers, params)
2400
+ req.send_request(options)
2401
+ end
2402
+
2403
+ # Describes load-based auto scaling configurations for specified layers.
2404
+ #
2405
+ # <note markdown="1"> You must specify at least one of the parameters.
2406
+ #
2407
+ # </note>
2408
+ #
2409
+ # **Required Permissions**\: To use this action, an IAM user must have a
2410
+ # Show, Deploy, or Manage permissions level for the stack, or an
2411
+ # attached policy that explicitly grants permissions. For more
2412
+ # information on user permissions, see [Managing User Permissions][1].
2413
+ #
2414
+ #
2415
+ #
2416
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2417
+ # @option params [required, Array<String>] :layer_ids
2418
+ # An array of layer IDs.
2419
+ # @return [Types::DescribeLoadBasedAutoScalingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2420
+ #
2421
+ # * {Types::DescribeLoadBasedAutoScalingResult#load_based_auto_scaling_configurations #LoadBasedAutoScalingConfigurations} => Array&lt;Types::LoadBasedAutoScalingConfiguration&gt;
2422
+ #
2423
+ # @example Request syntax with placeholder values
2424
+ # resp = client.describe_load_based_auto_scaling({
2425
+ # layer_ids: ["String"], # required
2426
+ # })
2427
+ #
2428
+ # @example Response structure
2429
+ # resp.load_based_auto_scaling_configurations #=> Array
2430
+ # resp.load_based_auto_scaling_configurations[0].layer_id #=> String
2431
+ # resp.load_based_auto_scaling_configurations[0].enable #=> Boolean
2432
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.instance_count #=> Integer
2433
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.thresholds_wait_time #=> Integer
2434
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.ignore_metrics_time #=> Integer
2435
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.cpu_threshold #=> Float
2436
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.memory_threshold #=> Float
2437
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.load_threshold #=> Float
2438
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.alarms #=> Array
2439
+ # resp.load_based_auto_scaling_configurations[0].up_scaling.alarms[0] #=> String
2440
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.instance_count #=> Integer
2441
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.thresholds_wait_time #=> Integer
2442
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.ignore_metrics_time #=> Integer
2443
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.cpu_threshold #=> Float
2444
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.memory_threshold #=> Float
2445
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.load_threshold #=> Float
2446
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.alarms #=> Array
2447
+ # resp.load_based_auto_scaling_configurations[0].down_scaling.alarms[0] #=> String
2448
+ # @overload describe_load_based_auto_scaling(params = {})
2449
+ # @param [Hash] params ({})
2450
+ def describe_load_based_auto_scaling(params = {}, options = {})
2451
+ req = build_request(:describe_load_based_auto_scaling, params)
2452
+ req.send_request(options)
2453
+ end
2454
+
2455
+ # Describes a user's SSH information.
2456
+ #
2457
+ # **Required Permissions**\: To use this action, an IAM user must have
2458
+ # self-management enabled or an attached policy that explicitly grants
2459
+ # permissions. For more information on user permissions, see [Managing
2460
+ # User Permissions][1].
2461
+ #
2462
+ #
2463
+ #
2464
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2465
+ # @return [Types::DescribeMyUserProfileResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2466
+ #
2467
+ # * {Types::DescribeMyUserProfileResult#user_profile #UserProfile} => Types::SelfUserProfile
2468
+ #
2469
+ # @example Response structure
2470
+ # resp.user_profile.iam_user_arn #=> String
2471
+ # resp.user_profile.name #=> String
2472
+ # resp.user_profile.ssh_username #=> String
2473
+ # resp.user_profile.ssh_public_key #=> String
2474
+ # @overload describe_my_user_profile(params = {})
2475
+ # @param [Hash] params ({})
2476
+ def describe_my_user_profile(params = {}, options = {})
2477
+ req = build_request(:describe_my_user_profile, params)
2478
+ req.send_request(options)
2479
+ end
2480
+
2481
+ # Describes the permissions for a specified stack.
2482
+ #
2483
+ # **Required Permissions**\: To use this action, an IAM user must have a
2484
+ # Manage permissions level for the stack, or an attached policy that
2485
+ # explicitly grants permissions. For more information on user
2486
+ # permissions, see [Managing User Permissions][1].
2487
+ #
2488
+ #
2489
+ #
2490
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2491
+ # @option params [String] :iam_user_arn
2492
+ # The user's IAM ARN. This can also be a federated user's ARN. For
2493
+ # more information about IAM ARNs, see [Using Identifiers][1].
2494
+ #
2495
+ #
2496
+ #
2497
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
2498
+ # @option params [String] :stack_id
2499
+ # The stack ID.
2500
+ # @return [Types::DescribePermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2501
+ #
2502
+ # * {Types::DescribePermissionsResult#permissions #Permissions} => Array&lt;Types::Permission&gt;
2503
+ #
2504
+ # @example Request syntax with placeholder values
2505
+ # resp = client.describe_permissions({
2506
+ # iam_user_arn: "String",
2507
+ # stack_id: "String",
2508
+ # })
2509
+ #
2510
+ # @example Response structure
2511
+ # resp.permissions #=> Array
2512
+ # resp.permissions[0].stack_id #=> String
2513
+ # resp.permissions[0].iam_user_arn #=> String
2514
+ # resp.permissions[0].allow_ssh #=> Boolean
2515
+ # resp.permissions[0].allow_sudo #=> Boolean
2516
+ # resp.permissions[0].level #=> String
2517
+ # @overload describe_permissions(params = {})
2518
+ # @param [Hash] params ({})
2519
+ def describe_permissions(params = {}, options = {})
2520
+ req = build_request(:describe_permissions, params)
2521
+ req.send_request(options)
2522
+ end
2523
+
2524
+ # Describe an instance's RAID arrays.
2525
+ #
2526
+ # <note markdown="1"> You must specify at least one of the parameters.
2527
+ #
2528
+ # </note>
2529
+ #
2530
+ # **Required Permissions**\: To use this action, an IAM user must have a
2531
+ # Show, Deploy, or Manage permissions level for the stack, or an
2532
+ # attached policy that explicitly grants permissions. For more
2533
+ # information on user permissions, see [Managing User Permissions][1].
2534
+ #
2535
+ #
2536
+ #
2537
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2538
+ # @option params [String] :instance_id
2539
+ # The instance ID. If you use this parameter, `DescribeRaidArrays`
2540
+ # returns descriptions of the RAID arrays associated with the specified
2541
+ # instance.
2542
+ # @option params [String] :stack_id
2543
+ # The stack ID.
2544
+ # @option params [Array<String>] :raid_array_ids
2545
+ # An array of RAID array IDs. If you use this parameter,
2546
+ # `DescribeRaidArrays` returns descriptions of the specified arrays.
2547
+ # Otherwise, it returns a description of every array.
2548
+ # @return [Types::DescribeRaidArraysResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2549
+ #
2550
+ # * {Types::DescribeRaidArraysResult#raid_arrays #RaidArrays} => Array&lt;Types::RaidArray&gt;
2551
+ #
2552
+ # @example Request syntax with placeholder values
2553
+ # resp = client.describe_raid_arrays({
2554
+ # instance_id: "String",
2555
+ # stack_id: "String",
2556
+ # raid_array_ids: ["String"],
2557
+ # })
2558
+ #
2559
+ # @example Response structure
2560
+ # resp.raid_arrays #=> Array
2561
+ # resp.raid_arrays[0].raid_array_id #=> String
2562
+ # resp.raid_arrays[0].instance_id #=> String
2563
+ # resp.raid_arrays[0].name #=> String
2564
+ # resp.raid_arrays[0].raid_level #=> Integer
2565
+ # resp.raid_arrays[0].number_of_disks #=> Integer
2566
+ # resp.raid_arrays[0].size #=> Integer
2567
+ # resp.raid_arrays[0].device #=> String
2568
+ # resp.raid_arrays[0].mount_point #=> String
2569
+ # resp.raid_arrays[0].availability_zone #=> String
2570
+ # resp.raid_arrays[0].created_at #=> String
2571
+ # resp.raid_arrays[0].stack_id #=> String
2572
+ # resp.raid_arrays[0].volume_type #=> String
2573
+ # resp.raid_arrays[0].iops #=> Integer
2574
+ # @overload describe_raid_arrays(params = {})
2575
+ # @param [Hash] params ({})
2576
+ def describe_raid_arrays(params = {}, options = {})
2577
+ req = build_request(:describe_raid_arrays, params)
2578
+ req.send_request(options)
2579
+ end
2580
+
2581
+ # Describes Amazon RDS instances.
2582
+ #
2583
+ # **Required Permissions**\: To use this action, an IAM user must have a
2584
+ # Show, Deploy, or Manage permissions level for the stack, or an
2585
+ # attached policy that explicitly grants permissions. For more
2586
+ # information on user permissions, see [Managing User Permissions][1].
2587
+ #
2588
+ #
2589
+ #
2590
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2591
+ # @option params [required, String] :stack_id
2592
+ # The stack ID that the instances are registered with. The operation
2593
+ # returns descriptions of all registered Amazon RDS instances.
2594
+ # @option params [Array<String>] :rds_db_instance_arns
2595
+ # An array containing the ARNs of the instances to be described.
2596
+ # @return [Types::DescribeRdsDbInstancesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2597
+ #
2598
+ # * {Types::DescribeRdsDbInstancesResult#rds_db_instances #RdsDbInstances} => Array&lt;Types::RdsDbInstance&gt;
2599
+ #
2600
+ # @example Request syntax with placeholder values
2601
+ # resp = client.describe_rds_db_instances({
2602
+ # stack_id: "String", # required
2603
+ # rds_db_instance_arns: ["String"],
2604
+ # })
2605
+ #
2606
+ # @example Response structure
2607
+ # resp.rds_db_instances #=> Array
2608
+ # resp.rds_db_instances[0].rds_db_instance_arn #=> String
2609
+ # resp.rds_db_instances[0].db_instance_identifier #=> String
2610
+ # resp.rds_db_instances[0].db_user #=> String
2611
+ # resp.rds_db_instances[0].db_password #=> String
2612
+ # resp.rds_db_instances[0].region #=> String
2613
+ # resp.rds_db_instances[0].address #=> String
2614
+ # resp.rds_db_instances[0].engine #=> String
2615
+ # resp.rds_db_instances[0].stack_id #=> String
2616
+ # resp.rds_db_instances[0].missing_on_rds #=> Boolean
2617
+ # @overload describe_rds_db_instances(params = {})
2618
+ # @param [Hash] params ({})
2619
+ def describe_rds_db_instances(params = {}, options = {})
2620
+ req = build_request(:describe_rds_db_instances, params)
2621
+ req.send_request(options)
2622
+ end
2623
+
2624
+ # Describes AWS OpsWorks service errors.
2625
+ #
2626
+ # **Required Permissions**\: To use this action, an IAM user must have a
2627
+ # Show, Deploy, or Manage permissions level for the stack, or an
2628
+ # attached policy that explicitly grants permissions. For more
2629
+ # information on user permissions, see [Managing User Permissions][1].
2630
+ #
2631
+ #
2632
+ #
2633
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2634
+ # @option params [String] :stack_id
2635
+ # The stack ID. If you use this parameter, `DescribeServiceErrors`
2636
+ # returns descriptions of the errors associated with the specified
2637
+ # stack.
2638
+ # @option params [String] :instance_id
2639
+ # The instance ID. If you use this parameter, `DescribeServiceErrors`
2640
+ # returns descriptions of the errors associated with the specified
2641
+ # instance.
2642
+ # @option params [Array<String>] :service_error_ids
2643
+ # An array of service error IDs. If you use this parameter,
2644
+ # `DescribeServiceErrors` returns descriptions of the specified errors.
2645
+ # Otherwise, it returns a description of every error.
2646
+ # @return [Types::DescribeServiceErrorsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2647
+ #
2648
+ # * {Types::DescribeServiceErrorsResult#service_errors #ServiceErrors} => Array&lt;Types::ServiceError&gt;
2649
+ #
2650
+ # @example Request syntax with placeholder values
2651
+ # resp = client.describe_service_errors({
2652
+ # stack_id: "String",
2653
+ # instance_id: "String",
2654
+ # service_error_ids: ["String"],
2655
+ # })
2656
+ #
2657
+ # @example Response structure
2658
+ # resp.service_errors #=> Array
2659
+ # resp.service_errors[0].service_error_id #=> String
2660
+ # resp.service_errors[0].stack_id #=> String
2661
+ # resp.service_errors[0].instance_id #=> String
2662
+ # resp.service_errors[0].type #=> String
2663
+ # resp.service_errors[0].message #=> String
2664
+ # resp.service_errors[0].created_at #=> String
2665
+ # @overload describe_service_errors(params = {})
2666
+ # @param [Hash] params ({})
2667
+ def describe_service_errors(params = {}, options = {})
2668
+ req = build_request(:describe_service_errors, params)
2669
+ req.send_request(options)
2670
+ end
2671
+
2672
+ # Requests a description of a stack's provisioning parameters.
2673
+ #
2674
+ # **Required Permissions**\: To use this action, an IAM user must have a
2675
+ # Show, Deploy, or Manage permissions level for the stack or an attached
2676
+ # policy that explicitly grants permissions. For more information on
2677
+ # user permissions, see [Managing User Permissions][1].
2678
+ #
2679
+ #
2680
+ #
2681
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2682
+ # @option params [required, String] :stack_id
2683
+ # The stack ID
2684
+ # @return [Types::DescribeStackProvisioningParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2685
+ #
2686
+ # * {Types::DescribeStackProvisioningParametersResult#agent_installer_url #AgentInstallerUrl} => String
2687
+ # * {Types::DescribeStackProvisioningParametersResult#parameters #Parameters} => Hash&lt;String,String&gt;
2688
+ #
2689
+ # @example Request syntax with placeholder values
2690
+ # resp = client.describe_stack_provisioning_parameters({
2691
+ # stack_id: "String", # required
2692
+ # })
2693
+ #
2694
+ # @example Response structure
2695
+ # resp.agent_installer_url #=> String
2696
+ # resp.parameters #=> Hash
2697
+ # resp.parameters["String"] #=> String
2698
+ # @overload describe_stack_provisioning_parameters(params = {})
2699
+ # @param [Hash] params ({})
2700
+ def describe_stack_provisioning_parameters(params = {}, options = {})
2701
+ req = build_request(:describe_stack_provisioning_parameters, params)
2702
+ req.send_request(options)
2703
+ end
2704
+
2705
+ # Describes the number of layers and apps in a specified stack, and the
2706
+ # number of instances in each state, such as `running_setup` or
2707
+ # `online`.
2708
+ #
2709
+ # **Required Permissions**\: To use this action, an IAM user must have a
2710
+ # Show, Deploy, or Manage permissions level for the stack, or an
2711
+ # attached policy that explicitly grants permissions. For more
2712
+ # information on user permissions, see [Managing User Permissions][1].
2713
+ #
2714
+ #
2715
+ #
2716
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2717
+ # @option params [required, String] :stack_id
2718
+ # The stack ID.
2719
+ # @return [Types::DescribeStackSummaryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2720
+ #
2721
+ # * {Types::DescribeStackSummaryResult#stack_summary #StackSummary} => Types::StackSummary
2722
+ #
2723
+ # @example Request syntax with placeholder values
2724
+ # resp = client.describe_stack_summary({
2725
+ # stack_id: "String", # required
2726
+ # })
2727
+ #
2728
+ # @example Response structure
2729
+ # resp.stack_summary.stack_id #=> String
2730
+ # resp.stack_summary.name #=> String
2731
+ # resp.stack_summary.arn #=> String
2732
+ # resp.stack_summary.layers_count #=> Integer
2733
+ # resp.stack_summary.apps_count #=> Integer
2734
+ # resp.stack_summary.instances_count.assigning #=> Integer
2735
+ # resp.stack_summary.instances_count.booting #=> Integer
2736
+ # resp.stack_summary.instances_count.connection_lost #=> Integer
2737
+ # resp.stack_summary.instances_count.deregistering #=> Integer
2738
+ # resp.stack_summary.instances_count.online #=> Integer
2739
+ # resp.stack_summary.instances_count.pending #=> Integer
2740
+ # resp.stack_summary.instances_count.rebooting #=> Integer
2741
+ # resp.stack_summary.instances_count.registered #=> Integer
2742
+ # resp.stack_summary.instances_count.registering #=> Integer
2743
+ # resp.stack_summary.instances_count.requested #=> Integer
2744
+ # resp.stack_summary.instances_count.running_setup #=> Integer
2745
+ # resp.stack_summary.instances_count.setup_failed #=> Integer
2746
+ # resp.stack_summary.instances_count.shutting_down #=> Integer
2747
+ # resp.stack_summary.instances_count.start_failed #=> Integer
2748
+ # resp.stack_summary.instances_count.stopped #=> Integer
2749
+ # resp.stack_summary.instances_count.stopping #=> Integer
2750
+ # resp.stack_summary.instances_count.terminated #=> Integer
2751
+ # resp.stack_summary.instances_count.terminating #=> Integer
2752
+ # resp.stack_summary.instances_count.unassigning #=> Integer
2753
+ # @overload describe_stack_summary(params = {})
2754
+ # @param [Hash] params ({})
2755
+ def describe_stack_summary(params = {}, options = {})
2756
+ req = build_request(:describe_stack_summary, params)
2757
+ req.send_request(options)
2758
+ end
2759
+
2760
+ # Requests a description of one or more stacks.
2761
+ #
2762
+ # **Required Permissions**\: To use this action, an IAM user must have a
2763
+ # Show, Deploy, or Manage permissions level for the stack, or an
2764
+ # attached policy that explicitly grants permissions. For more
2765
+ # information on user permissions, see [Managing User Permissions][1].
2766
+ #
2767
+ #
2768
+ #
2769
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2770
+ # @option params [Array<String>] :stack_ids
2771
+ # An array of stack IDs that specify the stacks to be described. If you
2772
+ # omit this parameter, `DescribeStacks` returns a description of every
2773
+ # stack.
2774
+ # @return [Types::DescribeStacksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2775
+ #
2776
+ # * {Types::DescribeStacksResult#stacks #Stacks} => Array&lt;Types::Stack&gt;
2777
+ #
2778
+ # @example Request syntax with placeholder values
2779
+ # resp = client.describe_stacks({
2780
+ # stack_ids: ["String"],
2781
+ # })
2782
+ #
2783
+ # @example Response structure
2784
+ # resp.stacks #=> Array
2785
+ # resp.stacks[0].stack_id #=> String
2786
+ # resp.stacks[0].name #=> String
2787
+ # resp.stacks[0].arn #=> String
2788
+ # resp.stacks[0].region #=> String
2789
+ # resp.stacks[0].vpc_id #=> String
2790
+ # resp.stacks[0].attributes #=> Hash
2791
+ # resp.stacks[0].attributes["StackAttributesKeys"] #=> String
2792
+ # resp.stacks[0].service_role_arn #=> String
2793
+ # resp.stacks[0].default_instance_profile_arn #=> String
2794
+ # resp.stacks[0].default_os #=> String
2795
+ # resp.stacks[0].hostname_theme #=> String
2796
+ # resp.stacks[0].default_availability_zone #=> String
2797
+ # resp.stacks[0].default_subnet_id #=> String
2798
+ # resp.stacks[0].custom_json #=> String
2799
+ # resp.stacks[0].configuration_manager.name #=> String
2800
+ # resp.stacks[0].configuration_manager.version #=> String
2801
+ # resp.stacks[0].chef_configuration.manage_berkshelf #=> Boolean
2802
+ # resp.stacks[0].chef_configuration.berkshelf_version #=> String
2803
+ # resp.stacks[0].use_custom_cookbooks #=> Boolean
2804
+ # resp.stacks[0].use_opsworks_security_groups #=> Boolean
2805
+ # resp.stacks[0].custom_cookbooks_source.type #=> String, one of "git", "svn", "archive", "s3"
2806
+ # resp.stacks[0].custom_cookbooks_source.url #=> String
2807
+ # resp.stacks[0].custom_cookbooks_source.username #=> String
2808
+ # resp.stacks[0].custom_cookbooks_source.password #=> String
2809
+ # resp.stacks[0].custom_cookbooks_source.ssh_key #=> String
2810
+ # resp.stacks[0].custom_cookbooks_source.revision #=> String
2811
+ # resp.stacks[0].default_ssh_key_name #=> String
2812
+ # resp.stacks[0].created_at #=> String
2813
+ # resp.stacks[0].default_root_device_type #=> String, one of "ebs", "instance-store"
2814
+ # resp.stacks[0].agent_version #=> String
2815
+ # @overload describe_stacks(params = {})
2816
+ # @param [Hash] params ({})
2817
+ def describe_stacks(params = {}, options = {})
2818
+ req = build_request(:describe_stacks, params)
2819
+ req.send_request(options)
2820
+ end
2821
+
2822
+ # Describes time-based auto scaling configurations for specified
2823
+ # instances.
2824
+ #
2825
+ # <note markdown="1"> You must specify at least one of the parameters.
2826
+ #
2827
+ # </note>
2828
+ #
2829
+ # **Required Permissions**\: To use this action, an IAM user must have a
2830
+ # Show, Deploy, or Manage permissions level for the stack, or an
2831
+ # attached policy that explicitly grants permissions. For more
2832
+ # information on user permissions, see [Managing User Permissions][1].
2833
+ #
2834
+ #
2835
+ #
2836
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2837
+ # @option params [required, Array<String>] :instance_ids
2838
+ # An array of instance IDs.
2839
+ # @return [Types::DescribeTimeBasedAutoScalingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2840
+ #
2841
+ # * {Types::DescribeTimeBasedAutoScalingResult#time_based_auto_scaling_configurations #TimeBasedAutoScalingConfigurations} => Array&lt;Types::TimeBasedAutoScalingConfiguration&gt;
2842
+ #
2843
+ # @example Request syntax with placeholder values
2844
+ # resp = client.describe_time_based_auto_scaling({
2845
+ # instance_ids: ["String"], # required
2846
+ # })
2847
+ #
2848
+ # @example Response structure
2849
+ # resp.time_based_auto_scaling_configurations #=> Array
2850
+ # resp.time_based_auto_scaling_configurations[0].instance_id #=> String
2851
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.monday #=> Hash
2852
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.monday["Hour"] #=> String
2853
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.tuesday #=> Hash
2854
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.tuesday["Hour"] #=> String
2855
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.wednesday #=> Hash
2856
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.wednesday["Hour"] #=> String
2857
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.thursday #=> Hash
2858
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.thursday["Hour"] #=> String
2859
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.friday #=> Hash
2860
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.friday["Hour"] #=> String
2861
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.saturday #=> Hash
2862
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.saturday["Hour"] #=> String
2863
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.sunday #=> Hash
2864
+ # resp.time_based_auto_scaling_configurations[0].auto_scaling_schedule.sunday["Hour"] #=> String
2865
+ # @overload describe_time_based_auto_scaling(params = {})
2866
+ # @param [Hash] params ({})
2867
+ def describe_time_based_auto_scaling(params = {}, options = {})
2868
+ req = build_request(:describe_time_based_auto_scaling, params)
2869
+ req.send_request(options)
2870
+ end
2871
+
2872
+ # Describe specified users.
2873
+ #
2874
+ # **Required Permissions**\: To use this action, an IAM user must have
2875
+ # an attached policy that explicitly grants permissions. For more
2876
+ # information on user permissions, see [Managing User Permissions][1].
2877
+ #
2878
+ #
2879
+ #
2880
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2881
+ # @option params [Array<String>] :iam_user_arns
2882
+ # An array of IAM or federated user ARNs that identify the users to be
2883
+ # described.
2884
+ # @return [Types::DescribeUserProfilesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2885
+ #
2886
+ # * {Types::DescribeUserProfilesResult#user_profiles #UserProfiles} => Array&lt;Types::UserProfile&gt;
2887
+ #
2888
+ # @example Request syntax with placeholder values
2889
+ # resp = client.describe_user_profiles({
2890
+ # iam_user_arns: ["String"],
2891
+ # })
2892
+ #
2893
+ # @example Response structure
2894
+ # resp.user_profiles #=> Array
2895
+ # resp.user_profiles[0].iam_user_arn #=> String
2896
+ # resp.user_profiles[0].name #=> String
2897
+ # resp.user_profiles[0].ssh_username #=> String
2898
+ # resp.user_profiles[0].ssh_public_key #=> String
2899
+ # resp.user_profiles[0].allow_self_management #=> Boolean
2900
+ # @overload describe_user_profiles(params = {})
2901
+ # @param [Hash] params ({})
2902
+ def describe_user_profiles(params = {}, options = {})
2903
+ req = build_request(:describe_user_profiles, params)
2904
+ req.send_request(options)
2905
+ end
2906
+
2907
+ # Describes an instance's Amazon EBS volumes.
2908
+ #
2909
+ # <note markdown="1"> You must specify at least one of the parameters.
2910
+ #
2911
+ # </note>
2912
+ #
2913
+ # **Required Permissions**\: To use this action, an IAM user must have a
2914
+ # Show, Deploy, or Manage permissions level for the stack, or an
2915
+ # attached policy that explicitly grants permissions. For more
2916
+ # information on user permissions, see [Managing User Permissions][1].
2917
+ #
2918
+ #
2919
+ #
2920
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2921
+ # @option params [String] :instance_id
2922
+ # The instance ID. If you use this parameter, `DescribeVolumes` returns
2923
+ # descriptions of the volumes associated with the specified instance.
2924
+ # @option params [String] :stack_id
2925
+ # A stack ID. The action describes the stack's registered Amazon EBS
2926
+ # volumes.
2927
+ # @option params [String] :raid_array_id
2928
+ # The RAID array ID. If you use this parameter, `DescribeVolumes`
2929
+ # returns descriptions of the volumes associated with the specified RAID
2930
+ # array.
2931
+ # @option params [Array<String>] :volume_ids
2932
+ # Am array of volume IDs. If you use this parameter, `DescribeVolumes`
2933
+ # returns descriptions of the specified volumes. Otherwise, it returns a
2934
+ # description of every volume.
2935
+ # @return [Types::DescribeVolumesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2936
+ #
2937
+ # * {Types::DescribeVolumesResult#volumes #Volumes} => Array&lt;Types::Volume&gt;
2938
+ #
2939
+ # @example Request syntax with placeholder values
2940
+ # resp = client.describe_volumes({
2941
+ # instance_id: "String",
2942
+ # stack_id: "String",
2943
+ # raid_array_id: "String",
2944
+ # volume_ids: ["String"],
2945
+ # })
2946
+ #
2947
+ # @example Response structure
2948
+ # resp.volumes #=> Array
2949
+ # resp.volumes[0].volume_id #=> String
2950
+ # resp.volumes[0].ec2_volume_id #=> String
2951
+ # resp.volumes[0].name #=> String
2952
+ # resp.volumes[0].raid_array_id #=> String
2953
+ # resp.volumes[0].instance_id #=> String
2954
+ # resp.volumes[0].status #=> String
2955
+ # resp.volumes[0].size #=> Integer
2956
+ # resp.volumes[0].device #=> String
2957
+ # resp.volumes[0].mount_point #=> String
2958
+ # resp.volumes[0].region #=> String
2959
+ # resp.volumes[0].availability_zone #=> String
2960
+ # resp.volumes[0].volume_type #=> String
2961
+ # resp.volumes[0].iops #=> Integer
2962
+ # @overload describe_volumes(params = {})
2963
+ # @param [Hash] params ({})
2964
+ def describe_volumes(params = {}, options = {})
2965
+ req = build_request(:describe_volumes, params)
2966
+ req.send_request(options)
2967
+ end
2968
+
2969
+ # Detaches a specified Elastic Load Balancing instance from its layer.
2970
+ #
2971
+ # **Required Permissions**\: To use this action, an IAM user must have a
2972
+ # Manage permissions level for the stack, or an attached policy that
2973
+ # explicitly grants permissions. For more information on user
2974
+ # permissions, see [Managing User Permissions][1].
2975
+ #
2976
+ #
2977
+ #
2978
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
2979
+ # @option params [required, String] :elastic_load_balancer_name
2980
+ # The Elastic Load Balancing instance's name.
2981
+ # @option params [required, String] :layer_id
2982
+ # The ID of the layer that the Elastic Load Balancing instance is
2983
+ # attached to.
2984
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2985
+ #
2986
+ # @example Request syntax with placeholder values
2987
+ # resp = client.detach_elastic_load_balancer({
2988
+ # elastic_load_balancer_name: "String", # required
2989
+ # layer_id: "String", # required
2990
+ # })
2991
+ # @overload detach_elastic_load_balancer(params = {})
2992
+ # @param [Hash] params ({})
2993
+ def detach_elastic_load_balancer(params = {}, options = {})
2994
+ req = build_request(:detach_elastic_load_balancer, params)
2995
+ req.send_request(options)
2996
+ end
2997
+
2998
+ # Disassociates an Elastic IP address from its instance. The address
2999
+ # remains registered with the stack. For more information, see [Resource
3000
+ # Management][1].
3001
+ #
3002
+ # **Required Permissions**\: To use this action, an IAM user must have a
3003
+ # Manage permissions level for the stack, or an attached policy that
3004
+ # explicitly grants permissions. For more information on user
3005
+ # permissions, see [Managing User Permissions][2].
3006
+ #
3007
+ #
3008
+ #
3009
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
3010
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3011
+ # @option params [required, String] :elastic_ip
3012
+ # The Elastic IP address.
3013
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3014
+ #
3015
+ # @example Request syntax with placeholder values
3016
+ # resp = client.disassociate_elastic_ip({
3017
+ # elastic_ip: "String", # required
3018
+ # })
3019
+ # @overload disassociate_elastic_ip(params = {})
3020
+ # @param [Hash] params ({})
3021
+ def disassociate_elastic_ip(params = {}, options = {})
3022
+ req = build_request(:disassociate_elastic_ip, params)
3023
+ req.send_request(options)
3024
+ end
3025
+
3026
+ # Gets a generated host name for the specified layer, based on the
3027
+ # current host name theme.
3028
+ #
3029
+ # **Required Permissions**\: To use this action, an IAM user must have a
3030
+ # Manage permissions level for the stack, or an attached policy that
3031
+ # explicitly grants permissions. For more information on user
3032
+ # permissions, see [Managing User Permissions][1].
3033
+ #
3034
+ #
3035
+ #
3036
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3037
+ # @option params [required, String] :layer_id
3038
+ # The layer ID.
3039
+ # @return [Types::GetHostnameSuggestionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3040
+ #
3041
+ # * {Types::GetHostnameSuggestionResult#layer_id #LayerId} => String
3042
+ # * {Types::GetHostnameSuggestionResult#hostname #Hostname} => String
3043
+ #
3044
+ # @example Request syntax with placeholder values
3045
+ # resp = client.get_hostname_suggestion({
3046
+ # layer_id: "String", # required
3047
+ # })
3048
+ #
3049
+ # @example Response structure
3050
+ # resp.layer_id #=> String
3051
+ # resp.hostname #=> String
3052
+ # @overload get_hostname_suggestion(params = {})
3053
+ # @param [Hash] params ({})
3054
+ def get_hostname_suggestion(params = {}, options = {})
3055
+ req = build_request(:get_hostname_suggestion, params)
3056
+ req.send_request(options)
3057
+ end
3058
+
3059
+ # <note markdown="1"> This action can be used only with Windows stacks.
3060
+ #
3061
+ # </note>
3062
+ #
3063
+ # Grants RDP access to a Windows instance for a specified time period.
3064
+ # @option params [required, String] :instance_id
3065
+ # The instance's AWS OpsWorks ID.
3066
+ # @option params [Integer] :valid_for_in_minutes
3067
+ # The length of time (in minutes) that the grant is valid. When the
3068
+ # grant expires at the end of this period, the user will no longer be
3069
+ # able to use the credentials to log in. If the user is logged in at the
3070
+ # time, he or she automatically will be logged out.
3071
+ # @return [Types::GrantAccessResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3072
+ #
3073
+ # * {Types::GrantAccessResult#temporary_credential #TemporaryCredential} => Types::TemporaryCredential
3074
+ #
3075
+ # @example Request syntax with placeholder values
3076
+ # resp = client.grant_access({
3077
+ # instance_id: "String", # required
3078
+ # valid_for_in_minutes: 1,
3079
+ # })
3080
+ #
3081
+ # @example Response structure
3082
+ # resp.temporary_credential.username #=> String
3083
+ # resp.temporary_credential.password #=> String
3084
+ # resp.temporary_credential.valid_for_in_minutes #=> Integer
3085
+ # resp.temporary_credential.instance_id #=> String
3086
+ # @overload grant_access(params = {})
3087
+ # @param [Hash] params ({})
3088
+ def grant_access(params = {}, options = {})
3089
+ req = build_request(:grant_access, params)
3090
+ req.send_request(options)
3091
+ end
3092
+
3093
+ # Reboots a specified instance. For more information, see [Starting,
3094
+ # Stopping, and Rebooting Instances][1].
3095
+ #
3096
+ # **Required Permissions**\: To use this action, an IAM user must have a
3097
+ # Manage permissions level for the stack, or an attached policy that
3098
+ # explicitly grants permissions. For more information on user
3099
+ # permissions, see [Managing User Permissions][2].
3100
+ #
3101
+ #
3102
+ #
3103
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html
3104
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3105
+ # @option params [required, String] :instance_id
3106
+ # The instance ID.
3107
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3108
+ #
3109
+ # @example Request syntax with placeholder values
3110
+ # resp = client.reboot_instance({
3111
+ # instance_id: "String", # required
3112
+ # })
3113
+ # @overload reboot_instance(params = {})
3114
+ # @param [Hash] params ({})
3115
+ def reboot_instance(params = {}, options = {})
3116
+ req = build_request(:reboot_instance, params)
3117
+ req.send_request(options)
3118
+ end
3119
+
3120
+ # Registers a specified Amazon ECS cluster with a stack. You can
3121
+ # register only one cluster with a stack. A cluster can be registered
3122
+ # with only one stack. For more information, see [ Resource
3123
+ # Management][1].
3124
+ #
3125
+ # **Required Permissions**\: To use this action, an IAM user must have a
3126
+ # Manage permissions level for the stack or an attached policy that
3127
+ # explicitly grants permissions. For more information on user
3128
+ # permissions, see [ Managing User Permissions][2].
3129
+ #
3130
+ #
3131
+ #
3132
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-ecscluster.html
3133
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3134
+ # @option params [required, String] :ecs_cluster_arn
3135
+ # The cluster's ARN.
3136
+ # @option params [required, String] :stack_id
3137
+ # The stack ID.
3138
+ # @return [Types::RegisterEcsClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3139
+ #
3140
+ # * {Types::RegisterEcsClusterResult#ecs_cluster_arn #EcsClusterArn} => String
3141
+ #
3142
+ # @example Request syntax with placeholder values
3143
+ # resp = client.register_ecs_cluster({
3144
+ # ecs_cluster_arn: "String", # required
3145
+ # stack_id: "String", # required
3146
+ # })
3147
+ #
3148
+ # @example Response structure
3149
+ # resp.ecs_cluster_arn #=> String
3150
+ # @overload register_ecs_cluster(params = {})
3151
+ # @param [Hash] params ({})
3152
+ def register_ecs_cluster(params = {}, options = {})
3153
+ req = build_request(:register_ecs_cluster, params)
3154
+ req.send_request(options)
3155
+ end
3156
+
3157
+ # Registers an Elastic IP address with a specified stack. An address can
3158
+ # be registered with only one stack at a time. If the address is already
3159
+ # registered, you must first deregister it by calling
3160
+ # DeregisterElasticIp. For more information, see [Resource
3161
+ # Management][1].
3162
+ #
3163
+ # **Required Permissions**\: To use this action, an IAM user must have a
3164
+ # Manage permissions level for the stack, or an attached policy that
3165
+ # explicitly grants permissions. For more information on user
3166
+ # permissions, see [Managing User Permissions][2].
3167
+ #
3168
+ #
3169
+ #
3170
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
3171
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3172
+ # @option params [required, String] :elastic_ip
3173
+ # The Elastic IP address.
3174
+ # @option params [required, String] :stack_id
3175
+ # The stack ID.
3176
+ # @return [Types::RegisterElasticIpResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3177
+ #
3178
+ # * {Types::RegisterElasticIpResult#elastic_ip #ElasticIp} => String
3179
+ #
3180
+ # @example Request syntax with placeholder values
3181
+ # resp = client.register_elastic_ip({
3182
+ # elastic_ip: "String", # required
3183
+ # stack_id: "String", # required
3184
+ # })
3185
+ #
3186
+ # @example Response structure
3187
+ # resp.elastic_ip #=> String
3188
+ # @overload register_elastic_ip(params = {})
3189
+ # @param [Hash] params ({})
3190
+ def register_elastic_ip(params = {}, options = {})
3191
+ req = build_request(:register_elastic_ip, params)
3192
+ req.send_request(options)
3193
+ end
3194
+
3195
+ # Registers instances with a specified stack that were created outside
3196
+ # of AWS OpsWorks.
3197
+ #
3198
+ # <note markdown="1"> We do not recommend using this action to register instances. The
3199
+ # complete registration operation has two primary steps, installing the
3200
+ # AWS OpsWorks agent on the instance and registering the instance with
3201
+ # the stack. `RegisterInstance` handles only the second step. You should
3202
+ # instead use the AWS CLI `register` command, which performs the entire
3203
+ # registration operation. For more information, see [ Registering an
3204
+ # Instance with an AWS OpsWorks Stack][1].
3205
+ #
3206
+ # </note>
3207
+ #
3208
+ # **Required Permissions**\: To use this action, an IAM user must have a
3209
+ # Manage permissions level for the stack or an attached policy that
3210
+ # explicitly grants permissions. For more information on user
3211
+ # permissions, see [Managing User Permissions][2].
3212
+ #
3213
+ #
3214
+ #
3215
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/registered-instances-register.html
3216
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3217
+ # @option params [required, String] :stack_id
3218
+ # The ID of the stack that the instance is to be registered with.
3219
+ # @option params [String] :hostname
3220
+ # The instance's hostname.
3221
+ # @option params [String] :public_ip
3222
+ # The instance's public IP address.
3223
+ # @option params [String] :private_ip
3224
+ # The instance's private IP address.
3225
+ # @option params [String] :rsa_public_key
3226
+ # The instances public RSA key. This key is used to encrypt
3227
+ # communication between the instance and the service.
3228
+ # @option params [String] :rsa_public_key_fingerprint
3229
+ # The instances public RSA key fingerprint.
3230
+ # @option params [Types::InstanceIdentity] :instance_identity
3231
+ # An InstanceIdentity object that contains the instance's identity.
3232
+ # @return [Types::RegisterInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3233
+ #
3234
+ # * {Types::RegisterInstanceResult#instance_id #InstanceId} => String
3235
+ #
3236
+ # @example Request syntax with placeholder values
3237
+ # resp = client.register_instance({
3238
+ # stack_id: "String", # required
3239
+ # hostname: "String",
3240
+ # public_ip: "String",
3241
+ # private_ip: "String",
3242
+ # rsa_public_key: "String",
3243
+ # rsa_public_key_fingerprint: "String",
3244
+ # instance_identity: {
3245
+ # document: "String",
3246
+ # signature: "String",
3247
+ # },
3248
+ # })
3249
+ #
3250
+ # @example Response structure
3251
+ # resp.instance_id #=> String
3252
+ # @overload register_instance(params = {})
3253
+ # @param [Hash] params ({})
3254
+ def register_instance(params = {}, options = {})
3255
+ req = build_request(:register_instance, params)
3256
+ req.send_request(options)
3257
+ end
3258
+
3259
+ # Registers an Amazon RDS instance with a stack.
3260
+ #
3261
+ # **Required Permissions**\: To use this action, an IAM user must have a
3262
+ # Manage permissions level for the stack, or an attached policy that
3263
+ # explicitly grants permissions. For more information on user
3264
+ # permissions, see [Managing User Permissions][1].
3265
+ #
3266
+ #
3267
+ #
3268
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3269
+ # @option params [required, String] :stack_id
3270
+ # The stack ID.
3271
+ # @option params [required, String] :rds_db_instance_arn
3272
+ # The Amazon RDS instance's ARN.
3273
+ # @option params [required, String] :db_user
3274
+ # The database's master user name.
3275
+ # @option params [required, String] :db_password
3276
+ # The database password.
3277
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3278
+ #
3279
+ # @example Request syntax with placeholder values
3280
+ # resp = client.register_rds_db_instance({
3281
+ # stack_id: "String", # required
3282
+ # rds_db_instance_arn: "String", # required
3283
+ # db_user: "String", # required
3284
+ # db_password: "String", # required
3285
+ # })
3286
+ # @overload register_rds_db_instance(params = {})
3287
+ # @param [Hash] params ({})
3288
+ def register_rds_db_instance(params = {}, options = {})
3289
+ req = build_request(:register_rds_db_instance, params)
3290
+ req.send_request(options)
3291
+ end
3292
+
3293
+ # Registers an Amazon EBS volume with a specified stack. A volume can be
3294
+ # registered with only one stack at a time. If the volume is already
3295
+ # registered, you must first deregister it by calling DeregisterVolume.
3296
+ # For more information, see [Resource Management][1].
3297
+ #
3298
+ # **Required Permissions**\: To use this action, an IAM user must have a
3299
+ # Manage permissions level for the stack, or an attached policy that
3300
+ # explicitly grants permissions. For more information on user
3301
+ # permissions, see [Managing User Permissions][2].
3302
+ #
3303
+ #
3304
+ #
3305
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
3306
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3307
+ # @option params [String] :ec2_volume_id
3308
+ # The Amazon EBS volume ID.
3309
+ # @option params [required, String] :stack_id
3310
+ # The stack ID.
3311
+ # @return [Types::RegisterVolumeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3312
+ #
3313
+ # * {Types::RegisterVolumeResult#volume_id #VolumeId} => String
3314
+ #
3315
+ # @example Request syntax with placeholder values
3316
+ # resp = client.register_volume({
3317
+ # ec2_volume_id: "String",
3318
+ # stack_id: "String", # required
3319
+ # })
3320
+ #
3321
+ # @example Response structure
3322
+ # resp.volume_id #=> String
3323
+ # @overload register_volume(params = {})
3324
+ # @param [Hash] params ({})
3325
+ def register_volume(params = {}, options = {})
3326
+ req = build_request(:register_volume, params)
3327
+ req.send_request(options)
3328
+ end
3329
+
3330
+ # Specify the load-based auto scaling configuration for a specified
3331
+ # layer. For more information, see [Managing Load with Time-based and
3332
+ # Load-based Instances][1].
3333
+ #
3334
+ # <note markdown="1"> To use load-based auto scaling, you must create a set of load-based
3335
+ # auto scaling instances. Load-based auto scaling operates only on the
3336
+ # instances from that set, so you must ensure that you have created
3337
+ # enough instances to handle the maximum anticipated load.
3338
+ #
3339
+ # </note>
3340
+ #
3341
+ # **Required Permissions**\: To use this action, an IAM user must have a
3342
+ # Manage permissions level for the stack, or an attached policy that
3343
+ # explicitly grants permissions. For more information on user
3344
+ # permissions, see [Managing User Permissions][2].
3345
+ #
3346
+ #
3347
+ #
3348
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html
3349
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3350
+ # @option params [required, String] :layer_id
3351
+ # The layer ID.
3352
+ # @option params [Boolean] :enable
3353
+ # Enables load-based auto scaling for the layer.
3354
+ # @option params [Types::AutoScalingThresholds] :up_scaling
3355
+ # An `AutoScalingThresholds` object with the upscaling threshold
3356
+ # configuration. If the load exceeds these thresholds for a specified
3357
+ # amount of time, AWS OpsWorks starts a specified number of instances.
3358
+ # @option params [Types::AutoScalingThresholds] :down_scaling
3359
+ # An `AutoScalingThresholds` object with the downscaling threshold
3360
+ # configuration. If the load falls below these thresholds for a
3361
+ # specified amount of time, AWS OpsWorks stops a specified number of
3362
+ # instances.
3363
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3364
+ #
3365
+ # @example Request syntax with placeholder values
3366
+ # resp = client.set_load_based_auto_scaling({
3367
+ # layer_id: "String", # required
3368
+ # enable: false,
3369
+ # up_scaling: {
3370
+ # instance_count: 1,
3371
+ # thresholds_wait_time: 1,
3372
+ # ignore_metrics_time: 1,
3373
+ # cpu_threshold: 1.0,
3374
+ # memory_threshold: 1.0,
3375
+ # load_threshold: 1.0,
3376
+ # alarms: ["String"],
3377
+ # },
3378
+ # down_scaling: {
3379
+ # instance_count: 1,
3380
+ # thresholds_wait_time: 1,
3381
+ # ignore_metrics_time: 1,
3382
+ # cpu_threshold: 1.0,
3383
+ # memory_threshold: 1.0,
3384
+ # load_threshold: 1.0,
3385
+ # alarms: ["String"],
3386
+ # },
3387
+ # })
3388
+ # @overload set_load_based_auto_scaling(params = {})
3389
+ # @param [Hash] params ({})
3390
+ def set_load_based_auto_scaling(params = {}, options = {})
3391
+ req = build_request(:set_load_based_auto_scaling, params)
3392
+ req.send_request(options)
3393
+ end
3394
+
3395
+ # Specifies a user's permissions. For more information, see [Security
3396
+ # and Permissions][1].
3397
+ #
3398
+ # **Required Permissions**\: To use this action, an IAM user must have a
3399
+ # Manage permissions level for the stack, or an attached policy that
3400
+ # explicitly grants permissions. For more information on user
3401
+ # permissions, see [Managing User Permissions][2].
3402
+ #
3403
+ #
3404
+ #
3405
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingsecurity.html
3406
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3407
+ # @option params [required, String] :stack_id
3408
+ # The stack ID.
3409
+ # @option params [required, String] :iam_user_arn
3410
+ # The user's IAM ARN. This can also be a federated user's ARN.
3411
+ # @option params [Boolean] :allow_ssh
3412
+ # The user is allowed to use SSH to communicate with the instance.
3413
+ # @option params [Boolean] :allow_sudo
3414
+ # The user is allowed to use **sudo** to elevate privileges.
3415
+ # @option params [String] :level
3416
+ # The user's permission level, which must be set to one of the
3417
+ # following strings. You cannot set your own permissions level.
3418
+ #
3419
+ # * `deny`
3420
+ #
3421
+ # * `show`
3422
+ #
3423
+ # * `deploy`
3424
+ #
3425
+ # * `manage`
3426
+ #
3427
+ # * `iam_only`
3428
+ #
3429
+ # For more information on the permissions associated with these levels,
3430
+ # see [Managing User Permissions][1].
3431
+ #
3432
+ #
3433
+ #
3434
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3435
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3436
+ #
3437
+ # @example Request syntax with placeholder values
3438
+ # resp = client.set_permission({
3439
+ # stack_id: "String", # required
3440
+ # iam_user_arn: "String", # required
3441
+ # allow_ssh: false,
3442
+ # allow_sudo: false,
3443
+ # level: "String",
3444
+ # })
3445
+ # @overload set_permission(params = {})
3446
+ # @param [Hash] params ({})
3447
+ def set_permission(params = {}, options = {})
3448
+ req = build_request(:set_permission, params)
3449
+ req.send_request(options)
3450
+ end
3451
+
3452
+ # Specify the time-based auto scaling configuration for a specified
3453
+ # instance. For more information, see [Managing Load with Time-based and
3454
+ # Load-based Instances][1].
3455
+ #
3456
+ # **Required Permissions**\: To use this action, an IAM user must have a
3457
+ # Manage permissions level for the stack, or an attached policy that
3458
+ # explicitly grants permissions. For more information on user
3459
+ # permissions, see [Managing User Permissions][2].
3460
+ #
3461
+ #
3462
+ #
3463
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-autoscaling.html
3464
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3465
+ # @option params [required, String] :instance_id
3466
+ # The instance ID.
3467
+ # @option params [Types::WeeklyAutoScalingSchedule] :auto_scaling_schedule
3468
+ # An `AutoScalingSchedule` with the instance schedule.
3469
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3470
+ #
3471
+ # @example Request syntax with placeholder values
3472
+ # resp = client.set_time_based_auto_scaling({
3473
+ # instance_id: "String", # required
3474
+ # auto_scaling_schedule: {
3475
+ # monday: {
3476
+ # "Hour" => "Switch",
3477
+ # },
3478
+ # tuesday: {
3479
+ # "Hour" => "Switch",
3480
+ # },
3481
+ # wednesday: {
3482
+ # "Hour" => "Switch",
3483
+ # },
3484
+ # thursday: {
3485
+ # "Hour" => "Switch",
3486
+ # },
3487
+ # friday: {
3488
+ # "Hour" => "Switch",
3489
+ # },
3490
+ # saturday: {
3491
+ # "Hour" => "Switch",
3492
+ # },
3493
+ # sunday: {
3494
+ # "Hour" => "Switch",
3495
+ # },
3496
+ # },
3497
+ # })
3498
+ # @overload set_time_based_auto_scaling(params = {})
3499
+ # @param [Hash] params ({})
3500
+ def set_time_based_auto_scaling(params = {}, options = {})
3501
+ req = build_request(:set_time_based_auto_scaling, params)
3502
+ req.send_request(options)
3503
+ end
3504
+
3505
+ # Starts a specified instance. For more information, see [Starting,
3506
+ # Stopping, and Rebooting Instances][1].
3507
+ #
3508
+ # **Required Permissions**\: To use this action, an IAM user must have a
3509
+ # Manage permissions level for the stack, or an attached policy that
3510
+ # explicitly grants permissions. For more information on user
3511
+ # permissions, see [Managing User Permissions][2].
3512
+ #
3513
+ #
3514
+ #
3515
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html
3516
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3517
+ # @option params [required, String] :instance_id
3518
+ # The instance ID.
3519
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3520
+ #
3521
+ # @example Request syntax with placeholder values
3522
+ # resp = client.start_instance({
3523
+ # instance_id: "String", # required
3524
+ # })
3525
+ # @overload start_instance(params = {})
3526
+ # @param [Hash] params ({})
3527
+ def start_instance(params = {}, options = {})
3528
+ req = build_request(:start_instance, params)
3529
+ req.send_request(options)
3530
+ end
3531
+
3532
+ # Starts a stack's instances.
3533
+ #
3534
+ # **Required Permissions**\: To use this action, an IAM user must have a
3535
+ # Manage permissions level for the stack, or an attached policy that
3536
+ # explicitly grants permissions. For more information on user
3537
+ # permissions, see [Managing User Permissions][1].
3538
+ #
3539
+ #
3540
+ #
3541
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3542
+ # @option params [required, String] :stack_id
3543
+ # The stack ID.
3544
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3545
+ #
3546
+ # @example Request syntax with placeholder values
3547
+ # resp = client.start_stack({
3548
+ # stack_id: "String", # required
3549
+ # })
3550
+ # @overload start_stack(params = {})
3551
+ # @param [Hash] params ({})
3552
+ def start_stack(params = {}, options = {})
3553
+ req = build_request(:start_stack, params)
3554
+ req.send_request(options)
3555
+ end
3556
+
3557
+ # Stops a specified instance. When you stop a standard instance, the
3558
+ # data disappears and must be reinstalled when you restart the instance.
3559
+ # You can stop an Amazon EBS-backed instance without losing data. For
3560
+ # more information, see [Starting, Stopping, and Rebooting
3561
+ # Instances][1].
3562
+ #
3563
+ # **Required Permissions**\: To use this action, an IAM user must have a
3564
+ # Manage permissions level for the stack, or an attached policy that
3565
+ # explicitly grants permissions. For more information on user
3566
+ # permissions, see [Managing User Permissions][2].
3567
+ #
3568
+ #
3569
+ #
3570
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-starting.html
3571
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3572
+ # @option params [required, String] :instance_id
3573
+ # The instance ID.
3574
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3575
+ #
3576
+ # @example Request syntax with placeholder values
3577
+ # resp = client.stop_instance({
3578
+ # instance_id: "String", # required
3579
+ # })
3580
+ # @overload stop_instance(params = {})
3581
+ # @param [Hash] params ({})
3582
+ def stop_instance(params = {}, options = {})
3583
+ req = build_request(:stop_instance, params)
3584
+ req.send_request(options)
3585
+ end
3586
+
3587
+ # Stops a specified stack.
3588
+ #
3589
+ # **Required Permissions**\: To use this action, an IAM user must have a
3590
+ # Manage permissions level for the stack, or an attached policy that
3591
+ # explicitly grants permissions. For more information on user
3592
+ # permissions, see [Managing User Permissions][1].
3593
+ #
3594
+ #
3595
+ #
3596
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3597
+ # @option params [required, String] :stack_id
3598
+ # The stack ID.
3599
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3600
+ #
3601
+ # @example Request syntax with placeholder values
3602
+ # resp = client.stop_stack({
3603
+ # stack_id: "String", # required
3604
+ # })
3605
+ # @overload stop_stack(params = {})
3606
+ # @param [Hash] params ({})
3607
+ def stop_stack(params = {}, options = {})
3608
+ req = build_request(:stop_stack, params)
3609
+ req.send_request(options)
3610
+ end
3611
+
3612
+ # Unassigns a registered instance from all of it's layers. The instance
3613
+ # remains in the stack as an unassigned instance and can be assigned to
3614
+ # another layer, as needed. You cannot use this action with instances
3615
+ # that were created with AWS OpsWorks.
3616
+ #
3617
+ # **Required Permissions**\: To use this action, an IAM user must have a
3618
+ # Manage permissions level for the stack or an attached policy that
3619
+ # explicitly grants permissions. For more information on user
3620
+ # permissions, see [Managing User Permissions][1].
3621
+ #
3622
+ #
3623
+ #
3624
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3625
+ # @option params [required, String] :instance_id
3626
+ # The instance ID.
3627
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3628
+ #
3629
+ # @example Request syntax with placeholder values
3630
+ # resp = client.unassign_instance({
3631
+ # instance_id: "String", # required
3632
+ # })
3633
+ # @overload unassign_instance(params = {})
3634
+ # @param [Hash] params ({})
3635
+ def unassign_instance(params = {}, options = {})
3636
+ req = build_request(:unassign_instance, params)
3637
+ req.send_request(options)
3638
+ end
3639
+
3640
+ # Unassigns an assigned Amazon EBS volume. The volume remains registered
3641
+ # with the stack. For more information, see [Resource Management][1].
3642
+ #
3643
+ # **Required Permissions**\: To use this action, an IAM user must have a
3644
+ # Manage permissions level for the stack, or an attached policy that
3645
+ # explicitly grants permissions. For more information on user
3646
+ # permissions, see [Managing User Permissions][2].
3647
+ #
3648
+ #
3649
+ #
3650
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
3651
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3652
+ # @option params [required, String] :volume_id
3653
+ # The volume ID.
3654
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3655
+ #
3656
+ # @example Request syntax with placeholder values
3657
+ # resp = client.unassign_volume({
3658
+ # volume_id: "String", # required
3659
+ # })
3660
+ # @overload unassign_volume(params = {})
3661
+ # @param [Hash] params ({})
3662
+ def unassign_volume(params = {}, options = {})
3663
+ req = build_request(:unassign_volume, params)
3664
+ req.send_request(options)
3665
+ end
3666
+
3667
+ # Updates a specified app.
3668
+ #
3669
+ # **Required Permissions**\: To use this action, an IAM user must have a
3670
+ # Deploy or Manage permissions level for the stack, or an attached
3671
+ # policy that explicitly grants permissions. For more information on
3672
+ # user permissions, see [Managing User Permissions][1].
3673
+ #
3674
+ #
3675
+ #
3676
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3677
+ # @option params [required, String] :app_id
3678
+ # The app ID.
3679
+ # @option params [String] :name
3680
+ # The app name.
3681
+ # @option params [String] :description
3682
+ # A description of the app.
3683
+ # @option params [Array<Types::DataSource>] :data_sources
3684
+ # The app's data sources.
3685
+ # @option params [String] :type
3686
+ # The app type.
3687
+ # @option params [Types::Source] :app_source
3688
+ # A `Source` object that specifies the app repository.
3689
+ # @option params [Array<String>] :domains
3690
+ # The app's virtual host settings, with multiple domains separated by
3691
+ # commas. For example: `'www.example.com, example.com'`
3692
+ # @option params [Boolean] :enable_ssl
3693
+ # Whether SSL is enabled for the app.
3694
+ # @option params [Types::SslConfiguration] :ssl_configuration
3695
+ # An `SslConfiguration` object with the SSL configuration.
3696
+ # @option params [Hash<String,String>] :attributes
3697
+ # One or more user-defined key/value pairs to be added to the stack
3698
+ # attributes.
3699
+ # @option params [Array<Types::EnvironmentVariable>] :environment
3700
+ # An array of `EnvironmentVariable` objects that specify environment
3701
+ # variables to be associated with the app. After you deploy the app,
3702
+ # these variables are defined on the associated app server instances.For
3703
+ # more information, see [ Environment Variables][1].
3704
+ #
3705
+ # There is no specific limit on the number of environment variables.
3706
+ # However, the size of the associated data structure - which includes
3707
+ # the variables' names, values, and protected flag values - cannot
3708
+ # exceed 10 KB (10240 Bytes). This limit should accommodate most if not
3709
+ # all use cases. Exceeding it will cause an exception with the message,
3710
+ # "Environment: is too large (maximum is 10KB)."
3711
+ #
3712
+ # <note markdown="1"> This parameter is supported only by Chef 11.10 stacks. If you have
3713
+ # specified one or more environment variables, you cannot modify the
3714
+ # stack's Chef version.
3715
+ #
3716
+ # </note>
3717
+ #
3718
+ #
3719
+ #
3720
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html#workingapps-creating-environment
3721
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3722
+ #
3723
+ # @example Request syntax with placeholder values
3724
+ # resp = client.update_app({
3725
+ # app_id: "String", # required
3726
+ # name: "String",
3727
+ # description: "String",
3728
+ # data_sources: [
3729
+ # {
3730
+ # type: "String",
3731
+ # arn: "String",
3732
+ # database_name: "String",
3733
+ # },
3734
+ # ],
3735
+ # type: "aws-flow-ruby", # accepts aws-flow-ruby, java, rails, php, nodejs, static, other
3736
+ # app_source: {
3737
+ # type: "git", # accepts git, svn, archive, s3
3738
+ # url: "String",
3739
+ # username: "String",
3740
+ # password: "String",
3741
+ # ssh_key: "String",
3742
+ # revision: "String",
3743
+ # },
3744
+ # domains: ["String"],
3745
+ # enable_ssl: false,
3746
+ # ssl_configuration: {
3747
+ # certificate: "String", # required
3748
+ # private_key: "String", # required
3749
+ # chain: "String",
3750
+ # },
3751
+ # attributes: {
3752
+ # "DocumentRoot" => "String",
3753
+ # },
3754
+ # environment: [
3755
+ # {
3756
+ # key: "String", # required
3757
+ # value: "String", # required
3758
+ # secure: false,
3759
+ # },
3760
+ # ],
3761
+ # })
3762
+ # @overload update_app(params = {})
3763
+ # @param [Hash] params ({})
3764
+ def update_app(params = {}, options = {})
3765
+ req = build_request(:update_app, params)
3766
+ req.send_request(options)
3767
+ end
3768
+
3769
+ # Updates a registered Elastic IP address's name. For more information,
3770
+ # see [Resource Management][1].
3771
+ #
3772
+ # **Required Permissions**\: To use this action, an IAM user must have a
3773
+ # Manage permissions level for the stack, or an attached policy that
3774
+ # explicitly grants permissions. For more information on user
3775
+ # permissions, see [Managing User Permissions][2].
3776
+ #
3777
+ #
3778
+ #
3779
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
3780
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3781
+ # @option params [required, String] :elastic_ip
3782
+ # The address.
3783
+ # @option params [String] :name
3784
+ # The new name.
3785
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3786
+ #
3787
+ # @example Request syntax with placeholder values
3788
+ # resp = client.update_elastic_ip({
3789
+ # elastic_ip: "String", # required
3790
+ # name: "String",
3791
+ # })
3792
+ # @overload update_elastic_ip(params = {})
3793
+ # @param [Hash] params ({})
3794
+ def update_elastic_ip(params = {}, options = {})
3795
+ req = build_request(:update_elastic_ip, params)
3796
+ req.send_request(options)
3797
+ end
3798
+
3799
+ # Updates a specified instance.
3800
+ #
3801
+ # **Required Permissions**\: To use this action, an IAM user must have a
3802
+ # Manage permissions level for the stack, or an attached policy that
3803
+ # explicitly grants permissions. For more information on user
3804
+ # permissions, see [Managing User Permissions][1].
3805
+ #
3806
+ #
3807
+ #
3808
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3809
+ # @option params [required, String] :instance_id
3810
+ # The instance ID.
3811
+ # @option params [Array<String>] :layer_ids
3812
+ # The instance's layer IDs.
3813
+ # @option params [String] :instance_type
3814
+ # The instance type, such as `t2.micro`. For a list of supported
3815
+ # instance types, open the stack in the console, choose **Instances**,
3816
+ # and choose **+ Instance**. The **Size** list contains the currently
3817
+ # supported types. For more information, see [Instance Families and
3818
+ # Types][1]. The parameter values that you use to specify the various
3819
+ # types are in the **API Name** column of the **Available Instance
3820
+ # Types** table.
3821
+ #
3822
+ #
3823
+ #
3824
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
3825
+ # @option params [String] :auto_scaling_type
3826
+ # For load-based or time-based instances, the type. Windows stacks can
3827
+ # use only time-based instances.
3828
+ # @option params [String] :hostname
3829
+ # The instance host name.
3830
+ # @option params [String] :os
3831
+ # The instance's operating system, which must be set to one of the
3832
+ # following. You cannot update an instance that is using a custom AMI.
3833
+ #
3834
+ # * A supported Linux operating system: An Amazon Linux version, such as
3835
+ # `Amazon Linux 2016.03`, `Amazon Linux 2015.09`, or `Amazon Linux
3836
+ # 2015.03`.
3837
+ #
3838
+ # * A supported Ubuntu operating system, such as `Ubuntu 16.04 LTS`,
3839
+ # `Ubuntu 14.04 LTS`, or `Ubuntu 12.04 LTS`.
3840
+ #
3841
+ # * `CentOS 7`
3842
+ #
3843
+ # * `Red Hat Enterprise Linux 7`
3844
+ #
3845
+ # * A supported Windows operating system, such as `Microsoft Windows
3846
+ # Server 2012 R2 Base`, `Microsoft Windows Server 2012 R2 with SQL
3847
+ # Server Express`, `Microsoft Windows Server 2012 R2 with SQL Server
3848
+ # Standard`, or `Microsoft Windows Server 2012 R2 with SQL Server
3849
+ # Web`.
3850
+ #
3851
+ # For more information on the supported operating systems, see [AWS
3852
+ # OpsWorks Operating Systems][1].
3853
+ #
3854
+ # The default option is the current Amazon Linux version. If you set
3855
+ # this parameter to `Custom`, you must use the AmiId parameter to
3856
+ # specify the custom AMI that you want to use. For more information on
3857
+ # the supported operating systems, see [Operating Systems][1]. For more
3858
+ # information on how to use custom AMIs with OpsWorks, see [Using Custom
3859
+ # AMIs][2].
3860
+ #
3861
+ # <note markdown="1"> You can specify a different Linux operating system for the updated
3862
+ # stack, but you cannot change from Linux to Windows or Windows to
3863
+ # Linux.
3864
+ #
3865
+ # </note>
3866
+ #
3867
+ #
3868
+ #
3869
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html
3870
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
3871
+ # @option params [String] :ami_id
3872
+ # The ID of the AMI that was used to create the instance. The value of
3873
+ # this parameter must be the same AMI ID that the instance is already
3874
+ # using. You cannot apply a new AMI to an instance by running
3875
+ # UpdateInstance. UpdateInstance does not work on instances that are
3876
+ # using custom AMIs.
3877
+ # @option params [String] :ssh_key_name
3878
+ # The instance's Amazon EC2 key name.
3879
+ # @option params [String] :architecture
3880
+ # The instance architecture. Instance types do not necessarily support
3881
+ # both architectures. For a list of the architectures that are supported
3882
+ # by the different instance types, see [Instance Families and Types][1].
3883
+ #
3884
+ #
3885
+ #
3886
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
3887
+ # @option params [Boolean] :install_updates_on_boot
3888
+ # Whether to install operating system and package updates when the
3889
+ # instance boots. The default value is `true`. To control when updates
3890
+ # are installed, set this value to `false`. You must then update your
3891
+ # instances manually by using CreateDeployment to run the
3892
+ # `update_dependencies` stack command or by manually running `yum`
3893
+ # (Amazon Linux) or `apt-get` (Ubuntu) on the instances.
3894
+ #
3895
+ # <note markdown="1"> We strongly recommend using the default value of `true`, to ensure
3896
+ # that your instances have the latest security updates.
3897
+ #
3898
+ # </note>
3899
+ # @option params [Boolean] :ebs_optimized
3900
+ # This property cannot be updated.
3901
+ # @option params [String] :agent_version
3902
+ # The default AWS OpsWorks agent version. You have the following
3903
+ # options:
3904
+ #
3905
+ # * `INHERIT` - Use the stack's default agent version setting.
3906
+ #
3907
+ # * *version\_number* - Use the specified agent version. This value
3908
+ # overrides the stack's default setting. To update the agent version,
3909
+ # you must edit the instance configuration and specify a new version.
3910
+ # AWS OpsWorks then automatically installs that version on the
3911
+ # instance.
3912
+ #
3913
+ # The default setting is `INHERIT`. To specify an agent version, you
3914
+ # must use the complete version number, not the abbreviated number shown
3915
+ # on the console. For a list of available agent version numbers, call
3916
+ # DescribeAgentVersions.
3917
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3918
+ #
3919
+ # @example Request syntax with placeholder values
3920
+ # resp = client.update_instance({
3921
+ # instance_id: "String", # required
3922
+ # layer_ids: ["String"],
3923
+ # instance_type: "String",
3924
+ # auto_scaling_type: "load", # accepts load, timer
3925
+ # hostname: "String",
3926
+ # os: "String",
3927
+ # ami_id: "String",
3928
+ # ssh_key_name: "String",
3929
+ # architecture: "x86_64", # accepts x86_64, i386
3930
+ # install_updates_on_boot: false,
3931
+ # ebs_optimized: false,
3932
+ # agent_version: "String",
3933
+ # })
3934
+ # @overload update_instance(params = {})
3935
+ # @param [Hash] params ({})
3936
+ def update_instance(params = {}, options = {})
3937
+ req = build_request(:update_instance, params)
3938
+ req.send_request(options)
3939
+ end
3940
+
3941
+ # Updates a specified layer.
3942
+ #
3943
+ # **Required Permissions**\: To use this action, an IAM user must have a
3944
+ # Manage permissions level for the stack, or an attached policy that
3945
+ # explicitly grants permissions. For more information on user
3946
+ # permissions, see [Managing User Permissions][1].
3947
+ #
3948
+ #
3949
+ #
3950
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
3951
+ # @option params [required, String] :layer_id
3952
+ # The layer ID.
3953
+ # @option params [String] :name
3954
+ # The layer name, which is used by the console.
3955
+ # @option params [String] :shortname
3956
+ # For custom layers only, use this parameter to specify the layer's
3957
+ # short name, which is used internally by AWS OpsWorksand by Chef. The
3958
+ # short name is also used as the name for the directory where your app
3959
+ # files are installed. It can have a maximum of 200 characters and must
3960
+ # be in the following format: /\\A\[a-z0-9\\-\\\_\\.\]+\\Z/.
3961
+ #
3962
+ # The built-in layers' short names are defined by AWS OpsWorks. For
3963
+ # more information, see the [Layer Reference][1]
3964
+ #
3965
+ #
3966
+ #
3967
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/layers.html
3968
+ # @option params [Hash<String,String>] :attributes
3969
+ # One or more user-defined key/value pairs to be added to the stack
3970
+ # attributes.
3971
+ # @option params [String] :custom_instance_profile_arn
3972
+ # The ARN of an IAM profile to be used for all of the layer's EC2
3973
+ # instances. For more information about IAM ARNs, see [Using
3974
+ # Identifiers][1].
3975
+ #
3976
+ #
3977
+ #
3978
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
3979
+ # @option params [String] :custom_json
3980
+ # A JSON-formatted string containing custom stack configuration and
3981
+ # deployment attributes to be installed on the layer's instances. For
3982
+ # more information, see [ Using Custom JSON][1].
3983
+ #
3984
+ #
3985
+ #
3986
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-json-override.html
3987
+ # @option params [Array<String>] :custom_security_group_ids
3988
+ # An array containing the layer's custom security group IDs.
3989
+ # @option params [Array<String>] :packages
3990
+ # An array of `Package` objects that describe the layer's packages.
3991
+ # @option params [Array<Types::VolumeConfiguration>] :volume_configurations
3992
+ # A `VolumeConfigurations` object that describes the layer's Amazon EBS
3993
+ # volumes.
3994
+ # @option params [Boolean] :enable_auto_healing
3995
+ # Whether to disable auto healing for the layer.
3996
+ # @option params [Boolean] :auto_assign_elastic_ips
3997
+ # Whether to automatically assign an [Elastic IP address][1] to the
3998
+ # layer's instances. For more information, see [How to Edit a
3999
+ # Layer][2].
4000
+ #
4001
+ #
4002
+ #
4003
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html
4004
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html
4005
+ # @option params [Boolean] :auto_assign_public_ips
4006
+ # For stacks that are running in a VPC, whether to automatically assign
4007
+ # a public IP address to the layer's instances. For more information,
4008
+ # see [How to Edit a Layer][1].
4009
+ #
4010
+ #
4011
+ #
4012
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinglayers-basics-edit.html
4013
+ # @option params [Types::Recipes] :custom_recipes
4014
+ # A `LayerCustomRecipes` object that specifies the layer's custom
4015
+ # recipes.
4016
+ # @option params [Boolean] :install_updates_on_boot
4017
+ # Whether to install operating system and package updates when the
4018
+ # instance boots. The default value is `true`. To control when updates
4019
+ # are installed, set this value to `false`. You must then update your
4020
+ # instances manually by using CreateDeployment to run the
4021
+ # `update_dependencies` stack command or manually running `yum` (Amazon
4022
+ # Linux) or `apt-get` (Ubuntu) on the instances.
4023
+ #
4024
+ # <note markdown="1"> We strongly recommend using the default value of `true`, to ensure
4025
+ # that your instances have the latest security updates.
4026
+ #
4027
+ # </note>
4028
+ # @option params [Boolean] :use_ebs_optimized_instances
4029
+ # Whether to use Amazon EBS-optimized instances.
4030
+ # @option params [Types::LifecycleEventConfiguration] :lifecycle_event_configuration
4031
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4032
+ #
4033
+ # @example Request syntax with placeholder values
4034
+ # resp = client.update_layer({
4035
+ # layer_id: "String", # required
4036
+ # name: "String",
4037
+ # shortname: "String",
4038
+ # attributes: {
4039
+ # "EcsClusterArn" => "String",
4040
+ # },
4041
+ # custom_instance_profile_arn: "String",
4042
+ # custom_json: "String",
4043
+ # custom_security_group_ids: ["String"],
4044
+ # packages: ["String"],
4045
+ # volume_configurations: [
4046
+ # {
4047
+ # mount_point: "String", # required
4048
+ # raid_level: 1,
4049
+ # number_of_disks: 1, # required
4050
+ # size: 1, # required
4051
+ # volume_type: "String",
4052
+ # iops: 1,
4053
+ # },
4054
+ # ],
4055
+ # enable_auto_healing: false,
4056
+ # auto_assign_elastic_ips: false,
4057
+ # auto_assign_public_ips: false,
4058
+ # custom_recipes: {
4059
+ # setup: ["String"],
4060
+ # configure: ["String"],
4061
+ # deploy: ["String"],
4062
+ # undeploy: ["String"],
4063
+ # shutdown: ["String"],
4064
+ # },
4065
+ # install_updates_on_boot: false,
4066
+ # use_ebs_optimized_instances: false,
4067
+ # lifecycle_event_configuration: {
4068
+ # shutdown: {
4069
+ # execution_timeout: 1,
4070
+ # delay_until_elb_connections_drained: false,
4071
+ # },
4072
+ # },
4073
+ # })
4074
+ # @overload update_layer(params = {})
4075
+ # @param [Hash] params ({})
4076
+ def update_layer(params = {}, options = {})
4077
+ req = build_request(:update_layer, params)
4078
+ req.send_request(options)
4079
+ end
4080
+
4081
+ # Updates a user's SSH public key.
4082
+ #
4083
+ # **Required Permissions**\: To use this action, an IAM user must have
4084
+ # self-management enabled or an attached policy that explicitly grants
4085
+ # permissions. For more information on user permissions, see [Managing
4086
+ # User Permissions][1].
4087
+ #
4088
+ #
4089
+ #
4090
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
4091
+ # @option params [String] :ssh_public_key
4092
+ # The user's SSH public key.
4093
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4094
+ #
4095
+ # @example Request syntax with placeholder values
4096
+ # resp = client.update_my_user_profile({
4097
+ # ssh_public_key: "String",
4098
+ # })
4099
+ # @overload update_my_user_profile(params = {})
4100
+ # @param [Hash] params ({})
4101
+ def update_my_user_profile(params = {}, options = {})
4102
+ req = build_request(:update_my_user_profile, params)
4103
+ req.send_request(options)
4104
+ end
4105
+
4106
+ # Updates an Amazon RDS instance.
4107
+ #
4108
+ # **Required Permissions**\: To use this action, an IAM user must have a
4109
+ # Manage permissions level for the stack, or an attached policy that
4110
+ # explicitly grants permissions. For more information on user
4111
+ # permissions, see [Managing User Permissions][1].
4112
+ #
4113
+ #
4114
+ #
4115
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
4116
+ # @option params [required, String] :rds_db_instance_arn
4117
+ # The Amazon RDS instance's ARN.
4118
+ # @option params [String] :db_user
4119
+ # The master user name.
4120
+ # @option params [String] :db_password
4121
+ # The database password.
4122
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4123
+ #
4124
+ # @example Request syntax with placeholder values
4125
+ # resp = client.update_rds_db_instance({
4126
+ # rds_db_instance_arn: "String", # required
4127
+ # db_user: "String",
4128
+ # db_password: "String",
4129
+ # })
4130
+ # @overload update_rds_db_instance(params = {})
4131
+ # @param [Hash] params ({})
4132
+ def update_rds_db_instance(params = {}, options = {})
4133
+ req = build_request(:update_rds_db_instance, params)
4134
+ req.send_request(options)
4135
+ end
4136
+
4137
+ # Updates a specified stack.
4138
+ #
4139
+ # **Required Permissions**\: To use this action, an IAM user must have a
4140
+ # Manage permissions level for the stack, or an attached policy that
4141
+ # explicitly grants permissions. For more information on user
4142
+ # permissions, see [Managing User Permissions][1].
4143
+ #
4144
+ #
4145
+ #
4146
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
4147
+ # @option params [required, String] :stack_id
4148
+ # The stack ID.
4149
+ # @option params [String] :name
4150
+ # The stack's new name.
4151
+ # @option params [Hash<String,String>] :attributes
4152
+ # One or more user-defined key-value pairs to be added to the stack
4153
+ # attributes.
4154
+ # @option params [String] :service_role_arn
4155
+ # Do not use this parameter. You cannot update a stack's service role.
4156
+ # @option params [String] :default_instance_profile_arn
4157
+ # The ARN of an IAM profile that is the default profile for all of the
4158
+ # stack's EC2 instances. For more information about IAM ARNs, see
4159
+ # [Using Identifiers][1].
4160
+ #
4161
+ #
4162
+ #
4163
+ # [1]: http://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html
4164
+ # @option params [String] :default_os
4165
+ # The stack's operating system, which must be set to one of the
4166
+ # following:
4167
+ #
4168
+ # * A supported Linux operating system: An Amazon Linux version, such as
4169
+ # `Amazon Linux 2016.03`, `Amazon Linux 2015.09`, or `Amazon Linux
4170
+ # 2015.03`.
4171
+ #
4172
+ # * A supported Ubuntu operating system, such as `Ubuntu 16.04 LTS`,
4173
+ # `Ubuntu 14.04 LTS`, or `Ubuntu 12.04 LTS`.
4174
+ #
4175
+ # * `CentOS 7`
4176
+ #
4177
+ # * `Red Hat Enterprise Linux 7`
4178
+ #
4179
+ # * A supported Windows operating system, such as `Microsoft Windows
4180
+ # Server 2012 R2 Base`, `Microsoft Windows Server 2012 R2 with SQL
4181
+ # Server Express`, `Microsoft Windows Server 2012 R2 with SQL Server
4182
+ # Standard`, or `Microsoft Windows Server 2012 R2 with SQL Server
4183
+ # Web`.
4184
+ #
4185
+ # * A custom AMI: `Custom`. You specify the custom AMI you want to use
4186
+ # when you create instances. For more information on how to use custom
4187
+ # AMIs with OpsWorks, see [Using Custom AMIs][1].
4188
+ #
4189
+ # The default option is the stack's current operating system. For more
4190
+ # information on the supported operating systems, see [AWS OpsWorks
4191
+ # Operating Systems][2].
4192
+ #
4193
+ #
4194
+ #
4195
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-custom-ami.html
4196
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-os.html
4197
+ # @option params [String] :hostname_theme
4198
+ # The stack's new host name theme, with spaces replaced by underscores.
4199
+ # The theme is used to generate host names for the stack's instances.
4200
+ # By default, `HostnameTheme` is set to `Layer_Dependent`, which creates
4201
+ # host names by appending integers to the layer's short name. The other
4202
+ # themes are:
4203
+ #
4204
+ # * `Baked_Goods`
4205
+ #
4206
+ # * `Clouds`
4207
+ #
4208
+ # * `Europe_Cities`
4209
+ #
4210
+ # * `Fruits`
4211
+ #
4212
+ # * `Greek_Deities`
4213
+ #
4214
+ # * `Legendary_creatures_from_Japan`
4215
+ #
4216
+ # * `Planets_and_Moons`
4217
+ #
4218
+ # * `Roman_Deities`
4219
+ #
4220
+ # * `Scottish_Islands`
4221
+ #
4222
+ # * `US_Cities`
4223
+ #
4224
+ # * `Wild_Cats`
4225
+ #
4226
+ # To obtain a generated host name, call `GetHostNameSuggestion`, which
4227
+ # returns a host name based on the current theme.
4228
+ # @option params [String] :default_availability_zone
4229
+ # The stack's default Availability Zone, which must be in the stack's
4230
+ # region. For more information, see [Regions and Endpoints][1]. If you
4231
+ # also specify a value for `DefaultSubnetId`, the subnet must be in the
4232
+ # same zone. For more information, see CreateStack.
4233
+ #
4234
+ #
4235
+ #
4236
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/rande.html
4237
+ # @option params [String] :default_subnet_id
4238
+ # The stack's default VPC subnet ID. This parameter is required if you
4239
+ # specify a value for the `VpcId` parameter. All instances are launched
4240
+ # into this subnet unless you specify otherwise when you create the
4241
+ # instance. If you also specify a value for `DefaultAvailabilityZone`,
4242
+ # the subnet must be in that zone. For information on default values and
4243
+ # when this parameter is required, see the `VpcId` parameter
4244
+ # description.
4245
+ # @option params [String] :custom_json
4246
+ # A string that contains user-defined, custom JSON. It can be used to
4247
+ # override the corresponding default stack configuration JSON values or
4248
+ # to pass data to recipes. The string should be in the following format:
4249
+ #
4250
+ # `"\{"key1": "value1", "key2": "value2",...\}"`
4251
+ #
4252
+ # For more information on custom JSON, see [Use Custom JSON to Modify
4253
+ # the Stack Configuration Attributes][1].
4254
+ #
4255
+ #
4256
+ #
4257
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-json.html
4258
+ # @option params [Types::StackConfigurationManager] :configuration_manager
4259
+ # The configuration manager. When you update a stack, we recommend that
4260
+ # you use the configuration manager to specify the Chef version: 12,
4261
+ # 11.10, or 11.4 for Linux stacks, or 12.2 for Windows stacks. The
4262
+ # default value for Linux stacks is currently 11.4.
4263
+ # @option params [Types::ChefConfiguration] :chef_configuration
4264
+ # A `ChefConfiguration` object that specifies whether to enable
4265
+ # Berkshelf and the Berkshelf version on Chef 11.10 stacks. For more
4266
+ # information, see [Create a New Stack][1].
4267
+ #
4268
+ #
4269
+ #
4270
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html
4271
+ # @option params [Boolean] :use_custom_cookbooks
4272
+ # Whether the stack uses custom cookbooks.
4273
+ # @option params [Types::Source] :custom_cookbooks_source
4274
+ # Contains the information required to retrieve an app or cookbook from
4275
+ # a repository. For more information, see [Creating Apps][1] or [Custom
4276
+ # Recipes and Cookbooks][2].
4277
+ #
4278
+ #
4279
+ #
4280
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingapps-creating.html
4281
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook.html
4282
+ # @option params [String] :default_ssh_key_name
4283
+ # A default Amazon EC2 key-pair name. The default value is `none`. If
4284
+ # you specify a key-pair name, AWS OpsWorks installs the public key on
4285
+ # the instance and you can use the private key with an SSH client to log
4286
+ # in to the instance. For more information, see [ Using SSH to
4287
+ # Communicate with an Instance][1] and [ Managing SSH Access][2]. You
4288
+ # can override this setting by specifying a different key pair, or no
4289
+ # key pair, when you [ create an instance][3].
4290
+ #
4291
+ #
4292
+ #
4293
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html
4294
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/security-ssh-access.html
4295
+ # [3]: http://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-add.html
4296
+ # @option params [String] :default_root_device_type
4297
+ # The default root device type. This value is used by default for all
4298
+ # instances in the stack, but you can override it when you create an
4299
+ # instance. For more information, see [Storage for the Root Device][1].
4300
+ #
4301
+ #
4302
+ #
4303
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ComponentsAMIs.html#storage-for-the-root-device
4304
+ # @option params [Boolean] :use_opsworks_security_groups
4305
+ # Whether to associate the AWS OpsWorks built-in security groups with
4306
+ # the stack's layers.
4307
+ #
4308
+ # AWS OpsWorks provides a standard set of built-in security groups, one
4309
+ # for each layer, which are associated with layers by default.
4310
+ # `UseOpsworksSecurityGroups` allows you to provide your own custom
4311
+ # security groups instead of using the built-in groups.
4312
+ # `UseOpsworksSecurityGroups` has the following settings:
4313
+ #
4314
+ # * True - AWS OpsWorks automatically associates the appropriate
4315
+ # built-in security group with each layer (default setting). You can
4316
+ # associate additional security groups with a layer after you create
4317
+ # it, but you cannot delete the built-in security group.
4318
+ #
4319
+ # * False - AWS OpsWorks does not associate built-in security groups
4320
+ # with layers. You must create appropriate EC2 security groups and
4321
+ # associate a security group with each layer that you create. However,
4322
+ # you can still manually associate a built-in security group with a
4323
+ # layer on. Custom security groups are required only for those layers
4324
+ # that need custom settings.
4325
+ #
4326
+ # For more information, see [Create a New Stack][1].
4327
+ #
4328
+ #
4329
+ #
4330
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/workingstacks-creating.html
4331
+ # @option params [String] :agent_version
4332
+ # The default AWS OpsWorks agent version. You have the following
4333
+ # options:
4334
+ #
4335
+ # * Auto-update - Set this parameter to `LATEST`. AWS OpsWorks
4336
+ # automatically installs new agent versions on the stack's instances
4337
+ # as soon as they are available.
4338
+ #
4339
+ # * Fixed version - Set this parameter to your preferred agent version.
4340
+ # To update the agent version, you must edit the stack configuration
4341
+ # and specify a new version. AWS OpsWorks then automatically installs
4342
+ # that version on the stack's instances.
4343
+ #
4344
+ # The default setting is `LATEST`. To specify an agent version, you must
4345
+ # use the complete version number, not the abbreviated number shown on
4346
+ # the console. For a list of available agent version numbers, call
4347
+ # DescribeAgentVersions.
4348
+ #
4349
+ # <note markdown="1"> You can also specify an agent version when you create or update an
4350
+ # instance, which overrides the stack's default setting.
4351
+ #
4352
+ # </note>
4353
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4354
+ #
4355
+ # @example Request syntax with placeholder values
4356
+ # resp = client.update_stack({
4357
+ # stack_id: "String", # required
4358
+ # name: "String",
4359
+ # attributes: {
4360
+ # "Color" => "String",
4361
+ # },
4362
+ # service_role_arn: "String",
4363
+ # default_instance_profile_arn: "String",
4364
+ # default_os: "String",
4365
+ # hostname_theme: "String",
4366
+ # default_availability_zone: "String",
4367
+ # default_subnet_id: "String",
4368
+ # custom_json: "String",
4369
+ # configuration_manager: {
4370
+ # name: "String",
4371
+ # version: "String",
4372
+ # },
4373
+ # chef_configuration: {
4374
+ # manage_berkshelf: false,
4375
+ # berkshelf_version: "String",
4376
+ # },
4377
+ # use_custom_cookbooks: false,
4378
+ # custom_cookbooks_source: {
4379
+ # type: "git", # accepts git, svn, archive, s3
4380
+ # url: "String",
4381
+ # username: "String",
4382
+ # password: "String",
4383
+ # ssh_key: "String",
4384
+ # revision: "String",
4385
+ # },
4386
+ # default_ssh_key_name: "String",
4387
+ # default_root_device_type: "ebs", # accepts ebs, instance-store
4388
+ # use_opsworks_security_groups: false,
4389
+ # agent_version: "String",
4390
+ # })
4391
+ # @overload update_stack(params = {})
4392
+ # @param [Hash] params ({})
4393
+ def update_stack(params = {}, options = {})
4394
+ req = build_request(:update_stack, params)
4395
+ req.send_request(options)
4396
+ end
4397
+
4398
+ # Updates a specified user profile.
4399
+ #
4400
+ # **Required Permissions**\: To use this action, an IAM user must have
4401
+ # an attached policy that explicitly grants permissions. For more
4402
+ # information on user permissions, see [Managing User Permissions][1].
4403
+ #
4404
+ #
4405
+ #
4406
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
4407
+ # @option params [required, String] :iam_user_arn
4408
+ # The user IAM ARN. This can also be a federated user's ARN.
4409
+ # @option params [String] :ssh_username
4410
+ # The user's SSH user name. The allowable characters are \[a-z\],
4411
+ # \[A-Z\], \[0-9\], '-', and '\_'. If the specified name includes
4412
+ # other punctuation marks, AWS OpsWorks removes them. For example,
4413
+ # `my.name` will be changed to `myname`. If you do not specify an SSH
4414
+ # user name, AWS OpsWorks generates one from the IAM user name.
4415
+ # @option params [String] :ssh_public_key
4416
+ # The user's new SSH public key.
4417
+ # @option params [Boolean] :allow_self_management
4418
+ # Whether users can specify their own SSH public key through the My
4419
+ # Settings page. For more information, see [Managing User
4420
+ # Permissions][1].
4421
+ #
4422
+ #
4423
+ #
4424
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/security-settingsshkey.html
4425
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4426
+ #
4427
+ # @example Request syntax with placeholder values
4428
+ # resp = client.update_user_profile({
4429
+ # iam_user_arn: "String", # required
4430
+ # ssh_username: "String",
4431
+ # ssh_public_key: "String",
4432
+ # allow_self_management: false,
4433
+ # })
4434
+ # @overload update_user_profile(params = {})
4435
+ # @param [Hash] params ({})
4436
+ def update_user_profile(params = {}, options = {})
4437
+ req = build_request(:update_user_profile, params)
4438
+ req.send_request(options)
4439
+ end
4440
+
4441
+ # Updates an Amazon EBS volume's name or mount point. For more
4442
+ # information, see [Resource Management][1].
4443
+ #
4444
+ # **Required Permissions**\: To use this action, an IAM user must have a
4445
+ # Manage permissions level for the stack, or an attached policy that
4446
+ # explicitly grants permissions. For more information on user
4447
+ # permissions, see [Managing User Permissions][2].
4448
+ #
4449
+ #
4450
+ #
4451
+ # [1]: http://docs.aws.amazon.com/opsworks/latest/userguide/resources.html
4452
+ # [2]: http://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-users.html
4453
+ # @option params [required, String] :volume_id
4454
+ # The volume ID.
4455
+ # @option params [String] :name
4456
+ # The new name.
4457
+ # @option params [String] :mount_point
4458
+ # The new mount point.
4459
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
4460
+ #
4461
+ # @example Request syntax with placeholder values
4462
+ # resp = client.update_volume({
4463
+ # volume_id: "String", # required
4464
+ # name: "String",
4465
+ # mount_point: "String",
4466
+ # })
4467
+ # @overload update_volume(params = {})
4468
+ # @param [Hash] params ({})
4469
+ def update_volume(params = {}, options = {})
4470
+ req = build_request(:update_volume, params)
4471
+ req.send_request(options)
4472
+ end
4473
+
4474
+ # @!endgroup
4475
+
4476
+ # @param params ({})
4477
+ # @api private
4478
+ def build_request(operation_name, params = {})
4479
+ handlers = @handlers.for(operation_name)
4480
+ context = Seahorse::Client::RequestContext.new(
4481
+ operation_name: operation_name,
4482
+ operation: config.api.operation(operation_name),
4483
+ client: self,
4484
+ params: params,
4485
+ config: config)
4486
+ context[:gem_name] = 'aws-sdk-opsworks'
4487
+ context[:gem_version] = '1.0.0.rc1'
4488
+ Seahorse::Client::Request.new(handlers, context)
4489
+ end
4490
+
4491
+ # Polls an API operation until a resource enters a desired state.
4492
+ #
4493
+ # ## Basic Usage
4494
+ #
4495
+ # A waiter will call an API operation until:
4496
+ #
4497
+ # * It is successful
4498
+ # * It enters a terminal state
4499
+ # * It makes the maximum number of attempts
4500
+ #
4501
+ # In between attempts, the waiter will sleep.
4502
+ #
4503
+ # # polls in a loop, sleeping between attempts
4504
+ # client.waiter_until(waiter_name, params)
4505
+ #
4506
+ # ## Configuration
4507
+ #
4508
+ # You can configure the maximum number of polling attempts, and the
4509
+ # delay (in seconds) between each polling attempt. You can pass
4510
+ # configuration as the final arguments hash.
4511
+ #
4512
+ # # poll for ~25 seconds
4513
+ # client.wait_until(waiter_name, params, {
4514
+ # max_attempts: 5,
4515
+ # delay: 5,
4516
+ # })
4517
+ #
4518
+ # ## Callbacks
4519
+ #
4520
+ # You can be notified before each polling attempt and before each
4521
+ # delay. If you throw `:success` or `:failure` from these callbacks,
4522
+ # it will terminate the waiter.
4523
+ #
4524
+ # started_at = Time.now
4525
+ # client.wait_until(waiter_name, params, {
4526
+ #
4527
+ # # disable max attempts
4528
+ # max_attempts: nil,
4529
+ #
4530
+ # # poll for 1 hour, instead of a number of attempts
4531
+ # before_wait: -> (attempts, response) do
4532
+ # throw :failure if Time.now - started_at > 3600
4533
+ # end
4534
+ # })
4535
+ #
4536
+ # ## Handling Errors
4537
+ #
4538
+ # When a waiter is unsuccessful, it will raise an error.
4539
+ # All of the failure errors extend from
4540
+ # {Aws::Waiters::Errors::WaiterFailed}.
4541
+ #
4542
+ # begin
4543
+ # client.wait_until(...)
4544
+ # rescue Aws::Waiters::Errors::WaiterFailed
4545
+ # # resource did not enter the desired state in time
4546
+ # end
4547
+ #
4548
+ # ## Valid Waiters
4549
+ #
4550
+ # The following table lists the valid waiter names, the operations they call,
4551
+ # and the default `:delay` and `:max_attempts` values.
4552
+ #
4553
+ # | waiter_name | params | :delay | :max_attempts |
4554
+ # | --------------------- | ----------------------- | -------- | ------------- |
4555
+ # | app_exists | {#describe_apps} | 1 | 40 |
4556
+ # | deployment_successful | {#describe_deployments} | 15 | 40 |
4557
+ # | instance_online | {#describe_instances} | 15 | 40 |
4558
+ # | instance_registered | {#describe_instances} | 15 | 40 |
4559
+ # | instance_stopped | {#describe_instances} | 15 | 40 |
4560
+ # | instance_terminated | {#describe_instances} | 15 | 40 |
4561
+ #
4562
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
4563
+ # because the waiter has entered a state that it will not transition
4564
+ # out of, preventing success.
4565
+ #
4566
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
4567
+ # maximum number of attempts have been made, and the waiter is not
4568
+ # yet successful.
4569
+ #
4570
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
4571
+ # while polling for a resource that is not expected.
4572
+ #
4573
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
4574
+ # for an unknown state.
4575
+ #
4576
+ # @return [Boolean] Returns `true` if the waiter was successful.
4577
+ # @param [Symbol] waiter_name
4578
+ # @param [Hash] params ({})
4579
+ # @param [Hash] options ({})
4580
+ # @option options [Integer] :max_attempts
4581
+ # @option options [Integer] :delay
4582
+ # @option options [Proc] :before_attempt
4583
+ # @option options [Proc] :before_wait
4584
+ def wait_until(waiter_name, params = {}, options = {})
4585
+ w = waiter(waiter_name, options)
4586
+ yield(w.waiter) if block_given? # deprecated
4587
+ w.wait(params)
4588
+ end
4589
+
4590
+ # @api private
4591
+ # @deprecated
4592
+ def waiter_names
4593
+ waiters.keys
4594
+ end
4595
+
4596
+ private
4597
+
4598
+ # @param [Symbol] waiter_name
4599
+ # @param [Hash] options ({})
4600
+ def waiter(waiter_name, options = {})
4601
+ waiter_class = waiters[waiter_name]
4602
+ if waiter_class
4603
+ waiter_class.new(options.merge(client: self))
4604
+ else
4605
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
4606
+ end
4607
+ end
4608
+
4609
+ def waiters
4610
+ {
4611
+ app_exists: Waiters::AppExists,
4612
+ deployment_successful: Waiters::DeploymentSuccessful,
4613
+ instance_online: Waiters::InstanceOnline,
4614
+ instance_registered: Waiters::InstanceRegistered,
4615
+ instance_stopped: Waiters::InstanceStopped,
4616
+ instance_terminated: Waiters::InstanceTerminated
4617
+ }
4618
+ end
4619
+
4620
+ class << self
4621
+
4622
+ # @api private
4623
+ attr_reader :identifier
4624
+
4625
+ # @api private
4626
+ def errors_module
4627
+ Errors
4628
+ end
4629
+
4630
+ end
4631
+ end
4632
+ end
4633
+ end