aws-sdk-opsworks 1.0.0.rc1

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