aws-sdk-ssm 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: 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