aws-sdk-ssm 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 30c454f523f5138e2833e462ca3893513afdf889
4
+ data.tar.gz: 20620f093218aaaac5a303fdae6b39766c57befe
5
+ SHA512:
6
+ metadata.gz: 0272f8198abea52a77ea653577b1c3702d99fd77da00d26eba19147e5c17b859f77ece5b05dccb27b0d18b2d8174ad73cc417c49b58a6ab011e136e37616f612
7
+ data.tar.gz: cb2caa1b902898f2957ffb0391f1d7dbc15d26bd3845719b1004e05434fd2206e0a04091bd9311c35fec27ac6698f0203dc34bb16c579d4cddf10335326c86cd
@@ -0,0 +1,47 @@
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-ssm/types'
12
+ require_relative 'aws-sdk-ssm/client_api'
13
+ require_relative 'aws-sdk-ssm/client'
14
+ require_relative 'aws-sdk-ssm/errors'
15
+ require_relative 'aws-sdk-ssm/resource'
16
+ require_relative 'aws-sdk-ssm/customizations'
17
+
18
+ # This module provides support for Amazon Simple Systems Management Service. This module is available in the
19
+ # `aws-sdk-ssm` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Simple Systems Management Service all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::SSM::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::SSM
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,1215 @@
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(:ssm)
25
+
26
+ module Aws
27
+ module SSM
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :ssm
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
+ # Adds or overwrites one or more tags for the specified resource. Tags
143
+ # are metadata that you assign to your managed instances. Tags enable
144
+ # you to categorize your managed instances in different ways, for
145
+ # example, by purpose, owner, or environment. Each tag consists of a key
146
+ # and an optional value, both of which you define. For example, you
147
+ # could define a set of tags for your account's managed instances that
148
+ # helps you track each instance's owner and stack level. For example:
149
+ # Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and
150
+ # Value=Production, Pre-Production, or Test. Each resource can have a
151
+ # maximum of 10 tags.
152
+ #
153
+ # We recommend that you devise a set of tag keys that meets your needs
154
+ # for each resource type. Using a consistent set of tag keys makes it
155
+ # easier for you to manage your resources. You can search and filter the
156
+ # resources based on the tags you add. Tags don't have any semantic
157
+ # meaning to Amazon EC2 and are interpreted strictly as a string of
158
+ # characters.
159
+ #
160
+ # For more information about tags, see [Tagging Your Amazon EC2
161
+ # Resources][1] in the Amazon EC2 User Guide.
162
+ #
163
+ #
164
+ #
165
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html
166
+ # @option params [required, String] :resource_type
167
+ # Specifies the type of resource you are tagging.
168
+ # @option params [required, String] :resource_id
169
+ # The resource ID you want to tag.
170
+ # @option params [required, Array<Types::Tag>] :tags
171
+ # One or more tags. The value parameter is required, but if you don't
172
+ # want the tag to have a value, specify the parameter with no value, and
173
+ # we set the value to an empty string.
174
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
175
+ #
176
+ # @example Request syntax with placeholder values
177
+ # resp = client.add_tags_to_resource({
178
+ # resource_type: "ManagedInstance", # required, accepts ManagedInstance
179
+ # resource_id: "ResourceId", # required
180
+ # tags: [ # required
181
+ # {
182
+ # key: "TagKey", # required
183
+ # value: "TagValue", # required
184
+ # },
185
+ # ],
186
+ # })
187
+ # @overload add_tags_to_resource(params = {})
188
+ # @param [Hash] params ({})
189
+ def add_tags_to_resource(params = {}, options = {})
190
+ req = build_request(:add_tags_to_resource, params)
191
+ req.send_request(options)
192
+ end
193
+
194
+ # Attempts to cancel the command specified by the Command ID. There is
195
+ # no guarantee that the command will be terminated and the underlying
196
+ # process stopped.
197
+ # @option params [required, String] :command_id
198
+ # The ID of the command you want to cancel.
199
+ # @option params [Array<String>] :instance_ids
200
+ # (Optional) A list of instance IDs on which you want to cancel the
201
+ # command. If not provided, the command is canceled on every instance on
202
+ # which it was requested.
203
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
204
+ #
205
+ # @example Request syntax with placeholder values
206
+ # resp = client.cancel_command({
207
+ # command_id: "CommandId", # required
208
+ # instance_ids: ["InstanceId"],
209
+ # })
210
+ # @overload cancel_command(params = {})
211
+ # @param [Hash] params ({})
212
+ def cancel_command(params = {}, options = {})
213
+ req = build_request(:cancel_command, params)
214
+ req.send_request(options)
215
+ end
216
+
217
+ # Registers your on-premises server or virtual machine with Amazon EC2
218
+ # so that you can manage these resources using Run Command. An
219
+ # on-premises server or virtual machine that has been registered with
220
+ # EC2 is called a managed instance. For more information about
221
+ # activations, see [Setting Up Managed Instances (Linux)][1] or [Setting
222
+ # Up Managed Instances (Windows)][2] in the Amazon EC2 User Guide.
223
+ #
224
+ #
225
+ #
226
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managed-instances.html
227
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/managed-instances.html
228
+ # @option params [String] :description
229
+ # A user-defined description of the resource that you want to register
230
+ # with Amazon EC2.
231
+ # @option params [String] :default_instance_name
232
+ # The name of the registered, managed instance as it will appear in the
233
+ # Amazon EC2 console or when you use the AWS command line tools to list
234
+ # EC2 resources.
235
+ # @option params [required, String] :iam_role
236
+ # The Amazon Identity and Access Management (IAM) role that you want to
237
+ # assign to the managed instance.
238
+ # @option params [Integer] :registration_limit
239
+ # Specify the maximum number of managed instances you want to register.
240
+ # The default value is 1 instance.
241
+ # @option params [Time,DateTime,Date,Integer,String] :expiration_date
242
+ # The date by which this activation request should expire. The default
243
+ # value is 24 hours.
244
+ # @return [Types::CreateActivationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
245
+ #
246
+ # * {Types::CreateActivationResult#activation_id #ActivationId} => String
247
+ # * {Types::CreateActivationResult#activation_code #ActivationCode} => String
248
+ #
249
+ # @example Request syntax with placeholder values
250
+ # resp = client.create_activation({
251
+ # description: "ActivationDescription",
252
+ # default_instance_name: "DefaultInstanceName",
253
+ # iam_role: "IamRole", # required
254
+ # registration_limit: 1,
255
+ # expiration_date: Time.now,
256
+ # })
257
+ #
258
+ # @example Response structure
259
+ # resp.activation_id #=> String
260
+ # resp.activation_code #=> String
261
+ # @overload create_activation(params = {})
262
+ # @param [Hash] params ({})
263
+ def create_activation(params = {}, options = {})
264
+ req = build_request(:create_activation, params)
265
+ req.send_request(options)
266
+ end
267
+
268
+ # Associates the specified SSM document with the specified instance.
269
+ #
270
+ # When you associate an SSM document with an instance, the configuration
271
+ # agent on the instance (SSM agent for Linux and EC2Config service for
272
+ # Windows) processes the document and configures the instance as
273
+ # specified.
274
+ #
275
+ # If you associate a document with an instance that already has an
276
+ # associated document, the system throws the AssociationAlreadyExists
277
+ # exception.
278
+ # @option params [required, String] :name
279
+ # The name of the SSM document.
280
+ # @option params [required, String] :instance_id
281
+ # The instance ID.
282
+ # @option params [Hash<String,Array>] :parameters
283
+ # The parameters for the documents runtime configuration.
284
+ # @return [Types::CreateAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
285
+ #
286
+ # * {Types::CreateAssociationResult#association_description #AssociationDescription} => Types::AssociationDescription
287
+ #
288
+ # @example Request syntax with placeholder values
289
+ # resp = client.create_association({
290
+ # name: "DocumentName", # required
291
+ # instance_id: "InstanceId", # required
292
+ # parameters: {
293
+ # "ParameterName" => ["ParameterValue"],
294
+ # },
295
+ # })
296
+ #
297
+ # @example Response structure
298
+ # resp.association_description.name #=> String
299
+ # resp.association_description.instance_id #=> String
300
+ # resp.association_description.date #=> Time
301
+ # resp.association_description.status.date #=> Time
302
+ # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed"
303
+ # resp.association_description.status.message #=> String
304
+ # resp.association_description.status.additional_info #=> String
305
+ # resp.association_description.parameters #=> Hash
306
+ # resp.association_description.parameters["ParameterName"] #=> Array
307
+ # resp.association_description.parameters["ParameterName"][0] #=> String
308
+ # @overload create_association(params = {})
309
+ # @param [Hash] params ({})
310
+ def create_association(params = {}, options = {})
311
+ req = build_request(:create_association, params)
312
+ req.send_request(options)
313
+ end
314
+
315
+ # Associates the specified SSM document with the specified instances.
316
+ #
317
+ # When you associate an SSM document with an instance, the configuration
318
+ # agent on the instance (SSM agent for Linux and EC2Config service for
319
+ # Windows) processes the document and configures the instance as
320
+ # specified.
321
+ #
322
+ # If you associate a document with an instance that already has an
323
+ # associated document, the system throws the AssociationAlreadyExists
324
+ # exception.
325
+ # @option params [required, Array<Types::CreateAssociationBatchRequestEntry>] :entries
326
+ # One or more associations.
327
+ # @return [Types::CreateAssociationBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
328
+ #
329
+ # * {Types::CreateAssociationBatchResult#successful #Successful} => Array&lt;Types::AssociationDescription&gt;
330
+ # * {Types::CreateAssociationBatchResult#failed #Failed} => Array&lt;Types::FailedCreateAssociation&gt;
331
+ #
332
+ # @example Request syntax with placeholder values
333
+ # resp = client.create_association_batch({
334
+ # entries: [ # required
335
+ # {
336
+ # name: "DocumentName",
337
+ # instance_id: "InstanceId",
338
+ # parameters: {
339
+ # "ParameterName" => ["ParameterValue"],
340
+ # },
341
+ # },
342
+ # ],
343
+ # })
344
+ #
345
+ # @example Response structure
346
+ # resp.successful #=> Array
347
+ # resp.successful[0].name #=> String
348
+ # resp.successful[0].instance_id #=> String
349
+ # resp.successful[0].date #=> Time
350
+ # resp.successful[0].status.date #=> Time
351
+ # resp.successful[0].status.name #=> String, one of "Pending", "Success", "Failed"
352
+ # resp.successful[0].status.message #=> String
353
+ # resp.successful[0].status.additional_info #=> String
354
+ # resp.successful[0].parameters #=> Hash
355
+ # resp.successful[0].parameters["ParameterName"] #=> Array
356
+ # resp.successful[0].parameters["ParameterName"][0] #=> String
357
+ # resp.failed #=> Array
358
+ # resp.failed[0].entry.name #=> String
359
+ # resp.failed[0].entry.instance_id #=> String
360
+ # resp.failed[0].entry.parameters #=> Hash
361
+ # resp.failed[0].entry.parameters["ParameterName"] #=> Array
362
+ # resp.failed[0].entry.parameters["ParameterName"][0] #=> String
363
+ # resp.failed[0].message #=> String
364
+ # resp.failed[0].fault #=> String, one of "Client", "Server", "Unknown"
365
+ # @overload create_association_batch(params = {})
366
+ # @param [Hash] params ({})
367
+ def create_association_batch(params = {}, options = {})
368
+ req = build_request(:create_association_batch, params)
369
+ req.send_request(options)
370
+ end
371
+
372
+ # Creates an SSM document.
373
+ #
374
+ # After you create an SSM document, you can use CreateAssociation to
375
+ # associate it with one or more running instances.
376
+ # @option params [required, String] :content
377
+ # A valid JSON string.
378
+ # @option params [required, String] :name
379
+ # A name for the SSM document.
380
+ # @return [Types::CreateDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
381
+ #
382
+ # * {Types::CreateDocumentResult#document_description #DocumentDescription} => Types::DocumentDescription
383
+ #
384
+ # @example Request syntax with placeholder values
385
+ # resp = client.create_document({
386
+ # content: "DocumentContent", # required
387
+ # name: "DocumentName", # required
388
+ # })
389
+ #
390
+ # @example Response structure
391
+ # resp.document_description.sha_1 #=> String
392
+ # resp.document_description.hash #=> String
393
+ # resp.document_description.hash_type #=> String, one of "Sha256", "Sha1"
394
+ # resp.document_description.name #=> String
395
+ # resp.document_description.owner #=> String
396
+ # resp.document_description.created_date #=> Time
397
+ # resp.document_description.status #=> String, one of "Creating", "Active", "Deleting"
398
+ # resp.document_description.description #=> String
399
+ # resp.document_description.parameters #=> Array
400
+ # resp.document_description.parameters[0].name #=> String
401
+ # resp.document_description.parameters[0].type #=> String, one of "String", "StringList"
402
+ # resp.document_description.parameters[0].description #=> String
403
+ # resp.document_description.parameters[0].default_value #=> String
404
+ # resp.document_description.platform_types #=> Array
405
+ # resp.document_description.platform_types[0] #=> String, one of "Windows", "Linux"
406
+ # @overload create_document(params = {})
407
+ # @param [Hash] params ({})
408
+ def create_document(params = {}, options = {})
409
+ req = build_request(:create_document, params)
410
+ req.send_request(options)
411
+ end
412
+
413
+ # Deletes an activation. You are not required to delete an activation.
414
+ # If you delete an activation, you can no longer use it to register
415
+ # additional managed instances. Deleting an activation does not
416
+ # de-register managed instances. You must manually de-register managed
417
+ # instances.
418
+ # @option params [required, String] :activation_id
419
+ # The ID of the activation that you want to delete.
420
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
421
+ #
422
+ # @example Request syntax with placeholder values
423
+ # resp = client.delete_activation({
424
+ # activation_id: "ActivationId", # required
425
+ # })
426
+ # @overload delete_activation(params = {})
427
+ # @param [Hash] params ({})
428
+ def delete_activation(params = {}, options = {})
429
+ req = build_request(:delete_activation, params)
430
+ req.send_request(options)
431
+ end
432
+
433
+ # Disassociates the specified SSM document from the specified instance.
434
+ #
435
+ # When you disassociate an SSM document from an instance, it does not
436
+ # change the configuration of the instance. To change the configuration
437
+ # state of an instance after you disassociate a document, you must
438
+ # create a new document with the desired configuration and associate it
439
+ # with the instance.
440
+ # @option params [required, String] :name
441
+ # The name of the SSM document.
442
+ # @option params [required, String] :instance_id
443
+ # The ID of the instance.
444
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
445
+ #
446
+ # @example Request syntax with placeholder values
447
+ # resp = client.delete_association({
448
+ # name: "DocumentName", # required
449
+ # instance_id: "InstanceId", # required
450
+ # })
451
+ # @overload delete_association(params = {})
452
+ # @param [Hash] params ({})
453
+ def delete_association(params = {}, options = {})
454
+ req = build_request(:delete_association, params)
455
+ req.send_request(options)
456
+ end
457
+
458
+ # Deletes the SSM document and all instance associations to the
459
+ # document.
460
+ #
461
+ # Before you delete the SSM document, we recommend that you use
462
+ # DeleteAssociation to disassociate all instances that are associated
463
+ # with the document.
464
+ # @option params [required, String] :name
465
+ # The name of the SSM document.
466
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
467
+ #
468
+ # @example Request syntax with placeholder values
469
+ # resp = client.delete_document({
470
+ # name: "DocumentName", # required
471
+ # })
472
+ # @overload delete_document(params = {})
473
+ # @param [Hash] params ({})
474
+ def delete_document(params = {}, options = {})
475
+ req = build_request(:delete_document, params)
476
+ req.send_request(options)
477
+ end
478
+
479
+ # Removes the server or virtual machine from the list of registered
480
+ # servers. You can reregister the instance again at any time. If you
481
+ # don’t plan to use Run Command on the server, we suggest uninstalling
482
+ # the SSM agent first.
483
+ # @option params [required, String] :instance_id
484
+ # The ID assigned to the managed instance when you registered it using
485
+ # the activation process.
486
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
487
+ #
488
+ # @example Request syntax with placeholder values
489
+ # resp = client.deregister_managed_instance({
490
+ # instance_id: "ManagedInstanceId", # required
491
+ # })
492
+ # @overload deregister_managed_instance(params = {})
493
+ # @param [Hash] params ({})
494
+ def deregister_managed_instance(params = {}, options = {})
495
+ req = build_request(:deregister_managed_instance, params)
496
+ req.send_request(options)
497
+ end
498
+
499
+ # Details about the activation, including: the date and time the
500
+ # activation was created, the expiration date, the IAM role assigned to
501
+ # the instances in the activation, and the number of instances activated
502
+ # by this registration.
503
+ # @option params [Array<Types::DescribeActivationsFilter>] :filters
504
+ # A filter to view information about your activations.
505
+ # @option params [Integer] :max_results
506
+ # The maximum number of items to return for this call. The call also
507
+ # returns a token that you can specify in a subsequent call to get the
508
+ # next set of results.
509
+ # @option params [String] :next_token
510
+ # A token to start the list. Use this token to get the next set of
511
+ # results.
512
+ # @return [Types::DescribeActivationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
513
+ #
514
+ # * {Types::DescribeActivationsResult#activation_list #ActivationList} => Array&lt;Types::Activation&gt;
515
+ # * {Types::DescribeActivationsResult#next_token #NextToken} => String
516
+ #
517
+ # @example Request syntax with placeholder values
518
+ # resp = client.describe_activations({
519
+ # filters: [
520
+ # {
521
+ # filter_key: "ActivationIds", # accepts ActivationIds, DefaultInstanceName, IamRole
522
+ # filter_values: ["String"],
523
+ # },
524
+ # ],
525
+ # max_results: 1,
526
+ # next_token: "NextToken",
527
+ # })
528
+ #
529
+ # @example Response structure
530
+ # resp.activation_list #=> Array
531
+ # resp.activation_list[0].activation_id #=> String
532
+ # resp.activation_list[0].description #=> String
533
+ # resp.activation_list[0].default_instance_name #=> String
534
+ # resp.activation_list[0].iam_role #=> String
535
+ # resp.activation_list[0].registration_limit #=> Integer
536
+ # resp.activation_list[0].registrations_count #=> Integer
537
+ # resp.activation_list[0].expiration_date #=> Time
538
+ # resp.activation_list[0].expired #=> Boolean
539
+ # resp.activation_list[0].created_date #=> Time
540
+ # resp.next_token #=> String
541
+ # @overload describe_activations(params = {})
542
+ # @param [Hash] params ({})
543
+ def describe_activations(params = {}, options = {})
544
+ req = build_request(:describe_activations, params)
545
+ req.send_request(options)
546
+ end
547
+
548
+ # Describes the associations for the specified SSM document or instance.
549
+ # @option params [required, String] :name
550
+ # The name of the SSM document.
551
+ # @option params [required, String] :instance_id
552
+ # The instance ID.
553
+ # @return [Types::DescribeAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
554
+ #
555
+ # * {Types::DescribeAssociationResult#association_description #AssociationDescription} => Types::AssociationDescription
556
+ #
557
+ # @example Request syntax with placeholder values
558
+ # resp = client.describe_association({
559
+ # name: "DocumentName", # required
560
+ # instance_id: "InstanceId", # required
561
+ # })
562
+ #
563
+ # @example Response structure
564
+ # resp.association_description.name #=> String
565
+ # resp.association_description.instance_id #=> String
566
+ # resp.association_description.date #=> Time
567
+ # resp.association_description.status.date #=> Time
568
+ # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed"
569
+ # resp.association_description.status.message #=> String
570
+ # resp.association_description.status.additional_info #=> String
571
+ # resp.association_description.parameters #=> Hash
572
+ # resp.association_description.parameters["ParameterName"] #=> Array
573
+ # resp.association_description.parameters["ParameterName"][0] #=> String
574
+ # @overload describe_association(params = {})
575
+ # @param [Hash] params ({})
576
+ def describe_association(params = {}, options = {})
577
+ req = build_request(:describe_association, params)
578
+ req.send_request(options)
579
+ end
580
+
581
+ # Describes the specified SSM document.
582
+ # @option params [required, String] :name
583
+ # The name of the SSM document.
584
+ # @return [Types::DescribeDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
585
+ #
586
+ # * {Types::DescribeDocumentResult#document #Document} => Types::DocumentDescription
587
+ #
588
+ # @example Request syntax with placeholder values
589
+ # resp = client.describe_document({
590
+ # name: "DocumentARN", # required
591
+ # })
592
+ #
593
+ # @example Response structure
594
+ # resp.document.sha_1 #=> String
595
+ # resp.document.hash #=> String
596
+ # resp.document.hash_type #=> String, one of "Sha256", "Sha1"
597
+ # resp.document.name #=> String
598
+ # resp.document.owner #=> String
599
+ # resp.document.created_date #=> Time
600
+ # resp.document.status #=> String, one of "Creating", "Active", "Deleting"
601
+ # resp.document.description #=> String
602
+ # resp.document.parameters #=> Array
603
+ # resp.document.parameters[0].name #=> String
604
+ # resp.document.parameters[0].type #=> String, one of "String", "StringList"
605
+ # resp.document.parameters[0].description #=> String
606
+ # resp.document.parameters[0].default_value #=> String
607
+ # resp.document.platform_types #=> Array
608
+ # resp.document.platform_types[0] #=> String, one of "Windows", "Linux"
609
+ # @overload describe_document(params = {})
610
+ # @param [Hash] params ({})
611
+ def describe_document(params = {}, options = {})
612
+ req = build_request(:describe_document, params)
613
+ req.send_request(options)
614
+ end
615
+
616
+ # Describes the permissions for an SSM document. If you created the
617
+ # document, you are the owner. If a document is shared, it can either be
618
+ # shared privately (by specifying a user’s AWS account ID) or publicly
619
+ # (*All*).
620
+ # @option params [required, String] :name
621
+ # The name of the document for which you are the owner.
622
+ # @option params [required, String] :permission_type
623
+ # The permission type for the document. The permission type can be
624
+ # *Share*.
625
+ # @return [Types::DescribeDocumentPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
626
+ #
627
+ # * {Types::DescribeDocumentPermissionResponse#account_ids #AccountIds} => Array&lt;String&gt;
628
+ #
629
+ # @example Request syntax with placeholder values
630
+ # resp = client.describe_document_permission({
631
+ # name: "DocumentName", # required
632
+ # permission_type: "Share", # required, accepts Share
633
+ # })
634
+ #
635
+ # @example Response structure
636
+ # resp.account_ids #=> Array
637
+ # resp.account_ids[0] #=> String
638
+ # @overload describe_document_permission(params = {})
639
+ # @param [Hash] params ({})
640
+ def describe_document_permission(params = {}, options = {})
641
+ req = build_request(:describe_document_permission, params)
642
+ req.send_request(options)
643
+ end
644
+
645
+ # Describes one or more of your instances. You can use this to get
646
+ # information about instances like the operating system platform, the
647
+ # SSM agent version (Linux), status etc. If you specify one or more
648
+ # instance IDs, it returns information for those instances. If you do
649
+ # not specify instance IDs, it returns information for all your
650
+ # instances. If you specify an instance ID that is not valid or an
651
+ # instance that you do not own, you receive an error.
652
+ # @option params [Array<Types::InstanceInformationFilter>] :instance_information_filter_list
653
+ # One or more filters. Use a filter to return a more specific list of
654
+ # instances.
655
+ # @option params [Integer] :max_results
656
+ # The maximum number of items to return for this call. The call also
657
+ # returns a token that you can specify in a subsequent call to get the
658
+ # next set of results.
659
+ # @option params [String] :next_token
660
+ # The token for the next set of items to return. (You received this
661
+ # token from a previous call.)
662
+ # @return [Types::DescribeInstanceInformationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
663
+ #
664
+ # * {Types::DescribeInstanceInformationResult#instance_information_list #InstanceInformationList} => Array&lt;Types::InstanceInformation&gt;
665
+ # * {Types::DescribeInstanceInformationResult#next_token #NextToken} => String
666
+ #
667
+ # @example Request syntax with placeholder values
668
+ # resp = client.describe_instance_information({
669
+ # instance_information_filter_list: [
670
+ # {
671
+ # key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, ActivationIds, IamRole, ResourceType
672
+ # value_set: ["InstanceInformationFilterValue"], # required
673
+ # },
674
+ # ],
675
+ # max_results: 1,
676
+ # next_token: "NextToken",
677
+ # })
678
+ #
679
+ # @example Response structure
680
+ # resp.instance_information_list #=> Array
681
+ # resp.instance_information_list[0].instance_id #=> String
682
+ # resp.instance_information_list[0].ping_status #=> String, one of "Online", "ConnectionLost", "Inactive"
683
+ # resp.instance_information_list[0].last_ping_date_time #=> Time
684
+ # resp.instance_information_list[0].agent_version #=> String
685
+ # resp.instance_information_list[0].is_latest_version #=> Boolean
686
+ # resp.instance_information_list[0].platform_type #=> String, one of "Windows", "Linux"
687
+ # resp.instance_information_list[0].platform_name #=> String
688
+ # resp.instance_information_list[0].platform_version #=> String
689
+ # resp.instance_information_list[0].activation_id #=> String
690
+ # resp.instance_information_list[0].iam_role #=> String
691
+ # resp.instance_information_list[0].registration_date #=> Time
692
+ # resp.instance_information_list[0].resource_type #=> String, one of "ManagedInstance", "Document", "EC2Instance"
693
+ # resp.instance_information_list[0].name #=> String
694
+ # resp.instance_information_list[0].ip_address #=> String
695
+ # resp.instance_information_list[0].computer_name #=> String
696
+ # resp.next_token #=> String
697
+ # @overload describe_instance_information(params = {})
698
+ # @param [Hash] params ({})
699
+ def describe_instance_information(params = {}, options = {})
700
+ req = build_request(:describe_instance_information, params)
701
+ req.send_request(options)
702
+ end
703
+
704
+ # Gets the contents of the specified SSM document.
705
+ # @option params [required, String] :name
706
+ # The name of the SSM document.
707
+ # @return [Types::GetDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
708
+ #
709
+ # * {Types::GetDocumentResult#name #Name} => String
710
+ # * {Types::GetDocumentResult#content #Content} => String
711
+ #
712
+ # @example Request syntax with placeholder values
713
+ # resp = client.get_document({
714
+ # name: "DocumentARN", # required
715
+ # })
716
+ #
717
+ # @example Response structure
718
+ # resp.name #=> String
719
+ # resp.content #=> String
720
+ # @overload get_document(params = {})
721
+ # @param [Hash] params ({})
722
+ def get_document(params = {}, options = {})
723
+ req = build_request(:get_document, params)
724
+ req.send_request(options)
725
+ end
726
+
727
+ # Lists the associations for the specified SSM document or instance.
728
+ # @option params [required, Array<Types::AssociationFilter>] :association_filter_list
729
+ # One or more filters. Use a filter to return a more specific list of
730
+ # results.
731
+ # @option params [Integer] :max_results
732
+ # The maximum number of items to return for this call. The call also
733
+ # returns a token that you can specify in a subsequent call to get the
734
+ # next set of results.
735
+ # @option params [String] :next_token
736
+ # The token for the next set of items to return. (You received this
737
+ # token from a previous call.)
738
+ # @return [Types::ListAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
739
+ #
740
+ # * {Types::ListAssociationsResult#associations #Associations} => Array&lt;Types::Association&gt;
741
+ # * {Types::ListAssociationsResult#next_token #NextToken} => String
742
+ #
743
+ # @example Request syntax with placeholder values
744
+ # resp = client.list_associations({
745
+ # association_filter_list: [ # required
746
+ # {
747
+ # key: "InstanceId", # required, accepts InstanceId, Name
748
+ # value: "AssociationFilterValue", # required
749
+ # },
750
+ # ],
751
+ # max_results: 1,
752
+ # next_token: "NextToken",
753
+ # })
754
+ #
755
+ # @example Response structure
756
+ # resp.associations #=> Array
757
+ # resp.associations[0].name #=> String
758
+ # resp.associations[0].instance_id #=> String
759
+ # resp.next_token #=> String
760
+ # @overload list_associations(params = {})
761
+ # @param [Hash] params ({})
762
+ def list_associations(params = {}, options = {})
763
+ req = build_request(:list_associations, params)
764
+ req.send_request(options)
765
+ end
766
+
767
+ # An invocation is copy of a command sent to a specific instance. A
768
+ # command can apply to one or more instances. A command invocation
769
+ # applies to one instance. For example, if a user executes SendCommand
770
+ # against three instances, then a command invocation is created for each
771
+ # requested instance ID. ListCommandInvocations provide status about
772
+ # command execution.
773
+ # @option params [String] :command_id
774
+ # (Optional) The invocations for a specific command ID.
775
+ # @option params [String] :instance_id
776
+ # (Optional) The command execution details for a specific instance ID.
777
+ # @option params [Integer] :max_results
778
+ # (Optional) The maximum number of items to return for this call. The
779
+ # call also returns a token that you can specify in a subsequent call to
780
+ # get the next set of results.
781
+ # @option params [String] :next_token
782
+ # (Optional) The token for the next set of items to return. (You
783
+ # received this token from a previous call.)
784
+ # @option params [Array<Types::CommandFilter>] :filters
785
+ # (Optional) One or more filters. Use a filter to return a more specific
786
+ # list of results.
787
+ # @option params [Boolean] :details
788
+ # (Optional) If set this returns the response of the command executions
789
+ # and any command output. By default this is set to False.
790
+ # @return [Types::ListCommandInvocationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
791
+ #
792
+ # * {Types::ListCommandInvocationsResult#command_invocations #CommandInvocations} => Array&lt;Types::CommandInvocation&gt;
793
+ # * {Types::ListCommandInvocationsResult#next_token #NextToken} => String
794
+ #
795
+ # @example Request syntax with placeholder values
796
+ # resp = client.list_command_invocations({
797
+ # command_id: "CommandId",
798
+ # instance_id: "InstanceId",
799
+ # max_results: 1,
800
+ # next_token: "NextToken",
801
+ # filters: [
802
+ # {
803
+ # key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status
804
+ # value: "CommandFilterValue", # required
805
+ # },
806
+ # ],
807
+ # details: false,
808
+ # })
809
+ #
810
+ # @example Response structure
811
+ # resp.command_invocations #=> Array
812
+ # resp.command_invocations[0].command_id #=> String
813
+ # resp.command_invocations[0].instance_id #=> String
814
+ # resp.command_invocations[0].comment #=> String
815
+ # resp.command_invocations[0].document_name #=> String
816
+ # resp.command_invocations[0].requested_date_time #=> Time
817
+ # resp.command_invocations[0].status #=> String, one of "Pending", "InProgress", "Cancelling", "Success", "TimedOut", "Cancelled", "Failed"
818
+ # resp.command_invocations[0].trace_output #=> String
819
+ # resp.command_invocations[0].command_plugins #=> Array
820
+ # resp.command_invocations[0].command_plugins[0].name #=> String
821
+ # resp.command_invocations[0].command_plugins[0].status #=> String, one of "Pending", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
822
+ # resp.command_invocations[0].command_plugins[0].response_code #=> Integer
823
+ # resp.command_invocations[0].command_plugins[0].response_start_date_time #=> Time
824
+ # resp.command_invocations[0].command_plugins[0].response_finish_date_time #=> Time
825
+ # resp.command_invocations[0].command_plugins[0].output #=> String
826
+ # resp.command_invocations[0].command_plugins[0].output_s3_bucket_name #=> String
827
+ # resp.command_invocations[0].command_plugins[0].output_s3_key_prefix #=> String
828
+ # resp.command_invocations[0].service_role #=> String
829
+ # resp.command_invocations[0].notification_config.notification_arn #=> String
830
+ # resp.command_invocations[0].notification_config.notification_events #=> Array
831
+ # resp.command_invocations[0].notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
832
+ # resp.command_invocations[0].notification_config.notification_type #=> String, one of "Command", "Invocation"
833
+ # resp.next_token #=> String
834
+ # @overload list_command_invocations(params = {})
835
+ # @param [Hash] params ({})
836
+ def list_command_invocations(params = {}, options = {})
837
+ req = build_request(:list_command_invocations, params)
838
+ req.send_request(options)
839
+ end
840
+
841
+ # Lists the commands requested by users of the AWS account.
842
+ # @option params [String] :command_id
843
+ # (Optional) If provided, lists only the specified command.
844
+ # @option params [String] :instance_id
845
+ # (Optional) Lists commands issued against this instance ID.
846
+ # @option params [Integer] :max_results
847
+ # (Optional) The maximum number of items to return for this call. The
848
+ # call also returns a token that you can specify in a subsequent call to
849
+ # get the next set of results.
850
+ # @option params [String] :next_token
851
+ # (Optional) The token for the next set of items to return. (You
852
+ # received this token from a previous call.)
853
+ # @option params [Array<Types::CommandFilter>] :filters
854
+ # (Optional) One or more filters. Use a filter to return a more specific
855
+ # list of results.
856
+ # @return [Types::ListCommandsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
857
+ #
858
+ # * {Types::ListCommandsResult#commands #Commands} => Array&lt;Types::Command&gt;
859
+ # * {Types::ListCommandsResult#next_token #NextToken} => String
860
+ #
861
+ # @example Request syntax with placeholder values
862
+ # resp = client.list_commands({
863
+ # command_id: "CommandId",
864
+ # instance_id: "InstanceId",
865
+ # max_results: 1,
866
+ # next_token: "NextToken",
867
+ # filters: [
868
+ # {
869
+ # key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status
870
+ # value: "CommandFilterValue", # required
871
+ # },
872
+ # ],
873
+ # })
874
+ #
875
+ # @example Response structure
876
+ # resp.commands #=> Array
877
+ # resp.commands[0].command_id #=> String
878
+ # resp.commands[0].document_name #=> String
879
+ # resp.commands[0].comment #=> String
880
+ # resp.commands[0].expires_after #=> Time
881
+ # resp.commands[0].parameters #=> Hash
882
+ # resp.commands[0].parameters["ParameterName"] #=> Array
883
+ # resp.commands[0].parameters["ParameterName"][0] #=> String
884
+ # resp.commands[0].instance_ids #=> Array
885
+ # resp.commands[0].instance_ids[0] #=> String
886
+ # resp.commands[0].requested_date_time #=> Time
887
+ # resp.commands[0].status #=> String, one of "Pending", "InProgress", "Cancelling", "Success", "TimedOut", "Cancelled", "Failed"
888
+ # resp.commands[0].output_s3_bucket_name #=> String
889
+ # resp.commands[0].output_s3_key_prefix #=> String
890
+ # resp.commands[0].service_role #=> String
891
+ # resp.commands[0].notification_config.notification_arn #=> String
892
+ # resp.commands[0].notification_config.notification_events #=> Array
893
+ # resp.commands[0].notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
894
+ # resp.commands[0].notification_config.notification_type #=> String, one of "Command", "Invocation"
895
+ # resp.next_token #=> String
896
+ # @overload list_commands(params = {})
897
+ # @param [Hash] params ({})
898
+ def list_commands(params = {}, options = {})
899
+ req = build_request(:list_commands, params)
900
+ req.send_request(options)
901
+ end
902
+
903
+ # Describes one or more of your SSM documents.
904
+ # @option params [Array<Types::DocumentFilter>] :document_filter_list
905
+ # One or more filters. Use a filter to return a more specific list of
906
+ # results.
907
+ # @option params [Integer] :max_results
908
+ # The maximum number of items to return for this call. The call also
909
+ # returns a token that you can specify in a subsequent call to get the
910
+ # next set of results.
911
+ # @option params [String] :next_token
912
+ # The token for the next set of items to return. (You received this
913
+ # token from a previous call.)
914
+ # @return [Types::ListDocumentsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
915
+ #
916
+ # * {Types::ListDocumentsResult#document_identifiers #DocumentIdentifiers} => Array&lt;Types::DocumentIdentifier&gt;
917
+ # * {Types::ListDocumentsResult#next_token #NextToken} => String
918
+ #
919
+ # @example Request syntax with placeholder values
920
+ # resp = client.list_documents({
921
+ # document_filter_list: [
922
+ # {
923
+ # key: "Name", # required, accepts Name, Owner, PlatformTypes
924
+ # value: "DocumentFilterValue", # required
925
+ # },
926
+ # ],
927
+ # max_results: 1,
928
+ # next_token: "NextToken",
929
+ # })
930
+ #
931
+ # @example Response structure
932
+ # resp.document_identifiers #=> Array
933
+ # resp.document_identifiers[0].name #=> String
934
+ # resp.document_identifiers[0].owner #=> String
935
+ # resp.document_identifiers[0].platform_types #=> Array
936
+ # resp.document_identifiers[0].platform_types[0] #=> String, one of "Windows", "Linux"
937
+ # resp.next_token #=> String
938
+ # @overload list_documents(params = {})
939
+ # @param [Hash] params ({})
940
+ def list_documents(params = {}, options = {})
941
+ req = build_request(:list_documents, params)
942
+ req.send_request(options)
943
+ end
944
+
945
+ # Returns a list of the tags assigned to the specified resource.
946
+ # @option params [required, String] :resource_type
947
+ # Returns a list of tags for a specific resource type.
948
+ # @option params [required, String] :resource_id
949
+ # The resource ID for which you want to see a list of tags.
950
+ # @return [Types::ListTagsForResourceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
951
+ #
952
+ # * {Types::ListTagsForResourceResult#tag_list #TagList} => Array&lt;Types::Tag&gt;
953
+ #
954
+ # @example Request syntax with placeholder values
955
+ # resp = client.list_tags_for_resource({
956
+ # resource_type: "ManagedInstance", # required, accepts ManagedInstance
957
+ # resource_id: "ResourceId", # required
958
+ # })
959
+ #
960
+ # @example Response structure
961
+ # resp.tag_list #=> Array
962
+ # resp.tag_list[0].key #=> String
963
+ # resp.tag_list[0].value #=> String
964
+ # @overload list_tags_for_resource(params = {})
965
+ # @param [Hash] params ({})
966
+ def list_tags_for_resource(params = {}, options = {})
967
+ req = build_request(:list_tags_for_resource, params)
968
+ req.send_request(options)
969
+ end
970
+
971
+ # Share a document publicly or privately. If you share a document
972
+ # privately, you must specify the AWS user account IDs for those people
973
+ # who can use the document. If you share a document publicly, you must
974
+ # specify *All* as the account ID.
975
+ # @option params [required, String] :name
976
+ # The name of the document that you want to share.
977
+ # @option params [required, String] :permission_type
978
+ # The permission type for the document. The permission type can be
979
+ # *Share*.
980
+ # @option params [Array<String>] :account_ids_to_add
981
+ # The AWS user accounts that should have access to the document. The
982
+ # account IDs can either be a group of account IDs or *All*.
983
+ # @option params [Array<String>] :account_ids_to_remove
984
+ # The AWS user accounts that should no longer have access to the
985
+ # document. The AWS user account can either be a group of account IDs or
986
+ # *All*. This action has a higher priority than *AccountIdsToAdd*. If
987
+ # you specify an account ID to add and the same ID to remove, the system
988
+ # removes access to the document.
989
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
990
+ #
991
+ # @example Request syntax with placeholder values
992
+ # resp = client.modify_document_permission({
993
+ # name: "DocumentName", # required
994
+ # permission_type: "Share", # required, accepts Share
995
+ # account_ids_to_add: ["AccountId"],
996
+ # account_ids_to_remove: ["AccountId"],
997
+ # })
998
+ # @overload modify_document_permission(params = {})
999
+ # @param [Hash] params ({})
1000
+ def modify_document_permission(params = {}, options = {})
1001
+ req = build_request(:modify_document_permission, params)
1002
+ req.send_request(options)
1003
+ end
1004
+
1005
+ # Removes all tags from the specified resource.
1006
+ # @option params [required, String] :resource_type
1007
+ # The type of resource of which you want to remove a tag.
1008
+ # @option params [required, String] :resource_id
1009
+ # The resource ID for which you want to remove tags.
1010
+ # @option params [required, Array<String>] :tag_keys
1011
+ # Tag keys that you want to remove from the specified resource.
1012
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1013
+ #
1014
+ # @example Request syntax with placeholder values
1015
+ # resp = client.remove_tags_from_resource({
1016
+ # resource_type: "ManagedInstance", # required, accepts ManagedInstance
1017
+ # resource_id: "ResourceId", # required
1018
+ # tag_keys: ["TagKey"], # required
1019
+ # })
1020
+ # @overload remove_tags_from_resource(params = {})
1021
+ # @param [Hash] params ({})
1022
+ def remove_tags_from_resource(params = {}, options = {})
1023
+ req = build_request(:remove_tags_from_resource, params)
1024
+ req.send_request(options)
1025
+ end
1026
+
1027
+ # Executes commands on one or more remote instances.
1028
+ # @option params [required, Array<String>] :instance_ids
1029
+ # Required. The instance IDs where the command should execute. You can
1030
+ # specify a maximum of 50 IDs.
1031
+ # @option params [required, String] :document_name
1032
+ # Required. The name of the SSM document to execute. This can be an SSM
1033
+ # public document or a custom document.
1034
+ # @option params [String] :document_hash
1035
+ # The Sha256 or Sha1 hash created by the system when the document was
1036
+ # created.
1037
+ #
1038
+ # <note markdown="1"> Sha1 hashes have been deprecated.
1039
+ #
1040
+ # </note>
1041
+ # @option params [String] :document_hash_type
1042
+ # Sha256 or Sha1.
1043
+ #
1044
+ # <note markdown="1"> Sha1 hashes have been deprecated.
1045
+ #
1046
+ # </note>
1047
+ # @option params [Integer] :timeout_seconds
1048
+ # If this time is reached and the command has not already started
1049
+ # executing, it will not execute.
1050
+ # @option params [String] :comment
1051
+ # User-specified information about the command, such as a brief
1052
+ # description of what the command should do.
1053
+ # @option params [Hash<String,Array>] :parameters
1054
+ # The required and optional parameters specified in the SSM document
1055
+ # being executed.
1056
+ # @option params [String] :output_s3_bucket_name
1057
+ # The name of the S3 bucket where command execution responses should be
1058
+ # stored.
1059
+ # @option params [String] :output_s3_key_prefix
1060
+ # The directory structure within the S3 bucket where the responses
1061
+ # should be stored.
1062
+ # @option params [String] :service_role_arn
1063
+ # The IAM role that SSM uses to send notifications.
1064
+ # @option params [Types::NotificationConfig] :notification_config
1065
+ # Configurations for sending notifications.
1066
+ # @return [Types::SendCommandResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1067
+ #
1068
+ # * {Types::SendCommandResult#command #Command} => Types::Command
1069
+ #
1070
+ # @example Request syntax with placeholder values
1071
+ # resp = client.send_command({
1072
+ # instance_ids: ["InstanceId"], # required
1073
+ # document_name: "DocumentARN", # required
1074
+ # document_hash: "DocumentHash",
1075
+ # document_hash_type: "Sha256", # accepts Sha256, Sha1
1076
+ # timeout_seconds: 1,
1077
+ # comment: "Comment",
1078
+ # parameters: {
1079
+ # "ParameterName" => ["ParameterValue"],
1080
+ # },
1081
+ # output_s3_bucket_name: "S3BucketName",
1082
+ # output_s3_key_prefix: "S3KeyPrefix",
1083
+ # service_role_arn: "ServiceRole",
1084
+ # notification_config: {
1085
+ # notification_arn: "NotificationArn",
1086
+ # notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed
1087
+ # notification_type: "Command", # accepts Command, Invocation
1088
+ # },
1089
+ # })
1090
+ #
1091
+ # @example Response structure
1092
+ # resp.command.command_id #=> String
1093
+ # resp.command.document_name #=> String
1094
+ # resp.command.comment #=> String
1095
+ # resp.command.expires_after #=> Time
1096
+ # resp.command.parameters #=> Hash
1097
+ # resp.command.parameters["ParameterName"] #=> Array
1098
+ # resp.command.parameters["ParameterName"][0] #=> String
1099
+ # resp.command.instance_ids #=> Array
1100
+ # resp.command.instance_ids[0] #=> String
1101
+ # resp.command.requested_date_time #=> Time
1102
+ # resp.command.status #=> String, one of "Pending", "InProgress", "Cancelling", "Success", "TimedOut", "Cancelled", "Failed"
1103
+ # resp.command.output_s3_bucket_name #=> String
1104
+ # resp.command.output_s3_key_prefix #=> String
1105
+ # resp.command.service_role #=> String
1106
+ # resp.command.notification_config.notification_arn #=> String
1107
+ # resp.command.notification_config.notification_events #=> Array
1108
+ # resp.command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
1109
+ # resp.command.notification_config.notification_type #=> String, one of "Command", "Invocation"
1110
+ # @overload send_command(params = {})
1111
+ # @param [Hash] params ({})
1112
+ def send_command(params = {}, options = {})
1113
+ req = build_request(:send_command, params)
1114
+ req.send_request(options)
1115
+ end
1116
+
1117
+ # Updates the status of the SSM document associated with the specified
1118
+ # instance.
1119
+ # @option params [required, String] :name
1120
+ # The name of the SSM document.
1121
+ # @option params [required, String] :instance_id
1122
+ # The ID of the instance.
1123
+ # @option params [required, Types::AssociationStatus] :association_status
1124
+ # The association status.
1125
+ # @return [Types::UpdateAssociationStatusResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1126
+ #
1127
+ # * {Types::UpdateAssociationStatusResult#association_description #AssociationDescription} => Types::AssociationDescription
1128
+ #
1129
+ # @example Request syntax with placeholder values
1130
+ # resp = client.update_association_status({
1131
+ # name: "DocumentName", # required
1132
+ # instance_id: "InstanceId", # required
1133
+ # association_status: { # required
1134
+ # date: Time.now, # required
1135
+ # name: "Pending", # required, accepts Pending, Success, Failed
1136
+ # message: "StatusMessage", # required
1137
+ # additional_info: "StatusAdditionalInfo",
1138
+ # },
1139
+ # })
1140
+ #
1141
+ # @example Response structure
1142
+ # resp.association_description.name #=> String
1143
+ # resp.association_description.instance_id #=> String
1144
+ # resp.association_description.date #=> Time
1145
+ # resp.association_description.status.date #=> Time
1146
+ # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed"
1147
+ # resp.association_description.status.message #=> String
1148
+ # resp.association_description.status.additional_info #=> String
1149
+ # resp.association_description.parameters #=> Hash
1150
+ # resp.association_description.parameters["ParameterName"] #=> Array
1151
+ # resp.association_description.parameters["ParameterName"][0] #=> String
1152
+ # @overload update_association_status(params = {})
1153
+ # @param [Hash] params ({})
1154
+ def update_association_status(params = {}, options = {})
1155
+ req = build_request(:update_association_status, params)
1156
+ req.send_request(options)
1157
+ end
1158
+
1159
+ # Assigns or changes an Amazon Identity and Access Management (IAM) role
1160
+ # to the managed instance.
1161
+ # @option params [required, String] :instance_id
1162
+ # The ID of the managed instance where you want to update the role.
1163
+ # @option params [required, String] :iam_role
1164
+ # The IAM role you want to assign or change.
1165
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1166
+ #
1167
+ # @example Request syntax with placeholder values
1168
+ # resp = client.update_managed_instance_role({
1169
+ # instance_id: "ManagedInstanceId", # required
1170
+ # iam_role: "IamRole", # required
1171
+ # })
1172
+ # @overload update_managed_instance_role(params = {})
1173
+ # @param [Hash] params ({})
1174
+ def update_managed_instance_role(params = {}, options = {})
1175
+ req = build_request(:update_managed_instance_role, params)
1176
+ req.send_request(options)
1177
+ end
1178
+
1179
+ # @!endgroup
1180
+
1181
+ # @param params ({})
1182
+ # @api private
1183
+ def build_request(operation_name, params = {})
1184
+ handlers = @handlers.for(operation_name)
1185
+ context = Seahorse::Client::RequestContext.new(
1186
+ operation_name: operation_name,
1187
+ operation: config.api.operation(operation_name),
1188
+ client: self,
1189
+ params: params,
1190
+ config: config)
1191
+ context[:gem_name] = 'aws-sdk-ssm'
1192
+ context[:gem_version] = '1.0.0.rc1'
1193
+ Seahorse::Client::Request.new(handlers, context)
1194
+ end
1195
+
1196
+ # @api private
1197
+ # @deprecated
1198
+ def waiter_names
1199
+ []
1200
+ end
1201
+
1202
+ class << self
1203
+
1204
+ # @api private
1205
+ attr_reader :identifier
1206
+
1207
+ # @api private
1208
+ def errors_module
1209
+ Errors
1210
+ end
1211
+
1212
+ end
1213
+ end
1214
+ end
1215
+ end