aws-sdk-ssm 1.0.0.rc1 → 1.0.0.rc2

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.
@@ -14,7 +14,7 @@ module Aws
14
14
  # using Run Command. A server or VM that has been registered with AWS is
15
15
  # called a managed instance.
16
16
  # @!attribute [rw] activation_id
17
- # The ID created by SSM when you submitted the activation.
17
+ # The ID created by Systems Manager when you submitted the activation.
18
18
  # @return [String]
19
19
  #
20
20
  # @!attribute [rw] description
@@ -69,7 +69,7 @@ module Aws
69
69
  # data as a hash:
70
70
  #
71
71
  # {
72
- # resource_type: "ManagedInstance", # required, accepts ManagedInstance
72
+ # resource_type: "ManagedInstance", # required, accepts ManagedInstance, MaintenanceWindow, Parameter
73
73
  # resource_id: "ResourceId", # required
74
74
  # tags: [ # required
75
75
  # {
@@ -108,9 +108,42 @@ module Aws
108
108
  # @!attribute [rw] instance_id
109
109
  # The ID of the instance.
110
110
  # @return [String]
111
+ #
112
+ # @!attribute [rw] association_id
113
+ # The ID created by the system when you create an association. An
114
+ # association is a binding between a document and a set of targets
115
+ # with a schedule.
116
+ # @return [String]
117
+ #
118
+ # @!attribute [rw] document_version
119
+ # The version of the document used in the association.
120
+ # @return [String]
121
+ #
122
+ # @!attribute [rw] targets
123
+ # The instances targeted by the request to create an association.
124
+ # @return [Array<Types::Target>]
125
+ #
126
+ # @!attribute [rw] last_execution_date
127
+ # The date on which the association was last run.
128
+ # @return [Time]
129
+ #
130
+ # @!attribute [rw] overview
131
+ # Information about the association.
132
+ # @return [Types::AssociationOverview]
133
+ #
134
+ # @!attribute [rw] schedule_expression
135
+ # A cron expression that specifies a schedule when the association
136
+ # runs.
137
+ # @return [String]
111
138
  class Association < Struct.new(
112
139
  :name,
113
- :instance_id)
140
+ :instance_id,
141
+ :association_id,
142
+ :document_version,
143
+ :targets,
144
+ :last_execution_date,
145
+ :overview,
146
+ :schedule_expression)
114
147
  include Aws::Structure
115
148
  end
116
149
 
@@ -127,19 +160,66 @@ module Aws
127
160
  # The date when the association was made.
128
161
  # @return [Time]
129
162
  #
163
+ # @!attribute [rw] last_update_association_date
164
+ # The date when the association was last updated.
165
+ # @return [Time]
166
+ #
130
167
  # @!attribute [rw] status
131
168
  # The association status.
132
169
  # @return [Types::AssociationStatus]
133
170
  #
171
+ # @!attribute [rw] overview
172
+ # Information about the association.
173
+ # @return [Types::AssociationOverview]
174
+ #
175
+ # @!attribute [rw] document_version
176
+ # The document version.
177
+ # @return [String]
178
+ #
134
179
  # @!attribute [rw] parameters
135
180
  # A description of the parameters for a document.
136
181
  # @return [Hash<String,Array<String>>]
182
+ #
183
+ # @!attribute [rw] association_id
184
+ # The association ID.
185
+ # @return [String]
186
+ #
187
+ # @!attribute [rw] targets
188
+ # The instances targeted by the request.
189
+ # @return [Array<Types::Target>]
190
+ #
191
+ # @!attribute [rw] schedule_expression
192
+ # A cron expression that specifies a schedule when the association
193
+ # runs.
194
+ # @return [String]
195
+ #
196
+ # @!attribute [rw] output_location
197
+ # An Amazon S3 bucket where you want to store the output details of
198
+ # the request.
199
+ # @return [Types::InstanceAssociationOutputLocation]
200
+ #
201
+ # @!attribute [rw] last_execution_date
202
+ # The date on which the association was last run.
203
+ # @return [Time]
204
+ #
205
+ # @!attribute [rw] last_successful_execution_date
206
+ # The last date on which the association was successfully run.
207
+ # @return [Time]
137
208
  class AssociationDescription < Struct.new(
138
209
  :name,
139
210
  :instance_id,
140
211
  :date,
212
+ :last_update_association_date,
141
213
  :status,
142
- :parameters)
214
+ :overview,
215
+ :document_version,
216
+ :parameters,
217
+ :association_id,
218
+ :targets,
219
+ :schedule_expression,
220
+ :output_location,
221
+ :last_execution_date,
222
+ :last_successful_execution_date)
143
223
  include Aws::Structure
144
224
  end
145
225
 
@@ -148,7 +228,7 @@ module Aws
148
228
  # data as a hash:
149
229
  #
150
230
  # {
151
- # key: "InstanceId", # required, accepts InstanceId, Name
231
+ # key: "InstanceId", # required, accepts InstanceId, Name, AssociationId, AssociationStatusName, LastExecutedBefore, LastExecutedAfter
152
232
  # value: "AssociationFilterValue", # required
153
233
  # }
154
234
  # @!attribute [rw] key
@@ -164,6 +244,29 @@ module Aws
164
244
  include Aws::Structure
165
245
  end
166
246
 
247
+ # Information about the association.
248
+ # @!attribute [rw] status
249
+ # The status of the association. Status can be: `Pending`, `Success`,
250
+ # or `Failed`.
251
+ # @return [String]
252
+ #
253
+ # @!attribute [rw] detailed_status
254
+ # A detailed status of the association.
255
+ # @return [String]
256
+ #
257
+ # @!attribute [rw] association_status_aggregated_count
258
+ # Returns the number of targets for the association status. For
259
+ # example, if you created an association with two instances, and one
260
+ # of them was successful, this would return the count of instances by
261
+ # status.
262
+ # @return [Hash<String,Integer>]
263
+ class AssociationOverview < Struct.new(
264
+ :status,
265
+ :detailed_status,
266
+ :association_status_aggregated_count)
267
+ include Aws::Structure
268
+ end
269
+
167
270
  # Describes an association status.
168
271
  # @note When making an API call, pass AssociationStatus
169
272
  # data as a hash:
@@ -197,6 +300,140 @@ module Aws
197
300
  include Aws::Structure
198
301
  end
199
302
 
303
+ # Detailed information about the current state of an individual
304
+ # Automation execution.
305
+ # @!attribute [rw] automation_execution_id
306
+ # The execution ID.
307
+ # @return [String]
308
+ #
309
+ # @!attribute [rw] document_name
310
+ # The name of the Automation document used during the execution.
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] document_version
314
+ # The version of the document to use during execution.
315
+ # @return [String]
316
+ #
317
+ # @!attribute [rw] execution_start_time
318
+ # The time the execution started.
319
+ # @return [Time]
320
+ #
321
+ # @!attribute [rw] execution_end_time
322
+ # The time the execution finished.
323
+ # @return [Time]
324
+ #
325
+ # @!attribute [rw] automation_execution_status
326
+ # The execution status of the Automation.
327
+ # @return [String]
328
+ #
329
+ # @!attribute [rw] step_executions
330
+ # A list of details about the current state of all steps that comprise
331
+ # an execution. An Automation document contains a list of steps that
332
+ # are executed in order.
333
+ # @return [Array<Types::StepExecution>]
334
+ #
335
+ # @!attribute [rw] parameters
336
+ # The key-value map of execution parameters, which were supplied when
337
+ # calling `StartAutomationExecution`.
338
+ # @return [Hash<String,Array<String>>]
339
+ #
340
+ # @!attribute [rw] outputs
341
+ # The list of execution outputs as defined in the automation document.
342
+ # @return [Hash<String,Array<String>>]
343
+ #
344
+ # @!attribute [rw] failure_message
345
+ # A message describing why an execution has failed, if the status is
346
+ # set to Failed.
347
+ # @return [String]
348
+ class AutomationExecution < Struct.new(
349
+ :automation_execution_id,
350
+ :document_name,
351
+ :document_version,
352
+ :execution_start_time,
353
+ :execution_end_time,
354
+ :automation_execution_status,
355
+ :step_executions,
356
+ :parameters,
357
+ :outputs,
358
+ :failure_message)
359
+ include Aws::Structure
360
+ end
361
+
362
+ # A filter used to match specific automation executions. This is used to
363
+ # limit the scope of Automation execution information returned.
364
+ # @note When making an API call, pass AutomationExecutionFilter
365
+ # data as a hash:
366
+ #
367
+ # {
368
+ # key: "DocumentNamePrefix", # required, accepts DocumentNamePrefix, ExecutionStatus
369
+ # values: ["AutomationExecutionFilterValue"], # required
370
+ # }
371
+ # @!attribute [rw] key
372
+ # The aspect of the Automation execution information that should be
373
+ # limited.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] values
377
+ # The values used to limit the execution information associated with
378
+ # the filter's key.
379
+ # @return [Array<String>]
380
+ class AutomationExecutionFilter < Struct.new(
381
+ :key,
382
+ :values)
383
+ include Aws::Structure
384
+ end
385
+
386
+ # Details about a specific Automation execution.
387
+ # @!attribute [rw] automation_execution_id
388
+ # The execution ID.
389
+ # @return [String]
390
+ #
391
+ # @!attribute [rw] document_name
392
+ # The name of the Automation document used during execution.
393
+ # @return [String]
394
+ #
395
+ # @!attribute [rw] document_version
396
+ # The document version used during the execution.
397
+ # @return [String]
398
+ #
399
+ # @!attribute [rw] automation_execution_status
400
+ # The status of the execution. Valid values include: Running,
401
+ # Succeeded, Failed, Timed out, or Cancelled.
402
+ # @return [String]
403
+ #
404
+ # @!attribute [rw] execution_start_time
405
+ # The time the execution started.&gt;
406
+ # @return [Time]
407
+ #
408
+ # @!attribute [rw] execution_end_time
409
+ # The time the execution finished. This is not populated if the
410
+ # execution is still in progress.
411
+ # @return [Time]
412
+ #
413
+ # @!attribute [rw] executed_by
414
+ # The IAM role ARN of the user who executed the Automation.
415
+ # @return [String]
416
+ #
417
+ # @!attribute [rw] log_file
418
+ # An Amazon S3 bucket where execution information is stored.
419
+ # @return [String]
420
+ #
421
+ # @!attribute [rw] outputs
422
+ # The list of execution outputs as defined in the Automation document.
423
+ # @return [Hash<String,Array<String>>]
424
+ class AutomationExecutionMetadata < Struct.new(
425
+ :automation_execution_id,
426
+ :document_name,
427
+ :document_version,
428
+ :automation_execution_status,
429
+ :execution_start_time,
430
+ :execution_end_time,
431
+ :executed_by,
432
+ :log_file,
433
+ :outputs)
434
+ include Aws::Structure
435
+ end
436
+
200
437
  # @note When making an API call, pass CancelCommandRequest
201
438
  # data as a hash:
202
439
  #
@@ -252,6 +489,12 @@ module Aws
252
489
  # The instance IDs against which this command was requested.
253
490
  # @return [Array<String>]
254
491
  #
492
+ # @!attribute [rw] targets
493
+ # An array of search criteria that targets instances using a
494
+ # `Key`;`Value` combination that you specify. `Targets` is required if
495
+ # you don't provide one or more instance IDs in the call.
496
+ # @return [Array<Types::Target>]
497
+ #
255
498
  # @!attribute [rw] requested_date_time
256
499
  # The date and time the command was requested.
257
500
  # @return [Time]
@@ -260,6 +503,59 @@ module Aws
260
503
  # The status of the command.
261
504
  # @return [String]
262
505
  #
506
+ # @!attribute [rw] status_details
507
+ # A detailed status of the command execution. `StatusDetails` includes
508
+ # more information than `Status` because it includes states resulting
509
+ # from error and concurrency control parameters. `StatusDetails` can
510
+ # show different results than `Status`. For more information about
511
+ # these statuses, see [Monitor Commands][1] (Linux) or [Monitor
512
+ # Commands][2] (Windows). `StatusDetails` can be one of the following
513
+ # values:
514
+ #
515
+ # * Pending – The command has not been sent to any instances.
516
+ #
517
+ # * In Progress – The command has been sent to at least one instance
518
+ # but has not reached a final state on all instances.
519
+ #
520
+ # * Success – The command successfully executed on all invocations.
521
+ # This is a terminal state.
522
+ #
523
+ # * Delivery Timed Out – The value of `MaxErrors` or more command
524
+ # invocations shows a status of `Delivery Timed Out`. This is a
525
+ # terminal state.
526
+ #
527
+ # * Execution Timed Out – The value of `MaxErrors` or more command
528
+ # invocations shows a status of `Execution Timed Out`. This is a
529
+ # terminal state.
530
+ #
531
+ # * Failed – The value of `MaxErrors` or more command invocations
532
+ # shows a status of `Failed`. This is a terminal state.
533
+ #
534
+ # * Incomplete – The command was attempted on all instances and one or
535
+ # more invocations does not have a value of `Success` but not enough
536
+ # invocations failed for the status to be `Failed`. This is a
537
+ # terminal state.
538
+ #
539
+ # * Canceled – The command was terminated before it was completed.
540
+ # This is a terminal state.
541
+ #
542
+ # * Rate Exceeded – The number of instances targeted by the command
543
+ # exceeded the account limit for pending invocations. The system has
544
+ # canceled the command before executing it on any instance. This is
545
+ # a terminal state.
546
+ #
547
+ #
548
+ #
549
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html
550
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html
551
+ # @return [String]
552
+ #
553
+ # @!attribute [rw] output_s3_region
554
+ # The region where the Amazon Simple Storage Service (Amazon S3)
555
+ # output bucket is located. The default value is the region where Run
556
+ # Command is being called.
557
+ # @return [String]
558
+ #
263
559
  # @!attribute [rw] output_s3_bucket_name
264
560
  # The S3 bucket where the responses to the command executions should
265
561
  # be stored. This was requested when issuing the command.
@@ -271,9 +567,54 @@ module Aws
271
567
  # the command.
272
568
  # @return [String]
273
569
  #
570
+ # @!attribute [rw] max_concurrency
571
+ # The maximum number of instances that are allowed to execute the
572
+ # command at the same time. You can specify a number of instances,
573
+ # such as 10, or a percentage of instances, such as 10%. The default
574
+ # value is 50. For more information about how to use `MaxConcurrency`,
575
+ # see [Executing a Command Using Amazon EC2 Run Command][1] (Linux) or
576
+ # [Executing a Command Using Amazon EC2 Run Command][2] (Windows).
577
+ #
578
+ #
579
+ #
580
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
581
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
582
+ # @return [String]
583
+ #
584
+ # @!attribute [rw] max_errors
585
+ # The maximum number of errors allowed before the system stops sending
586
+ # the command to additional targets. You can specify a number of
587
+ # errors, such as 10, or a percentage or errors, such as 10%. The
588
+ # default value is 50. For more information about how to use
589
+ # `MaxErrors`, see [Executing a Command Using Amazon EC2 Run
590
+ # Command][1] (Linux) or [Executing a Command Using Amazon EC2 Run
591
+ # Command][2] (Windows).
592
+ #
593
+ #
594
+ #
595
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
596
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
597
+ # @return [String]
598
+ #
599
+ # @!attribute [rw] target_count
600
+ # The number of targets for the command.
601
+ # @return [Integer]
602
+ #
603
+ # @!attribute [rw] completed_count
604
+ # The number of targets for which the command invocation reached a
605
+ # terminal state. Terminal states include the following: `Success`,
606
+ # `Failed`, `Execution Timed Out`, `Delivery Timed Out`, `Canceled`,
607
+ # `Terminated`, or `Undeliverable`.
608
+ # @return [Integer]
609
+ #
610
+ # @!attribute [rw] error_count
611
+ # The number of targets for which the status is `Failed` or `Execution
612
+ # Timed Out`.
613
+ # @return [Integer]
614
+ #
274
615
  # @!attribute [rw] service_role
275
- # The IAM service role that SSM uses to act on your behalf when
276
- # sending notifications about command status changes.
616
+ # The IAM service role that Run Command uses to act on your behalf
617
+ # when sending notifications about command status changes.
277
618
  # @return [String]
278
619
  #
279
620
  # @!attribute [rw] notification_config
@@ -287,10 +628,18 @@ module Aws
287
628
  :expires_after,
288
629
  :parameters,
289
630
  :instance_ids,
631
+ :targets,
290
632
  :requested_date_time,
291
633
  :status,
634
+ :status_details,
635
+ :output_s3_region,
292
636
  :output_s3_bucket_name,
293
637
  :output_s3_key_prefix,
638
+ :max_concurrency,
639
+ :max_errors,
640
+ :target_count,
641
+ :completed_count,
642
+ :error_count,
294
643
  :service_role,
295
644
  :notification_config)
296
645
  include Aws::Structure
@@ -331,6 +680,12 @@ module Aws
331
680
  # The instance ID in which this invocation was requested.
332
681
  # @return [String]
333
682
  #
683
+ # @!attribute [rw] instance_name
684
+ # The name of the invocation target. For Amazon EC2 instances this is
685
+ # the value for the `aws:Name` tag. For on-premises instances, this is
686
+ # the name of the instance.
687
+ # @return [String]
688
+ #
334
689
  # @!attribute [rw] comment
335
690
  # User-specified information about the command, such as a brief
336
691
  # description of what the command should do.
@@ -348,17 +703,87 @@ module Aws
348
703
  # Whether or not the invocation succeeded, failed, or is pending.
349
704
  # @return [String]
350
705
  #
706
+ # @!attribute [rw] status_details
707
+ # A detailed status of the command execution for each invocation (each
708
+ # instance targeted by the command). `StatusDetails` includes more
709
+ # information than `Status` because it includes states resulting from
710
+ # error and concurrency control parameters. `StatusDetails` can show
711
+ # different results than `Status`. For more information about these
712
+ # statuses, see [Monitor Commands][1] (Linux) or [Monitor Commands][2]
713
+ # (Windows). `StatusDetails` can be one of the following values:
714
+ #
715
+ # * Pending – The command has not been sent to the instance.
716
+ #
717
+ # * In Progress – The command has been sent to the instance but has
718
+ # not reached a terminal state.
719
+ #
720
+ # * Success – The execution of the command or plugin was successfully
721
+ # completed. This is a terminal state.
722
+ #
723
+ # * Delivery Timed Out – The command was not delivered to the instance
724
+ # before the delivery timeout expired. Delivery timeouts do not
725
+ # count against the parent command’s `MaxErrors` limit, but they do
726
+ # contribute to whether the parent command status is `Success` or
727
+ # `Incomplete`. This is a terminal state.
728
+ #
729
+ # * Execution Timed Out – Command execution started on the instance,
730
+ # but the execution was not complete before the execution timeout
731
+ # expired. Execution timeouts count against the `MaxErrors` limit of
732
+ # the parent command. This is a terminal state.
733
+ #
734
+ # * Failed – The command was not successful on the instance. For a
735
+ # plugin, this indicates that the result code was not zero. For a
736
+ # command invocation, this indicates that the result code for one or
737
+ # more plugins was not zero. Invocation failures count against the
738
+ # `MaxErrors` limit of the parent command. This is a terminal state.
739
+ #
740
+ # * Canceled – The command was terminated before it was completed.
741
+ # This is a terminal state.
742
+ #
743
+ # * Undeliverable – The command can't be delivered to the instance.
744
+ # The instance might not exist or might not be responding.
745
+ # Undeliverable invocations don't count against the parent
746
+ # command’s `MaxErrors` limit and don't contribute to whether the
747
+ # parent command status is `Success` or `Incomplete`. This is a
748
+ # terminal state.
749
+ #
750
+ # * Terminated – The parent command exceeded its `MaxErrors` limit and
751
+ # subsequent command invocations were canceled by the system. This
752
+ # is a terminal state.
753
+ #
754
+ #
755
+ #
756
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html
757
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html
758
+ # @return [String]
759
+ #
351
760
  # @!attribute [rw] trace_output
352
761
  # Gets the trace output sent by the agent.
353
762
  # @return [String]
354
763
  #
764
+ # @!attribute [rw] standard_output_url
765
+ # The URL to the plugin’s StdOut file in Amazon S3, if the Amazon S3
766
+ # bucket was defined for the parent command. For an invocation,
767
+ # `StandardOutputUrl` is populated if there is just one plugin defined
768
+ # for the command, and the Amazon S3 bucket was defined for the
769
+ # command.
770
+ # @return [String]
771
+ #
772
+ # @!attribute [rw] standard_error_url
773
+ # The URL to the plugin’s StdErr file in Amazon S3, if the Amazon S3
774
+ # bucket was defined for the parent command. For an invocation,
775
+ # `StandardErrorUrl` is populated if there is just one plugin defined
776
+ # for the command, and the Amazon S3 bucket was defined for the
777
+ # command.
778
+ # @return [String]
779
+ #
355
780
  # @!attribute [rw] command_plugins
356
781
  # @return [Array<Types::CommandPlugin>]
357
782
  #
358
783
  # @!attribute [rw] service_role
359
- # The IAM service role that SSM uses to act on your behalf when
360
- # sending notifications about command status changes on a per instance
361
- # basis.
784
+ # The IAM service role that Run Command uses to act on your behalf
785
+ # when sending notifications about command status changes on a per
786
+ # instance basis.
362
787
  # @return [String]
363
788
  #
364
789
  # @!attribute [rw] notification_config
@@ -368,11 +793,15 @@ module Aws
368
793
  class CommandInvocation < Struct.new(
369
794
  :command_id,
370
795
  :instance_id,
796
+ :instance_name,
371
797
  :comment,
372
798
  :document_name,
373
799
  :requested_date_time,
374
800
  :status,
801
+ :status_details,
375
802
  :trace_output,
803
+ :standard_output_url,
804
+ :standard_error_url,
376
805
  :command_plugins,
377
806
  :service_role,
378
807
  :notification_config)
@@ -392,6 +821,60 @@ module Aws
392
821
  # plugins.
393
822
  # @return [String]
394
823
  #
824
+ # @!attribute [rw] status_details
825
+ # A detailed status of the plugin execution. `StatusDetails` includes
826
+ # more information than `Status` because it includes states resulting
827
+ # from error and concurrency control parameters. `StatusDetails` can
828
+ # show different results than `Status`. For more information about
829
+ # these statuses, see [Monitor Commands][1] (Linux) or [Monitor
830
+ # Commands][2] (Windows). `StatusDetails` can be one of the following
831
+ # values:
832
+ #
833
+ # * Pending – The command has not been sent to the instance.
834
+ #
835
+ # * In Progress – The command has been sent to the instance but has
836
+ # not reached a terminal state.
837
+ #
838
+ # * Success – The execution of the command or plugin was successfully
839
+ # completed. This is a terminal state.
840
+ #
841
+ # * Delivery Timed Out – The command was not delivered to the instance
842
+ # before the delivery timeout expired. Delivery timeouts do not
843
+ # count against the parent command’s `MaxErrors` limit, but they do
844
+ # contribute to whether the parent command status is `Success` or
845
+ # `Incomplete`. This is a terminal state.
846
+ #
847
+ # * Execution Timed Out – Command execution started on the instance,
848
+ # but the execution was not complete before the execution timeout
849
+ # expired. Execution timeouts count against the `MaxErrors` limit of
850
+ # the parent command. This is a terminal state.
851
+ #
852
+ # * Failed – The command was not successful on the instance. For a
853
+ # plugin, this indicates that the result code was not zero. For a
854
+ # command invocation, this indicates that the result code for one or
855
+ # more plugins was not zero. Invocation failures count against the
856
+ # `MaxErrors` limit of the parent command. This is a terminal state.
857
+ #
858
+ # * Canceled – The command was terminated before it was completed.
859
+ # This is a terminal state.
860
+ #
861
+ # * Undeliverable – The command can't be delivered to the instance.
862
+ # The instance might not exist, or it might not be responding.
863
+ # Undeliverable invocations don't count against the parent
864
+ # command’s `MaxErrors` limit, and they don't contribute to whether
865
+ # the parent command status is `Success` or `Incomplete`. This is a
866
+ # terminal state.
867
+ #
868
+ # * Terminated – The parent command exceeded its `MaxErrors` limit and
869
+ # subsequent command invocations were canceled by the system. This
870
+ # is a terminal state.
871
+ #
872
+ #
873
+ #
874
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html
875
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html
876
+ # @return [String]
877
+ #
395
878
  # @!attribute [rw] response_code
396
879
  # A numeric response code generated after executing the plugin.
397
880
  # @return [Integer]
@@ -409,23 +892,65 @@ module Aws
409
892
  # Output of the plugin execution.
410
893
  # @return [String]
411
894
  #
895
+ # @!attribute [rw] standard_output_url
896
+ # The URL for the complete text written by the plugin to stdout in
897
+ # Amazon S3. If the Amazon S3 bucket for the command was not
898
+ # specified, then this string is empty.
899
+ # @return [String]
900
+ #
901
+ # @!attribute [rw] standard_error_url
902
+ # The URL for the complete text written by the plugin to stderr. If
903
+ # execution is not yet complete, then this string is empty.
904
+ # @return [String]
905
+ #
906
+ # @!attribute [rw] output_s3_region
907
+ # The name of the region where the output is stored in Amazon S3.
908
+ # @return [String]
909
+ #
412
910
  # @!attribute [rw] output_s3_bucket_name
413
911
  # The S3 bucket where the responses to the command executions should
414
- # be stored. This was requested when issuing the command.
912
+ # be stored. This was requested when issuing the command. For example,
913
+ # in the following response:
914
+ #
915
+ # `test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript`
916
+ #
917
+ # `test_folder` is the name of the Amazon S3 bucket;
918
+ #
919
+ # `ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix` is the name of the S3
920
+ # prefix;
921
+ #
922
+ # `i-1234567876543` is the instance ID;
923
+ #
924
+ # `awsrunShellScript` is the name of the plugin.
415
925
  # @return [String]
416
926
  #
417
927
  # @!attribute [rw] output_s3_key_prefix
418
928
  # The S3 directory path inside the bucket where the responses to the
419
929
  # command executions should be stored. This was requested when issuing
420
- # the command.
930
+ # the command. For example, in the following response:
931
+ #
932
+ # `test_folder/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-1234567876543/awsrunShellScript`
933
+ #
934
+ # `test_folder` is the name of the Amazon S3 bucket;
935
+ #
936
+ # `ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix` is the name of the S3
937
+ # prefix;
938
+ #
939
+ # `i-1234567876543` is the instance ID;
940
+ #
941
+ # `awsrunShellScript` is the name of the plugin.
421
942
  # @return [String]
422
943
  class CommandPlugin < Struct.new(
423
944
  :name,
424
945
  :status,
946
+ :status_details,
425
947
  :response_code,
426
948
  :response_start_date_time,
427
949
  :response_finish_date_time,
428
950
  :output,
951
+ :standard_output_url,
952
+ :standard_error_url,
953
+ :output_s3_region,
429
954
  :output_s3_bucket_name,
430
955
  :output_s3_key_prefix)
431
956
  include Aws::Structure
@@ -497,11 +1022,26 @@ module Aws
497
1022
  # {
498
1023
  # entries: [ # required
499
1024
  # {
500
- # name: "DocumentName",
1025
+ # name: "DocumentName", # required
501
1026
  # instance_id: "InstanceId",
502
1027
  # parameters: {
503
1028
  # "ParameterName" => ["ParameterValue"],
504
1029
  # },
1030
+ # document_version: "DocumentVersion",
1031
+ # targets: [
1032
+ # {
1033
+ # key: "TargetKey",
1034
+ # values: ["TargetValue"],
1035
+ # },
1036
+ # ],
1037
+ # schedule_expression: "ScheduleExpression",
1038
+ # output_location: {
1039
+ # s3_location: {
1040
+ # output_s3_region: "S3Region",
1041
+ # output_s3_bucket_name: "S3BucketName",
1042
+ # output_s3_key_prefix: "S3KeyPrefix",
1043
+ # },
1044
+ # },
505
1045
  # },
506
1046
  # ],
507
1047
  # }
@@ -518,11 +1058,26 @@ module Aws
518
1058
  # data as a hash:
519
1059
  #
520
1060
  # {
521
- # name: "DocumentName",
1061
+ # name: "DocumentName", # required
522
1062
  # instance_id: "InstanceId",
523
1063
  # parameters: {
524
1064
  # "ParameterName" => ["ParameterValue"],
525
1065
  # },
1066
+ # document_version: "DocumentVersion",
1067
+ # targets: [
1068
+ # {
1069
+ # key: "TargetKey",
1070
+ # values: ["TargetValue"],
1071
+ # },
1072
+ # ],
1073
+ # schedule_expression: "ScheduleExpression",
1074
+ # output_location: {
1075
+ # s3_location: {
1076
+ # output_s3_region: "S3Region",
1077
+ # output_s3_bucket_name: "S3BucketName",
1078
+ # output_s3_key_prefix: "S3KeyPrefix",
1079
+ # },
1080
+ # },
526
1081
  # }
527
1082
  # @!attribute [rw] name
528
1083
  # The name of the configuration document.
@@ -535,10 +1090,32 @@ module Aws
535
1090
  # @!attribute [rw] parameters
536
1091
  # A description of the parameters for a document.
537
1092
  # @return [Hash<String,Array<String>>]
1093
+ #
1094
+ # @!attribute [rw] document_version
1095
+ # The document version.
1096
+ # @return [String]
1097
+ #
1098
+ # @!attribute [rw] targets
1099
+ # The instances targeted by the request.
1100
+ # @return [Array<Types::Target>]
1101
+ #
1102
+ # @!attribute [rw] schedule_expression
1103
+ # A cron expression that specifies a schedule when the association
1104
+ # runs.
1105
+ # @return [String]
1106
+ #
1107
+ # @!attribute [rw] output_location
1108
+ # An Amazon S3 bucket where you want to store the results of this
1109
+ # request.
1110
+ # @return [Types::InstanceAssociationOutputLocation]
538
1111
  class CreateAssociationBatchRequestEntry < Struct.new(
539
1112
  :name,
540
1113
  :instance_id,
541
- :parameters)
1114
+ :parameters,
1115
+ :document_version,
1116
+ :targets,
1117
+ :schedule_expression,
1118
+ :output_location)
542
1119
  include Aws::Structure
543
1120
  end
544
1121
 
@@ -560,15 +1137,35 @@ module Aws
560
1137
  #
561
1138
  # {
562
1139
  # name: "DocumentName", # required
563
- # instance_id: "InstanceId", # required
1140
+ # document_version: "DocumentVersion",
1141
+ # instance_id: "InstanceId",
564
1142
  # parameters: {
565
1143
  # "ParameterName" => ["ParameterValue"],
566
1144
  # },
1145
+ # targets: [
1146
+ # {
1147
+ # key: "TargetKey",
1148
+ # values: ["TargetValue"],
1149
+ # },
1150
+ # ],
1151
+ # schedule_expression: "ScheduleExpression",
1152
+ # output_location: {
1153
+ # s3_location: {
1154
+ # output_s3_region: "S3Region",
1155
+ # output_s3_bucket_name: "S3BucketName",
1156
+ # output_s3_key_prefix: "S3KeyPrefix",
1157
+ # },
1158
+ # },
567
1159
  # }
568
1160
  # @!attribute [rw] name
569
1161
  # The name of the SSM document.
570
1162
  # @return [String]
571
1163
  #
1164
+ # @!attribute [rw] document_version
1165
+ # The document version you want to associate with the target(s). Can
1166
+ # be a specific version or the default version.
1167
+ # @return [String]
1168
+ #
572
1169
  # @!attribute [rw] instance_id
573
1170
  # The instance ID.
574
1171
  # @return [String]
@@ -576,10 +1173,39 @@ module Aws
576
1173
  # @!attribute [rw] parameters
577
1174
  # The parameters for the documents runtime configuration.
578
1175
  # @return [Hash<String,Array<String>>]
1176
+ #
1177
+ # @!attribute [rw] targets
1178
+ # The targets (either instances or tags) for the association.
1179
+ # Instances are specified using
1180
+ # Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags
1181
+ # are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.
1182
+ # @return [Array<Types::Target>]
1183
+ #
1184
+ # @!attribute [rw] schedule_expression
1185
+ # A cron expression when the association will be applied to the
1186
+ # target(s). Supported expressions are every half, 1, 2, 4, 8 or 12
1187
+ # hour(s); every specified day and time of the week. For example:
1188
+ # cron(0 0/30 * 1/1 * ? *) to run every thirty minutes; cron(0 0
1189
+ # 0/4 1/1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN
1190
+ # *) to run every Sunday at 10 a.m.
1191
+ # @return [String]
1192
+ #
1193
+ # @!attribute [rw] output_location
1194
+ # An Amazon S3 bucket where you want to store the output details of
1195
+ # the request. For example:
1196
+ #
1197
+ # `"\{ "S3Location": \{ "OutputS3Region": "<region>",
1198
+ # "OutputS3BucketName": "bucket name", "OutputS3KeyPrefix":
1199
+ # "folder name" \} \}"`
1200
+ # @return [Types::InstanceAssociationOutputLocation]
579
1201
  class CreateAssociationRequest < Struct.new(
580
1202
  :name,
1203
+ :document_version,
581
1204
  :instance_id,
582
- :parameters)
1205
+ :parameters,
1206
+ :targets,
1207
+ :schedule_expression,
1208
+ :output_location)
583
1209
  include Aws::Structure
584
1210
  end
585
1211
 
@@ -597,6 +1223,7 @@ module Aws
597
1223
  # {
598
1224
  # content: "DocumentContent", # required
599
1225
  # name: "DocumentName", # required
1226
+ # document_type: "Command", # accepts Command, Policy, Automation
600
1227
  # }
601
1228
  # @!attribute [rw] content
602
1229
  # A valid JSON string.
@@ -605,9 +1232,15 @@ module Aws
605
1232
  # @!attribute [rw] name
606
1233
  # A name for the SSM document.
607
1234
  # @return [String]
1235
+ #
1236
+ # @!attribute [rw] document_type
1237
+ # The type of document to create. Valid document types include:
1238
+ # Policy, Automation, and Command.
1239
+ # @return [String]
608
1240
  class CreateDocumentRequest < Struct.new(
609
1241
  :content,
610
- :name)
1242
+ :name,
1243
+ :document_type)
611
1244
  include Aws::Structure
612
1245
  end
613
1246
 
@@ -619,6 +1252,64 @@ module Aws
619
1252
  include Aws::Structure
620
1253
  end
621
1254
 
1255
+ # @note When making an API call, pass CreateMaintenanceWindowRequest
1256
+ # data as a hash:
1257
+ #
1258
+ # {
1259
+ # name: "MaintenanceWindowName", # required
1260
+ # schedule: "MaintenanceWindowSchedule", # required
1261
+ # duration: 1, # required
1262
+ # cutoff: 1, # required
1263
+ # allow_unassociated_targets: false, # required
1264
+ # client_token: "ClientToken",
1265
+ # }
1266
+ # @!attribute [rw] name
1267
+ # The name of the Maintenance Window.
1268
+ # @return [String]
1269
+ #
1270
+ # @!attribute [rw] schedule
1271
+ # The schedule of the Maintenance Window in the form of a cron or rate
1272
+ # expression.
1273
+ # @return [String]
1274
+ #
1275
+ # @!attribute [rw] duration
1276
+ # The duration of the Maintenance Window in hours.
1277
+ # @return [Integer]
1278
+ #
1279
+ # @!attribute [rw] cutoff
1280
+ # The number of hours before the end of the Maintenance Window that
1281
+ # Systems Manager stops scheduling new tasks for execution.
1282
+ # @return [Integer]
1283
+ #
1284
+ # @!attribute [rw] allow_unassociated_targets
1285
+ # Whether targets must be registered with the Maintenance Window
1286
+ # before tasks can be defined for those targets.
1287
+ # @return [Boolean]
1288
+ #
1289
+ # @!attribute [rw] client_token
1290
+ # User-provided idempotency token.
1291
+ #
1292
+ # **A suitable default value is auto-generated.** You should
1293
+ # normally not need to pass this option.
1294
+ # @return [String]
1295
+ class CreateMaintenanceWindowRequest < Struct.new(
1296
+ :name,
1297
+ :schedule,
1298
+ :duration,
1299
+ :cutoff,
1300
+ :allow_unassociated_targets,
1301
+ :client_token)
1302
+ include Aws::Structure
1303
+ end
1304
+
1305
+ # @!attribute [rw] window_id
1306
+ # The ID of the created Maintenance Window.
1307
+ # @return [String]
1308
+ class CreateMaintenanceWindowResult < Struct.new(
1309
+ :window_id)
1310
+ include Aws::Structure
1311
+ end
1312
+
622
1313
  # @note When making an API call, pass DeleteActivationRequest
623
1314
  # data as a hash:
624
1315
  #
@@ -639,8 +1330,9 @@ module Aws
639
1330
  # data as a hash:
640
1331
  #
641
1332
  # {
642
- # name: "DocumentName", # required
643
- # instance_id: "InstanceId", # required
1333
+ # name: "DocumentName",
1334
+ # instance_id: "InstanceId",
1335
+ # association_id: "AssociationId",
644
1336
  # }
645
1337
  # @!attribute [rw] name
646
1338
  # The name of the SSM document.
@@ -649,9 +1341,14 @@ module Aws
649
1341
  # @!attribute [rw] instance_id
650
1342
  # The ID of the instance.
651
1343
  # @return [String]
1344
+ #
1345
+ # @!attribute [rw] association_id
1346
+ # The association ID that you want to delete.
1347
+ # @return [String]
652
1348
  class DeleteAssociationRequest < Struct.new(
653
1349
  :name,
654
- :instance_id)
1350
+ :instance_id,
1351
+ :association_id)
655
1352
  include Aws::Structure
656
1353
  end
657
1354
 
@@ -673,14 +1370,52 @@ module Aws
673
1370
 
674
1371
  class DeleteDocumentResult < Aws::EmptyStructure; end
675
1372
 
676
- # @note When making an API call, pass DeregisterManagedInstanceRequest
1373
+ # @note When making an API call, pass DeleteMaintenanceWindowRequest
677
1374
  # data as a hash:
678
1375
  #
679
1376
  # {
680
- # instance_id: "ManagedInstanceId", # required
1377
+ # window_id: "MaintenanceWindowId", # required
681
1378
  # }
682
- # @!attribute [rw] instance_id
683
- # The ID assigned to the managed instance when you registered it using
1379
+ # @!attribute [rw] window_id
1380
+ # The ID of the Maintenance Window to delete.
1381
+ # @return [String]
1382
+ class DeleteMaintenanceWindowRequest < Struct.new(
1383
+ :window_id)
1384
+ include Aws::Structure
1385
+ end
1386
+
1387
+ # @!attribute [rw] window_id
1388
+ # The ID of the deleted Maintenance Window.
1389
+ # @return [String]
1390
+ class DeleteMaintenanceWindowResult < Struct.new(
1391
+ :window_id)
1392
+ include Aws::Structure
1393
+ end
1394
+
1395
+ # @note When making an API call, pass DeleteParameterRequest
1396
+ # data as a hash:
1397
+ #
1398
+ # {
1399
+ # name: "PSParameterName", # required
1400
+ # }
1401
+ # @!attribute [rw] name
1402
+ # The name of the parameter to delete.
1403
+ # @return [String]
1404
+ class DeleteParameterRequest < Struct.new(
1405
+ :name)
1406
+ include Aws::Structure
1407
+ end
1408
+
1409
+ class DeleteParameterResult < Aws::EmptyStructure; end
1410
+
1411
+ # @note When making an API call, pass DeregisterManagedInstanceRequest
1412
+ # data as a hash:
1413
+ #
1414
+ # {
1415
+ # instance_id: "ManagedInstanceId", # required
1416
+ # }
1417
+ # @!attribute [rw] instance_id
1418
+ # The ID assigned to the managed instance when you registered it using
684
1419
  # the activation process.
685
1420
  # @return [String]
686
1421
  class DeregisterManagedInstanceRequest < Struct.new(
@@ -690,6 +1425,72 @@ module Aws
690
1425
 
691
1426
  class DeregisterManagedInstanceResult < Aws::EmptyStructure; end
692
1427
 
1428
+ # @note When making an API call, pass DeregisterTargetFromMaintenanceWindowRequest
1429
+ # data as a hash:
1430
+ #
1431
+ # {
1432
+ # window_id: "MaintenanceWindowId", # required
1433
+ # window_target_id: "MaintenanceWindowTargetId", # required
1434
+ # }
1435
+ # @!attribute [rw] window_id
1436
+ # The ID of the Maintenance Window the target should be removed from.
1437
+ # @return [String]
1438
+ #
1439
+ # @!attribute [rw] window_target_id
1440
+ # The ID of the target definition to remove.
1441
+ # @return [String]
1442
+ class DeregisterTargetFromMaintenanceWindowRequest < Struct.new(
1443
+ :window_id,
1444
+ :window_target_id)
1445
+ include Aws::Structure
1446
+ end
1447
+
1448
+ # @!attribute [rw] window_id
1449
+ # The ID of the Maintenance Window the target was removed from.
1450
+ # @return [String]
1451
+ #
1452
+ # @!attribute [rw] window_target_id
1453
+ # The ID of the removed target definition.
1454
+ # @return [String]
1455
+ class DeregisterTargetFromMaintenanceWindowResult < Struct.new(
1456
+ :window_id,
1457
+ :window_target_id)
1458
+ include Aws::Structure
1459
+ end
1460
+
1461
+ # @note When making an API call, pass DeregisterTaskFromMaintenanceWindowRequest
1462
+ # data as a hash:
1463
+ #
1464
+ # {
1465
+ # window_id: "MaintenanceWindowId", # required
1466
+ # window_task_id: "MaintenanceWindowTaskId", # required
1467
+ # }
1468
+ # @!attribute [rw] window_id
1469
+ # The ID of the Maintenance Window the task should be removed from.
1470
+ # @return [String]
1471
+ #
1472
+ # @!attribute [rw] window_task_id
1473
+ # The ID of the task to remove from the Maintenance Window.
1474
+ # @return [String]
1475
+ class DeregisterTaskFromMaintenanceWindowRequest < Struct.new(
1476
+ :window_id,
1477
+ :window_task_id)
1478
+ include Aws::Structure
1479
+ end
1480
+
1481
+ # @!attribute [rw] window_id
1482
+ # The ID of the Maintenance Window the task was removed from.
1483
+ # @return [String]
1484
+ #
1485
+ # @!attribute [rw] window_task_id
1486
+ # The ID of the task removed from the Maintenance Window.
1487
+ # @return [String]
1488
+ class DeregisterTaskFromMaintenanceWindowResult < Struct.new(
1489
+ :window_id,
1490
+ :window_task_id)
1491
+ include Aws::Structure
1492
+ end
1493
+
693
1494
  # Filter for the DescribeActivation API.
694
1495
  # @note When making an API call, pass DescribeActivationsFilter
695
1496
  # data as a hash:
@@ -763,8 +1564,9 @@ module Aws
763
1564
  # data as a hash:
764
1565
  #
765
1566
  # {
766
- # name: "DocumentName", # required
767
- # instance_id: "InstanceId", # required
1567
+ # name: "DocumentName",
1568
+ # instance_id: "InstanceId",
1569
+ # association_id: "AssociationId",
768
1570
  # }
769
1571
  # @!attribute [rw] name
770
1572
  # The name of the SSM document.
@@ -773,9 +1575,14 @@ module Aws
773
1575
  # @!attribute [rw] instance_id
774
1576
  # The instance ID.
775
1577
  # @return [String]
1578
+ #
1579
+ # @!attribute [rw] association_id
1580
+ # The association ID for which you want information.
1581
+ # @return [String]
776
1582
  class DescribeAssociationRequest < Struct.new(
777
1583
  :name,
778
- :instance_id)
1584
+ :instance_id,
1585
+ :association_id)
779
1586
  include Aws::Structure
780
1587
  end
781
1588
 
@@ -787,6 +1594,55 @@ module Aws
787
1594
  include Aws::Structure
788
1595
  end
789
1596
 
1597
+ # @note When making an API call, pass DescribeAutomationExecutionsRequest
1598
+ # data as a hash:
1599
+ #
1600
+ # {
1601
+ # filters: [
1602
+ # {
1603
+ # key: "DocumentNamePrefix", # required, accepts DocumentNamePrefix, ExecutionStatus
1604
+ # values: ["AutomationExecutionFilterValue"], # required
1605
+ # },
1606
+ # ],
1607
+ # max_results: 1,
1608
+ # next_token: "NextToken",
1609
+ # }
1610
+ # @!attribute [rw] filters
1611
+ # Filters used to limit the scope of executions that are requested.
1612
+ # @return [Array<Types::AutomationExecutionFilter>]
1613
+ #
1614
+ # @!attribute [rw] max_results
1615
+ # The maximum number of items to return for this call. The call also
1616
+ # returns a token that you can specify in a subsequent call to get the
1617
+ # next set of results.
1618
+ # @return [Integer]
1619
+ #
1620
+ # @!attribute [rw] next_token
1621
+ # The token for the next set of items to return. (You received this
1622
+ # token from a previous call.)
1623
+ # @return [String]
1624
+ class DescribeAutomationExecutionsRequest < Struct.new(
1625
+ :filters,
1626
+ :max_results,
1627
+ :next_token)
1628
+ include Aws::Structure
1629
+ end
1630
+
1631
+ # @!attribute [rw] automation_execution_metadata_list
1632
+ # The list of details about each automation execution which has
1633
+ # occurred which matches the filter specification, if any.
1634
+ # @return [Array<Types::AutomationExecutionMetadata>]
1635
+ #
1636
+ # @!attribute [rw] next_token
1637
+ # The token to use when requesting the next set of items. If there are
1638
+ # no additional items to return, the string is empty.
1639
+ # @return [String]
1640
+ class DescribeAutomationExecutionsResult < Struct.new(
1641
+ :automation_execution_metadata_list,
1642
+ :next_token)
1643
+ include Aws::Structure
1644
+ end
1645
+
790
1646
  # @note When making an API call, pass DescribeDocumentPermissionRequest
791
1647
  # data as a hash:
792
1648
  #
@@ -822,12 +1678,19 @@ module Aws
822
1678
  #
823
1679
  # {
824
1680
  # name: "DocumentARN", # required
1681
+ # document_version: "DocumentVersion",
825
1682
  # }
826
1683
  # @!attribute [rw] name
827
1684
  # The name of the SSM document.
828
1685
  # @return [String]
1686
+ #
1687
+ # @!attribute [rw] document_version
1688
+ # The document version for which you want information. Can be a
1689
+ # specific version or the default version.
1690
+ # @return [String]
829
1691
  class DescribeDocumentRequest < Struct.new(
830
- :name)
1692
+ :name,
1693
+ :document_version)
831
1694
  include Aws::Structure
832
1695
  end
833
1696
 
@@ -839,16 +1702,108 @@ module Aws
839
1702
  include Aws::Structure
840
1703
  end
841
1704
 
1705
+ # @note When making an API call, pass DescribeEffectiveInstanceAssociationsRequest
1706
+ # data as a hash:
1707
+ #
1708
+ # {
1709
+ # instance_id: "InstanceId", # required
1710
+ # max_results: 1,
1711
+ # next_token: "NextToken",
1712
+ # }
1713
+ # @!attribute [rw] instance_id
1714
+ # The instance ID for which you want to view all associations.
1715
+ # @return [String]
1716
+ #
1717
+ # @!attribute [rw] max_results
1718
+ # The maximum number of items to return for this call. The call also
1719
+ # returns a token that you can specify in a subsequent call to get the
1720
+ # next set of results.
1721
+ # @return [Integer]
1722
+ #
1723
+ # @!attribute [rw] next_token
1724
+ # The token for the next set of items to return. (You received this
1725
+ # token from a previous call.)
1726
+ # @return [String]
1727
+ class DescribeEffectiveInstanceAssociationsRequest < Struct.new(
1728
+ :instance_id,
1729
+ :max_results,
1730
+ :next_token)
1731
+ include Aws::Structure
1732
+ end
1733
+
1734
+ # @!attribute [rw] associations
1735
+ # The associations for the requested instance.
1736
+ # @return [Array<Types::InstanceAssociation>]
1737
+ #
1738
+ # @!attribute [rw] next_token
1739
+ # The token to use when requesting the next set of items. If there are
1740
+ # no additional items to return, the string is empty.
1741
+ # @return [String]
1742
+ class DescribeEffectiveInstanceAssociationsResult < Struct.new(
1743
+ :associations,
1744
+ :next_token)
1745
+ include Aws::Structure
1746
+ end
1747
+
1748
+ # @note When making an API call, pass DescribeInstanceAssociationsStatusRequest
1749
+ # data as a hash:
1750
+ #
1751
+ # {
1752
+ # instance_id: "InstanceId", # required
1753
+ # max_results: 1,
1754
+ # next_token: "NextToken",
1755
+ # }
1756
+ # @!attribute [rw] instance_id
1757
+ # The instance IDs for which you want association status information.
1758
+ # @return [String]
1759
+ #
1760
+ # @!attribute [rw] max_results
1761
+ # The maximum number of items to return for this call. The call also
1762
+ # returns a token that you can specify in a subsequent call to get the
1763
+ # next set of results.
1764
+ # @return [Integer]
1765
+ #
1766
+ # @!attribute [rw] next_token
1767
+ # The token for the next set of items to return. (You received this
1768
+ # token from a previous call.)
1769
+ # @return [String]
1770
+ class DescribeInstanceAssociationsStatusRequest < Struct.new(
1771
+ :instance_id,
1772
+ :max_results,
1773
+ :next_token)
1774
+ include Aws::Structure
1775
+ end
1776
+
1777
+ # @!attribute [rw] instance_association_status_infos
1778
+ # Status information about the association.
1779
+ # @return [Array<Types::InstanceAssociationStatusInfo>]
1780
+ #
1781
+ # @!attribute [rw] next_token
1782
+ # The token to use when requesting the next set of items. If there are
1783
+ # no additional items to return, the string is empty.
1784
+ # @return [String]
1785
+ class DescribeInstanceAssociationsStatusResult < Struct.new(
1786
+ :instance_association_status_infos,
1787
+ :next_token)
1788
+ include Aws::Structure
1789
+ end
1790
+
842
1791
  # @note When making an API call, pass DescribeInstanceInformationRequest
843
1792
  # data as a hash:
844
1793
  #
845
1794
  # {
846
1795
  # instance_information_filter_list: [
847
1796
  # {
848
- # key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, ActivationIds, IamRole, ResourceType
1797
+ # key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, ActivationIds, IamRole, ResourceType, AssociationStatus
849
1798
  # value_set: ["InstanceInformationFilterValue"], # required
850
1799
  # },
851
1800
  # ],
1801
+ # filters: [
1802
+ # {
1803
+ # key: "InstanceInformationStringFilterKey", # required
1804
+ # values: ["InstanceInformationFilterValue"], # required
1805
+ # },
1806
+ # ],
852
1807
  # max_results: 1,
853
1808
  # next_token: "NextToken",
854
1809
  # }
@@ -857,6 +1812,11 @@ module Aws
857
1812
  # instances.
858
1813
  # @return [Array<Types::InstanceInformationFilter>]
859
1814
  #
1815
+ # @!attribute [rw] filters
1816
+ # One or more filters. Use a filter to return a more specific list of
1817
+ # instances.
1818
+ # @return [Array<Types::InstanceInformationStringFilter>]
1819
+ #
860
1820
  # @!attribute [rw] max_results
861
1821
  # The maximum number of items to return for this call. The call also
862
1822
  # returns a token that you can specify in a subsequent call to get the
@@ -869,6 +1829,7 @@ module Aws
869
1829
  # @return [String]
870
1830
  class DescribeInstanceInformationRequest < Struct.new(
871
1831
  :instance_information_filter_list,
1832
+ :filters,
872
1833
  :max_results,
873
1834
  :next_token)
874
1835
  include Aws::Structure
@@ -888,182 +1849,1399 @@ module Aws
888
1849
  include Aws::Structure
889
1850
  end
890
1851
 
891
- # Describes an SSM document.
892
- # @!attribute [rw] sha_1
893
- # The SHA1 hash of the document, which you can use for verification
894
- # purposes.
895
- # @return [String]
896
- #
897
- # @!attribute [rw] hash
898
- # The Sha256 or Sha1 hash created by the system when the document was
899
- # created.
1852
+ # @note When making an API call, pass DescribeMaintenanceWindowExecutionTaskInvocationsRequest
1853
+ # data as a hash:
900
1854
  #
901
- # <note markdown="1"> Sha1 hashes have been deprecated.
1855
+ # {
1856
+ # window_execution_id: "MaintenanceWindowExecutionId", # required
1857
+ # task_id: "MaintenanceWindowExecutionTaskId", # required
1858
+ # filters: [
1859
+ # {
1860
+ # key: "MaintenanceWindowFilterKey",
1861
+ # values: ["MaintenanceWindowFilterValue"],
1862
+ # },
1863
+ # ],
1864
+ # max_results: 1,
1865
+ # next_token: "NextToken",
1866
+ # }
1867
+ # @!attribute [rw] window_execution_id
1868
+ # The ID of the Maintenance Window execution the task is part of.
1869
+ # @return [String]
902
1870
  #
903
- # </note>
1871
+ # @!attribute [rw] task_id
1872
+ # The ID of the specific task in the Maintenance Window task that
1873
+ # should be retrieved.
904
1874
  # @return [String]
905
1875
  #
906
- # @!attribute [rw] hash_type
907
- # Sha256 or Sha1.
1876
+ # @!attribute [rw] filters
1877
+ # Optional filters used to scope down the returned task invocations.
1878
+ # The supported filter key is STATUS with the corresponding values
1879
+ # PENDING, IN\_PROGRESS, SUCCESS, FAILED, TIMED\_OUT, CANCELLING, and
1880
+ # CANCELLED.
1881
+ # @return [Array<Types::MaintenanceWindowFilter>]
908
1882
  #
909
- # <note markdown="1"> Sha1 hashes have been deprecated.
1883
+ # @!attribute [rw] max_results
1884
+ # The maximum number of items to return for this call. The call also
1885
+ # returns a token that you can specify in a subsequent call to get the
1886
+ # next set of results.
1887
+ # @return [Integer]
910
1888
  #
911
- # </note>
1889
+ # @!attribute [rw] next_token
1890
+ # The token for the next set of items to return. (You received this
1891
+ # token from a previous call.)
912
1892
  # @return [String]
1893
+ class DescribeMaintenanceWindowExecutionTaskInvocationsRequest < Struct.new(
1894
+ :window_execution_id,
1895
+ :task_id,
1896
+ :filters,
1897
+ :max_results,
1898
+ :next_token)
1899
+ include Aws::Structure
1900
+ end
1901
+
1902
+ # @!attribute [rw] window_execution_task_invocation_identities
1903
+ # Information about the task invocation results per invocation.
1904
+ # @return [Array<Types::MaintenanceWindowExecutionTaskInvocationIdentity>]
913
1905
  #
914
- # @!attribute [rw] name
915
- # The name of the SSM document.
1906
+ # @!attribute [rw] next_token
1907
+ # The token to use when requesting the next set of items. If there are
1908
+ # no additional items to return, the string is empty.
916
1909
  # @return [String]
1910
+ class DescribeMaintenanceWindowExecutionTaskInvocationsResult < Struct.new(
1911
+ :window_execution_task_invocation_identities,
1912
+ :next_token)
1913
+ include Aws::Structure
1914
+ end
1915
+
1916
+ # @note When making an API call, pass DescribeMaintenanceWindowExecutionTasksRequest
1917
+ # data as a hash:
917
1918
  #
918
- # @!attribute [rw] owner
919
- # The AWS user account of the person who created the document.
1919
+ # {
1920
+ # window_execution_id: "MaintenanceWindowExecutionId", # required
1921
+ # filters: [
1922
+ # {
1923
+ # key: "MaintenanceWindowFilterKey",
1924
+ # values: ["MaintenanceWindowFilterValue"],
1925
+ # },
1926
+ # ],
1927
+ # max_results: 1,
1928
+ # next_token: "NextToken",
1929
+ # }
1930
+ # @!attribute [rw] window_execution_id
1931
+ # The ID of the Maintenance Window execution whose task executions
1932
+ # should be retrieved.
920
1933
  # @return [String]
921
1934
  #
922
- # @!attribute [rw] created_date
923
- # The date when the SSM document was created.
924
- # @return [Time]
1935
+ # @!attribute [rw] filters
1936
+ # Optional filters used to scope down the returned tasks. The
1937
+ # supported filter key is STATUS with the corresponding values
1938
+ # PENDING, IN\_PROGRESS, SUCCESS, FAILED, TIMED\_OUT, CANCELLING, and
1939
+ # CANCELLED.
1940
+ # @return [Array<Types::MaintenanceWindowFilter>]
925
1941
  #
926
- # @!attribute [rw] status
927
- # The status of the SSM document.
928
- # @return [String]
1942
+ # @!attribute [rw] max_results
1943
+ # The maximum number of items to return for this call. The call also
1944
+ # returns a token that you can specify in a subsequent call to get the
1945
+ # next set of results.
1946
+ # @return [Integer]
929
1947
  #
930
- # @!attribute [rw] description
931
- # A description of the document.
1948
+ # @!attribute [rw] next_token
1949
+ # The token for the next set of items to return. (You received this
1950
+ # token from a previous call.)
1951
+ # @return [String]
1952
+ class DescribeMaintenanceWindowExecutionTasksRequest < Struct.new(
1953
+ :window_execution_id,
1954
+ :filters,
1955
+ :max_results,
1956
+ :next_token)
1957
+ include Aws::Structure
1958
+ end
1959
+
1960
+ # @!attribute [rw] window_execution_task_identities
1961
+ # Information about the task executions.
1962
+ # @return [Array<Types::MaintenanceWindowExecutionTaskIdentity>]
1963
+ #
1964
+ # @!attribute [rw] next_token
1965
+ # The token to use when requesting the next set of items. If there are
1966
+ # no additional items to return, the string is empty.
1967
+ # @return [String]
1968
+ class DescribeMaintenanceWindowExecutionTasksResult < Struct.new(
1969
+ :window_execution_task_identities,
1970
+ :next_token)
1971
+ include Aws::Structure
1972
+ end
1973
+
1974
+ # @note When making an API call, pass DescribeMaintenanceWindowExecutionsRequest
1975
+ # data as a hash:
1976
+ #
1977
+ # {
1978
+ # window_id: "MaintenanceWindowId", # required
1979
+ # filters: [
1980
+ # {
1981
+ # key: "MaintenanceWindowFilterKey",
1982
+ # values: ["MaintenanceWindowFilterValue"],
1983
+ # },
1984
+ # ],
1985
+ # max_results: 1,
1986
+ # next_token: "NextToken",
1987
+ # }
1988
+ # @!attribute [rw] window_id
1989
+ # The ID of the Maintenance Window whose executions should be
1990
+ # retrieved.
1991
+ # @return [String]
1992
+ #
1993
+ # @!attribute [rw] filters
1994
+ # Each entry in the array is a structure containing:
1995
+ #
1996
+ # Key (string, 1 ≤ length ≤ 128)
1997
+ #
1998
+ # Values (array of strings 1 ≤ length ≤ 256)
1999
+ #
2000
+ # The supported Keys are `ExecutedBefore` and `ExecutedAfter` with the
2001
+ # value being a date/time string such as 2016-11-04T05:00:00Z.
2002
+ # @return [Array<Types::MaintenanceWindowFilter>]
2003
+ #
2004
+ # @!attribute [rw] max_results
2005
+ # The maximum number of items to return for this call. The call also
2006
+ # returns a token that you can specify in a subsequent call to get the
2007
+ # next set of results.
2008
+ # @return [Integer]
2009
+ #
2010
+ # @!attribute [rw] next_token
2011
+ # The token for the next set of items to return. (You received this
2012
+ # token from a previous call.)
2013
+ # @return [String]
2014
+ class DescribeMaintenanceWindowExecutionsRequest < Struct.new(
2015
+ :window_id,
2016
+ :filters,
2017
+ :max_results,
2018
+ :next_token)
2019
+ include Aws::Structure
2020
+ end
2021
+
2022
+ # @!attribute [rw] window_executions
2023
+ # Information about the Maintenance Windows execution.
2024
+ # @return [Array<Types::MaintenanceWindowExecution>]
2025
+ #
2026
+ # @!attribute [rw] next_token
2027
+ # The token to use when requesting the next set of items. If there are
2028
+ # no additional items to return, the string is empty.
2029
+ # @return [String]
2030
+ class DescribeMaintenanceWindowExecutionsResult < Struct.new(
2031
+ :window_executions,
2032
+ :next_token)
2033
+ include Aws::Structure
2034
+ end
2035
+
2036
+ # @note When making an API call, pass DescribeMaintenanceWindowTargetsRequest
2037
+ # data as a hash:
2038
+ #
2039
+ # {
2040
+ # window_id: "MaintenanceWindowId", # required
2041
+ # filters: [
2042
+ # {
2043
+ # key: "MaintenanceWindowFilterKey",
2044
+ # values: ["MaintenanceWindowFilterValue"],
2045
+ # },
2046
+ # ],
2047
+ # max_results: 1,
2048
+ # next_token: "NextToken",
2049
+ # }
2050
+ # @!attribute [rw] window_id
2051
+ # The ID of the Maintenance Window whose targets should be retrieved.
2052
+ # @return [String]
2053
+ #
2054
+ # @!attribute [rw] filters
2055
+ # Optional filters that can be used to narrow down the scope of the
2056
+ # returned window targets. The supported filter keys are `Type`,
2057
+ # `WindowTargetId` and `OwnerInformation`.
2058
+ # @return [Array<Types::MaintenanceWindowFilter>]
2059
+ #
2060
+ # @!attribute [rw] max_results
2061
+ # The maximum number of items to return for this call. The call also
2062
+ # returns a token that you can specify in a subsequent call to get the
2063
+ # next set of results.
2064
+ # @return [Integer]
2065
+ #
2066
+ # @!attribute [rw] next_token
2067
+ # The token for the next set of items to return. (You received this
2068
+ # token from a previous call.)
2069
+ # @return [String]
2070
+ class DescribeMaintenanceWindowTargetsRequest < Struct.new(
2071
+ :window_id,
2072
+ :filters,
2073
+ :max_results,
2074
+ :next_token)
2075
+ include Aws::Structure
2076
+ end
2077
+
2078
+ # @!attribute [rw] targets
2079
+ # Information about the targets in the Maintenance Window.
2080
+ # @return [Array<Types::MaintenanceWindowTarget>]
2081
+ #
2082
+ # @!attribute [rw] next_token
2083
+ # The token to use when requesting the next set of items. If there are
2084
+ # no additional items to return, the string is empty.
2085
+ # @return [String]
2086
+ class DescribeMaintenanceWindowTargetsResult < Struct.new(
2087
+ :targets,
2088
+ :next_token)
2089
+ include Aws::Structure
2090
+ end
2091
+
2092
+ # @note When making an API call, pass DescribeMaintenanceWindowTasksRequest
2093
+ # data as a hash:
2094
+ #
2095
+ # {
2096
+ # window_id: "MaintenanceWindowId", # required
2097
+ # filters: [
2098
+ # {
2099
+ # key: "MaintenanceWindowFilterKey",
2100
+ # values: ["MaintenanceWindowFilterValue"],
2101
+ # },
2102
+ # ],
2103
+ # max_results: 1,
2104
+ # next_token: "NextToken",
2105
+ # }
2106
+ # @!attribute [rw] window_id
2107
+ # The ID of the Maintenance Window whose tasks should be retrieved.
2108
+ # @return [String]
2109
+ #
2110
+ # @!attribute [rw] filters
2111
+ # Optional filters used to narrow down the scope of the returned
2112
+ # tasks. The supported filter keys are `WindowTaskId`, `TaskArn`,
2113
+ # `Priority`, and `TaskType`.
2114
+ # @return [Array<Types::MaintenanceWindowFilter>]
2115
+ #
2116
+ # @!attribute [rw] max_results
2117
+ # The maximum number of items to return for this call. The call also
2118
+ # returns a token that you can specify in a subsequent call to get the
2119
+ # next set of results.
2120
+ # @return [Integer]
2121
+ #
2122
+ # @!attribute [rw] next_token
2123
+ # The token for the next set of items to return. (You received this
2124
+ # token from a previous call.)
2125
+ # @return [String]
2126
+ class DescribeMaintenanceWindowTasksRequest < Struct.new(
2127
+ :window_id,
2128
+ :filters,
2129
+ :max_results,
2130
+ :next_token)
2131
+ include Aws::Structure
2132
+ end
2133
+
2134
+ # @!attribute [rw] tasks
2135
+ # Information about the tasks in the Maintenance Window.
2136
+ # @return [Array<Types::MaintenanceWindowTask>]
2137
+ #
2138
+ # @!attribute [rw] next_token
2139
+ # The token to use when requesting the next set of items. If there are
2140
+ # no additional items to return, the string is empty.
2141
+ # @return [String]
2142
+ class DescribeMaintenanceWindowTasksResult < Struct.new(
2143
+ :tasks,
2144
+ :next_token)
2145
+ include Aws::Structure
2146
+ end
2147
+
2148
+ # @note When making an API call, pass DescribeMaintenanceWindowsRequest
2149
+ # data as a hash:
2150
+ #
2151
+ # {
2152
+ # filters: [
2153
+ # {
2154
+ # key: "MaintenanceWindowFilterKey",
2155
+ # values: ["MaintenanceWindowFilterValue"],
2156
+ # },
2157
+ # ],
2158
+ # max_results: 1,
2159
+ # next_token: "NextToken",
2160
+ # }
2161
+ # @!attribute [rw] filters
2162
+ # Optional filters used to narrow down the scope of the returned
2163
+ # Maintenance Windows. Supported filter keys are `Name` and `Enabled`.
2164
+ # @return [Array<Types::MaintenanceWindowFilter>]
2165
+ #
2166
+ # @!attribute [rw] max_results
2167
+ # The maximum number of items to return for this call. The call also
2168
+ # returns a token that you can specify in a subsequent call to get the
2169
+ # next set of results.
2170
+ # @return [Integer]
2171
+ #
2172
+ # @!attribute [rw] next_token
2173
+ # The token for the next set of items to return. (You received this
2174
+ # token from a previous call.)
2175
+ # @return [String]
2176
+ class DescribeMaintenanceWindowsRequest < Struct.new(
2177
+ :filters,
2178
+ :max_results,
2179
+ :next_token)
2180
+ include Aws::Structure
2181
+ end
2182
+
2183
+ # @!attribute [rw] window_identities
2184
+ # Information about the Maintenance Windows.
2185
+ # @return [Array<Types::MaintenanceWindowIdentity>]
2186
+ #
2187
+ # @!attribute [rw] next_token
2188
+ # The token to use when requesting the next set of items. If there are
2189
+ # no additional items to return, the string is empty.
932
2190
  # @return [String]
2191
+ class DescribeMaintenanceWindowsResult < Struct.new(
2192
+ :window_identities,
2193
+ :next_token)
2194
+ include Aws::Structure
2195
+ end
2196
+
2197
+ # @note When making an API call, pass DescribeParametersRequest
2198
+ # data as a hash:
2199
+ #
2200
+ # {
2201
+ # filters: [
2202
+ # {
2203
+ # key: "Name", # accepts Name, Type, KeyId
2204
+ # values: ["ParametersFilterValue"], # required
2205
+ # },
2206
+ # ],
2207
+ # max_results: 1,
2208
+ # next_token: "NextToken",
2209
+ # }
2210
+ # @!attribute [rw] filters
2211
+ # One or more filters. Use a filter to return a more specific list of
2212
+ # results.
2213
+ # @return [Array<Types::ParametersFilter>]
2214
+ #
2215
+ # @!attribute [rw] max_results
2216
+ # The maximum number of items to return for this call. The call also
2217
+ # returns a token that you can specify in a subsequent call to get the
2218
+ # next set of results.
2219
+ # @return [Integer]
933
2220
  #
2221
+ # @!attribute [rw] next_token
2222
+ # The token for the next set of items to return. (You received this
2223
+ # token from a previous call.)
2224
+ # @return [String]
2225
+ class DescribeParametersRequest < Struct.new(
2226
+ :filters,
2227
+ :max_results,
2228
+ :next_token)
2229
+ include Aws::Structure
2230
+ end
2231
+
934
2232
  # @!attribute [rw] parameters
935
- # A description of the parameters for a document.
936
- # @return [Array<Types::DocumentParameter>]
2233
+ # Parameters returned by the request.
2234
+ # @return [Array<Types::ParameterMetadata>]
2235
+ #
2236
+ # @!attribute [rw] next_token
2237
+ # The token to use when requesting the next set of items. If there are
2238
+ # no additional items to return, the string is empty.
2239
+ # @return [String]
2240
+ class DescribeParametersResult < Struct.new(
2241
+ :parameters,
2242
+ :next_token)
2243
+ include Aws::Structure
2244
+ end
2245
+
2246
+ # A default version of a document.
2247
+ # @!attribute [rw] name
2248
+ # The name of the document.
2249
+ # @return [String]
2250
+ #
2251
+ # @!attribute [rw] default_version
2252
+ # The default version of the document.
2253
+ # @return [String]
2254
+ class DocumentDefaultVersionDescription < Struct.new(
2255
+ :name,
2256
+ :default_version)
2257
+ include Aws::Structure
2258
+ end
2259
+
2260
+ # Describes an SSM document.
2261
+ # @!attribute [rw] sha_1
2262
+ # The SHA1 hash of the document, which you can use for verification
2263
+ # purposes.
2264
+ # @return [String]
2265
+ #
2266
+ # @!attribute [rw] hash
2267
+ # The Sha256 or Sha1 hash created by the system when the document was
2268
+ # created.
2269
+ #
2270
+ # <note markdown="1"> Sha1 hashes have been deprecated.
2271
+ #
2272
+ # </note>
2273
+ # @return [String]
2274
+ #
2275
+ # @!attribute [rw] hash_type
2276
+ # Sha256 or Sha1.
2277
+ #
2278
+ # <note markdown="1"> Sha1 hashes have been deprecated.
2279
+ #
2280
+ # </note>
2281
+ # @return [String]
2282
+ #
2283
+ # @!attribute [rw] name
2284
+ # The name of the SSM document.
2285
+ # @return [String]
2286
+ #
2287
+ # @!attribute [rw] owner
2288
+ # The AWS user account of the person who created the document.
2289
+ # @return [String]
2290
+ #
2291
+ # @!attribute [rw] created_date
2292
+ # The date when the SSM document was created.
2293
+ # @return [Time]
2294
+ #
2295
+ # @!attribute [rw] status
2296
+ # The status of the SSM document.
2297
+ # @return [String]
2298
+ #
2299
+ # @!attribute [rw] document_version
2300
+ # The document version.
2301
+ # @return [String]
2302
+ #
2303
+ # @!attribute [rw] description
2304
+ # A description of the document.
2305
+ # @return [String]
2306
+ #
2307
+ # @!attribute [rw] parameters
2308
+ # A description of the parameters for a document.
2309
+ # @return [Array<Types::DocumentParameter>]
2310
+ #
2311
+ # @!attribute [rw] platform_types
2312
+ # The list of OS platforms compatible with this SSM document.
2313
+ # @return [Array<String>]
2314
+ #
2315
+ # @!attribute [rw] document_type
2316
+ # The type of document.
2317
+ # @return [String]
2318
+ #
2319
+ # @!attribute [rw] schema_version
2320
+ # The schema version.
2321
+ # @return [String]
2322
+ #
2323
+ # @!attribute [rw] latest_version
2324
+ # The latest version of the document.
2325
+ # @return [String]
2326
+ #
2327
+ # @!attribute [rw] default_version
2328
+ # The default version.
2329
+ # @return [String]
2330
+ class DocumentDescription < Struct.new(
2331
+ :sha_1,
2332
+ :hash,
2333
+ :hash_type,
2334
+ :name,
2335
+ :owner,
2336
+ :created_date,
2337
+ :status,
2338
+ :document_version,
2339
+ :description,
2340
+ :parameters,
2341
+ :platform_types,
2342
+ :document_type,
2343
+ :schema_version,
2344
+ :latest_version,
2345
+ :default_version)
2346
+ include Aws::Structure
2347
+ end
2348
+
2349
+ # Describes a filter.
2350
+ # @note When making an API call, pass DocumentFilter
2351
+ # data as a hash:
2352
+ #
2353
+ # {
2354
+ # key: "Name", # required, accepts Name, Owner, PlatformTypes, DocumentType
2355
+ # value: "DocumentFilterValue", # required
2356
+ # }
2357
+ # @!attribute [rw] key
2358
+ # The name of the filter.
2359
+ # @return [String]
2360
+ #
2361
+ # @!attribute [rw] value
2362
+ # The value of the filter.
2363
+ # @return [String]
2364
+ class DocumentFilter < Struct.new(
2365
+ :key,
2366
+ :value)
2367
+ include Aws::Structure
2368
+ end
2369
+
2370
+ # Describes the name of an SSM document.
2371
+ # @!attribute [rw] name
2372
+ # The name of the SSM document.
2373
+ # @return [String]
2374
+ #
2375
+ # @!attribute [rw] owner
2376
+ # The AWS user account of the person who created the document.
2377
+ # @return [String]
2378
+ #
2379
+ # @!attribute [rw] platform_types
2380
+ # The operating system platform.
2381
+ # @return [Array<String>]
2382
+ #
2383
+ # @!attribute [rw] document_version
2384
+ # The document version.
2385
+ # @return [String]
2386
+ #
2387
+ # @!attribute [rw] document_type
2388
+ # The document type.
2389
+ # @return [String]
2390
+ #
2391
+ # @!attribute [rw] schema_version
2392
+ # The schema version.
2393
+ # @return [String]
2394
+ class DocumentIdentifier < Struct.new(
2395
+ :name,
2396
+ :owner,
2397
+ :platform_types,
2398
+ :document_version,
2399
+ :document_type,
2400
+ :schema_version)
2401
+ include Aws::Structure
2402
+ end
2403
+
2404
+ # Parameters specified in the SSM document that execute on the server
2405
+ # when the command is run.
2406
+ # @!attribute [rw] name
2407
+ # The name of the parameter.
2408
+ # @return [String]
2409
+ #
2410
+ # @!attribute [rw] type
2411
+ # The type of parameter. The type can be either “String” or
2412
+ # “StringList”.
2413
+ # @return [String]
2414
+ #
2415
+ # @!attribute [rw] description
2416
+ # A description of what the parameter does, how to use it, the default
2417
+ # value, and whether or not the parameter is optional.
2418
+ # @return [String]
2419
+ #
2420
+ # @!attribute [rw] default_value
2421
+ # If specified, the default values for the parameters. Parameters
2422
+ # without a default value are required. Parameters with a default
2423
+ # value are optional.
2424
+ # @return [String]
2425
+ class DocumentParameter < Struct.new(
2426
+ :name,
2427
+ :type,
2428
+ :description,
2429
+ :default_value)
2430
+ include Aws::Structure
2431
+ end
2432
+
2433
+ # Version information about the document.
2434
+ # @!attribute [rw] name
2435
+ # The document name.
2436
+ # @return [String]
2437
+ #
2438
+ # @!attribute [rw] document_version
2439
+ # The document version.
2440
+ # @return [String]
2441
+ #
2442
+ # @!attribute [rw] created_date
2443
+ # The date the document was created.
2444
+ # @return [Time]
2445
+ #
2446
+ # @!attribute [rw] is_default_version
2447
+ # An identifier for the default version of the document.
2448
+ # @return [Boolean]
2449
+ class DocumentVersionInfo < Struct.new(
2450
+ :name,
2451
+ :document_version,
2452
+ :created_date,
2453
+ :is_default_version)
2454
+ include Aws::Structure
2455
+ end
2456
+
2457
+ # Describes a failed association.
2458
+ # @!attribute [rw] entry
2459
+ # The association.
2460
+ # @return [Types::CreateAssociationBatchRequestEntry]
2461
+ #
2462
+ # @!attribute [rw] message
2463
+ # A description of the failure.
2464
+ # @return [String]
2465
+ #
2466
+ # @!attribute [rw] fault
2467
+ # The source of the failure.
2468
+ # @return [String]
2469
+ class FailedCreateAssociation < Struct.new(
2470
+ :entry,
2471
+ :message,
2472
+ :fault)
2473
+ include Aws::Structure
2474
+ end
2475
+
2476
+ # @note When making an API call, pass GetAutomationExecutionRequest
2477
+ # data as a hash:
2478
+ #
2479
+ # {
2480
+ # automation_execution_id: "AutomationExecutionId", # required
2481
+ # }
2482
+ # @!attribute [rw] automation_execution_id
2483
+ # The unique identifier for an existing automation execution to
2484
+ # examine. The execution ID is returned by `StartAutomationExecution`
2485
+ # when the execution of an Automation document is initiated.
2486
+ # @return [String]
2487
+ class GetAutomationExecutionRequest < Struct.new(
2488
+ :automation_execution_id)
2489
+ include Aws::Structure
2490
+ end
2491
+
2492
+ # @!attribute [rw] automation_execution
2493
+ # Detailed information about the current state of an automation
2494
+ # execution.
2495
+ # @return [Types::AutomationExecution]
2496
+ class GetAutomationExecutionResult < Struct.new(
2497
+ :automation_execution)
2498
+ include Aws::Structure
2499
+ end
2500
+
2501
+ # @note When making an API call, pass GetCommandInvocationRequest
2502
+ # data as a hash:
2503
+ #
2504
+ # {
2505
+ # command_id: "CommandId", # required
2506
+ # instance_id: "InstanceId", # required
2507
+ # plugin_name: "CommandPluginName",
2508
+ # }
2509
+ # @!attribute [rw] command_id
2510
+ # (Required) The parent command ID of the invocation plugin.
2511
+ # @return [String]
2512
+ #
2513
+ # @!attribute [rw] instance_id
2514
+ # (Required) The ID of the managed instance targeted by the command. A
2515
+ # managed instance can be an Amazon EC2 instance or an instance in
2516
+ # your hybrid environment that is configured for Systems Manager.
2517
+ # @return [String]
2518
+ #
2519
+ # @!attribute [rw] plugin_name
2520
+ # (Optional) The name of the plugin for which you want detailed
2521
+ # results. If the SSM document contains only one plugin, the name can
2522
+ # be omitted and the details will be returned.
2523
+ # @return [String]
2524
+ class GetCommandInvocationRequest < Struct.new(
2525
+ :command_id,
2526
+ :instance_id,
2527
+ :plugin_name)
2528
+ include Aws::Structure
2529
+ end
2530
+
2531
+ # @!attribute [rw] command_id
2532
+ # The parent command ID of the invocation plugin.
2533
+ # @return [String]
2534
+ #
2535
+ # @!attribute [rw] instance_id
2536
+ # The ID of the managed instance targeted by the command. A managed
2537
+ # instance can be an Amazon EC2 instance or an instance in your hybrid
2538
+ # environment that is configured for Systems Manager.
2539
+ # @return [String]
2540
+ #
2541
+ # @!attribute [rw] comment
2542
+ # The comment text for the command.
2543
+ # @return [String]
2544
+ #
2545
+ # @!attribute [rw] document_name
2546
+ # The name of the SSM document that was executed. For example,
2547
+ # AWS-RunShellScript is an SSM document.
2548
+ # @return [String]
2549
+ #
2550
+ # @!attribute [rw] plugin_name
2551
+ # The name of the plugin for which you want detailed results. For
2552
+ # example, aws:RunShellScript is a plugin.
2553
+ # @return [String]
2554
+ #
2555
+ # @!attribute [rw] response_code
2556
+ # The error level response code for the plugin script. If the response
2557
+ # code is `-1`, then the command has not started executing on the
2558
+ # instance, or it was not received by the instance.
2559
+ # @return [Integer]
2560
+ #
2561
+ # @!attribute [rw] execution_start_date_time
2562
+ # The date and time the plugin started executing. Date and time are
2563
+ # written in ISO 8601 format. For example, August 28, 2016 is
2564
+ # represented as 2016-08-28. If the plugin has not started to execute,
2565
+ # the string is empty.
2566
+ # @return [String]
2567
+ #
2568
+ # @!attribute [rw] execution_elapsed_time
2569
+ # Duration since `ExecutionStartDateTime`.
2570
+ # @return [String]
2571
+ #
2572
+ # @!attribute [rw] execution_end_date_time
2573
+ # The date and time the plugin was finished executing. Date and time
2574
+ # are written in ISO 8601 format. For example, August 28, 2016 is
2575
+ # represented as 2016-08-28. If the plugin has not started to execute,
2576
+ # the string is empty.
2577
+ # @return [String]
2578
+ #
2579
+ # @!attribute [rw] status
2580
+ # The status of the parent command for this invocation. This status
2581
+ # can be different than `StatusDetails`.
2582
+ # @return [String]
2583
+ #
2584
+ # @!attribute [rw] status_details
2585
+ # A detailed status of the command execution for an invocation.
2586
+ # `StatusDetails` includes more information than `Status` because it
2587
+ # includes states resulting from error and concurrency control
2588
+ # parameters. `StatusDetails` can show different results than
2589
+ # `Status`. For more information about these statuses, see [Monitor
2590
+ # Commands][1] (Linux) or [Monitor Commands][2] (Windows).
2591
+ # `StatusDetails` can be one of the following values:
2592
+ #
2593
+ # * Pending – The command has not been sent to the instance.
2594
+ #
2595
+ # * In Progress – The command has been sent to the instance but has
2596
+ # not reached a terminal state.
2597
+ #
2598
+ # * Delayed – The system attempted to send the command to the target,
2599
+ # but the target was not available. The instance might not be
2600
+ # available because of network issues, the instance was stopped,
2601
+ # etc. The system will try to deliver the command again.
2602
+ #
2603
+ # * Success – The command or plugin was executed successfully. This is
2604
+ # a terminal state.
2605
+ #
2606
+ # * Delivery Timed Out – The command was not delivered to the instance
2607
+ # before the delivery timeout expired. Delivery timeouts do not
2608
+ # count against the parent command’s `MaxErrors` limit, but they do
2609
+ # contribute to whether the parent command status is `Success` or
2610
+ # `Incomplete`. This is a terminal state.
2611
+ #
2612
+ # * Execution Timed Out – The command started to execute on the
2613
+ # instance, but the execution was not complete before the timeout
2614
+ # expired. Execution timeouts count against the `MaxErrors` limit of
2615
+ # the parent command. This is a terminal state.
2616
+ #
2617
+ # * Failed – The command wasn't executed successfully on the
2618
+ # instance. For a plugin, this indicates that the result code was
2619
+ # not zero. For a command invocation, this indicates that the result
2620
+ # code for one or more plugins was not zero. Invocation failures
2621
+ # count against the `MaxErrors` limit of the parent command. This is
2622
+ # a terminal state.
2623
+ #
2624
+ # * Canceled – The command was terminated before it was completed.
2625
+ # This is a terminal state.
2626
+ #
2627
+ # * Undeliverable – The command can't be delivered to the instance.
2628
+ # The instance might not exist or might not be responding.
2629
+ # Undeliverable invocations don't count against the parent
2630
+ # command’s `MaxErrors` limit and don't contribute to whether the
2631
+ # parent command status is `Success` or `Incomplete`. This is a
2632
+ # terminal state.
2633
+ #
2634
+ # * Terminated – The parent command exceeded its `MaxErrors` limit and
2635
+ # subsequent command invocations were canceled by the system. This
2636
+ # is a terminal state.
2637
+ #
2638
+ #
2639
+ #
2640
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html
2641
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/monitor-commands.html
2642
+ # @return [String]
2643
+ #
2644
+ # @!attribute [rw] standard_output_content
2645
+ # The first 24,000 characters written by the plugin to stdout. If the
2646
+ # command has not finished executing, if `ExecutionStatus` is neither
2647
+ # `Succeeded` nor `Failed`, then this string is empty.
2648
+ # @return [String]
2649
+ #
2650
+ # @!attribute [rw] standard_output_url
2651
+ # The URL for the complete text written by the plugin to stdout in
2652
+ # Amazon S3. If an Amazon S3 bucket was not specified, then this
2653
+ # string is empty.
2654
+ # @return [String]
2655
+ #
2656
+ # @!attribute [rw] standard_error_content
2657
+ # The first 8,000 characters written by the plugin to stderr. If the
2658
+ # command has not finished executing, then this string is empty.
2659
+ # @return [String]
2660
+ #
2661
+ # @!attribute [rw] standard_error_url
2662
+ # The URL for the complete text written by the plugin to stderr. If
2663
+ # the command has not finished executing, then this string is empty.
2664
+ # @return [String]
2665
+ class GetCommandInvocationResult < Struct.new(
2666
+ :command_id,
2667
+ :instance_id,
2668
+ :comment,
2669
+ :document_name,
2670
+ :plugin_name,
2671
+ :response_code,
2672
+ :execution_start_date_time,
2673
+ :execution_elapsed_time,
2674
+ :execution_end_date_time,
2675
+ :status,
2676
+ :status_details,
2677
+ :standard_output_content,
2678
+ :standard_output_url,
2679
+ :standard_error_content,
2680
+ :standard_error_url)
2681
+ include Aws::Structure
2682
+ end
2683
+
2684
+ # @note When making an API call, pass GetDocumentRequest
2685
+ # data as a hash:
2686
+ #
2687
+ # {
2688
+ # name: "DocumentARN", # required
2689
+ # document_version: "DocumentVersion",
2690
+ # }
2691
+ # @!attribute [rw] name
2692
+ # The name of the SSM document.
2693
+ # @return [String]
2694
+ #
2695
+ # @!attribute [rw] document_version
2696
+ # The document version for which you want information.
2697
+ # @return [String]
2698
+ class GetDocumentRequest < Struct.new(
2699
+ :name,
2700
+ :document_version)
2701
+ include Aws::Structure
2702
+ end
2703
+
2704
+ # @!attribute [rw] name
2705
+ # The name of the SSM document.
2706
+ # @return [String]
2707
+ #
2708
+ # @!attribute [rw] document_version
2709
+ # The document version.
2710
+ # @return [String]
2711
+ #
2712
+ # @!attribute [rw] content
2713
+ # The contents of the SSM document.
2714
+ # @return [String]
2715
+ #
2716
+ # @!attribute [rw] document_type
2717
+ # The document type.
2718
+ # @return [String]
2719
+ class GetDocumentResult < Struct.new(
2720
+ :name,
2721
+ :document_version,
2722
+ :content,
2723
+ :document_type)
2724
+ include Aws::Structure
2725
+ end
2726
+
2727
+ # @note When making an API call, pass GetInventoryRequest
2728
+ # data as a hash:
2729
+ #
2730
+ # {
2731
+ # filters: [
2732
+ # {
2733
+ # key: "InventoryFilterKey", # required
2734
+ # values: ["InventoryFilterValue"], # required
2735
+ # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan
2736
+ # },
2737
+ # ],
2738
+ # result_attributes: [
2739
+ # {
2740
+ # type_name: "InventoryItemTypeName", # required
2741
+ # },
2742
+ # ],
2743
+ # next_token: "NextToken",
2744
+ # max_results: 1,
2745
+ # }
2746
+ # @!attribute [rw] filters
2747
+ # One or more filters. Use a filter to return a more specific list of
2748
+ # results.
2749
+ # @return [Array<Types::InventoryFilter>]
2750
+ #
2751
+ # @!attribute [rw] result_attributes
2752
+ # The list of inventory item types to return.
2753
+ # @return [Array<Types::ResultAttribute>]
2754
+ #
2755
+ # @!attribute [rw] next_token
2756
+ # The token for the next set of items to return. (You received this
2757
+ # token from a previous call.)
2758
+ # @return [String]
2759
+ #
2760
+ # @!attribute [rw] max_results
2761
+ # The maximum number of items to return for this call. The call also
2762
+ # returns a token that you can specify in a subsequent call to get the
2763
+ # next set of results.
2764
+ # @return [Integer]
2765
+ class GetInventoryRequest < Struct.new(
2766
+ :filters,
2767
+ :result_attributes,
2768
+ :next_token,
2769
+ :max_results)
2770
+ include Aws::Structure
2771
+ end
2772
+
2773
+ # @!attribute [rw] entities
2774
+ # Collection of inventory entities such as a collection of instance
2775
+ # inventory.
2776
+ # @return [Array<Types::InventoryResultEntity>]
2777
+ #
2778
+ # @!attribute [rw] next_token
2779
+ # The token to use when requesting the next set of items. If there are
2780
+ # no additional items to return, the string is empty.
2781
+ # @return [String]
2782
+ class GetInventoryResult < Struct.new(
2783
+ :entities,
2784
+ :next_token)
2785
+ include Aws::Structure
2786
+ end
2787
+
2788
+ # @note When making an API call, pass GetInventorySchemaRequest
2789
+ # data as a hash:
2790
+ #
2791
+ # {
2792
+ # type_name: "InventoryItemTypeNameFilter",
2793
+ # next_token: "NextToken",
2794
+ # max_results: 1,
2795
+ # }
2796
+ # @!attribute [rw] type_name
2797
+ # The type of inventory item to return.
2798
+ # @return [String]
2799
+ #
2800
+ # @!attribute [rw] next_token
2801
+ # The token for the next set of items to return. (You received this
2802
+ # token from a previous call.)
2803
+ # @return [String]
2804
+ #
2805
+ # @!attribute [rw] max_results
2806
+ # The maximum number of items to return for this call. The call also
2807
+ # returns a token that you can specify in a subsequent call to get the
2808
+ # next set of results.
2809
+ # @return [Integer]
2810
+ class GetInventorySchemaRequest < Struct.new(
2811
+ :type_name,
2812
+ :next_token,
2813
+ :max_results)
2814
+ include Aws::Structure
2815
+ end
2816
+
2817
+ # @!attribute [rw] schemas
2818
+ # Inventory schemas returned by the request.
2819
+ # @return [Array<Types::InventoryItemSchema>]
2820
+ #
2821
+ # @!attribute [rw] next_token
2822
+ # The token to use when requesting the next set of items. If there are
2823
+ # no additional items to return, the string is empty.
2824
+ # @return [String]
2825
+ class GetInventorySchemaResult < Struct.new(
2826
+ :schemas,
2827
+ :next_token)
2828
+ include Aws::Structure
2829
+ end
2830
+
2831
+ # @note When making an API call, pass GetMaintenanceWindowExecutionRequest
2832
+ # data as a hash:
2833
+ #
2834
+ # {
2835
+ # window_execution_id: "MaintenanceWindowExecutionId", # required
2836
+ # }
2837
+ # @!attribute [rw] window_execution_id
2838
+ # The ID of the Maintenance Window execution that includes the task.
2839
+ # @return [String]
2840
+ class GetMaintenanceWindowExecutionRequest < Struct.new(
2841
+ :window_execution_id)
2842
+ include Aws::Structure
2843
+ end
2844
+
2845
+ # @!attribute [rw] window_execution_id
2846
+ # The ID of the Maintenance Window execution.
2847
+ # @return [String]
2848
+ #
2849
+ # @!attribute [rw] task_ids
2850
+ # The ID of the task executions from the Maintenance Window execution.
2851
+ # @return [Array<String>]
2852
+ #
2853
+ # @!attribute [rw] status
2854
+ # The status of the Maintenance Window execution.
2855
+ # @return [String]
2856
+ #
2857
+ # @!attribute [rw] status_details
2858
+ # The details explaining the Status. Only available for certain status
2859
+ # values.
2860
+ # @return [String]
2861
+ #
2862
+ # @!attribute [rw] start_time
2863
+ # The time the Maintenance Window started executing.
2864
+ # @return [Time]
2865
+ #
2866
+ # @!attribute [rw] end_time
2867
+ # The time the Maintenance Window finished executing.
2868
+ # @return [Time]
2869
+ class GetMaintenanceWindowExecutionResult < Struct.new(
2870
+ :window_execution_id,
2871
+ :task_ids,
2872
+ :status,
2873
+ :status_details,
2874
+ :start_time,
2875
+ :end_time)
2876
+ include Aws::Structure
2877
+ end
2878
+
2879
+ # @note When making an API call, pass GetMaintenanceWindowExecutionTaskRequest
2880
+ # data as a hash:
2881
+ #
2882
+ # {
2883
+ # window_execution_id: "MaintenanceWindowExecutionId", # required
2884
+ # task_id: "MaintenanceWindowExecutionTaskId", # required
2885
+ # }
2886
+ # @!attribute [rw] window_execution_id
2887
+ # The ID of the Maintenance Window execution that includes the task.
2888
+ # @return [String]
2889
+ #
2890
+ # @!attribute [rw] task_id
2891
+ # The ID of the specific task execution in the Maintenance Window task
2892
+ # that should be retrieved.
2893
+ # @return [String]
2894
+ class GetMaintenanceWindowExecutionTaskRequest < Struct.new(
2895
+ :window_execution_id,
2896
+ :task_id)
2897
+ include Aws::Structure
2898
+ end
2899
+
2900
+ # @!attribute [rw] window_execution_id
2901
+ # The ID of the Maintenance Window execution that includes the task.
2902
+ # @return [String]
2903
+ #
2904
+ # @!attribute [rw] task_execution_id
2905
+ # The ID of the specific task execution in the Maintenance Window task
2906
+ # that was retrieved.
2907
+ # @return [String]
2908
+ #
2909
+ # @!attribute [rw] task_arn
2910
+ # The ARN of the executed task.
2911
+ # @return [String]
2912
+ #
2913
+ # @!attribute [rw] service_role
2914
+ # The role that was assumed when executing the task.
2915
+ # @return [String]
2916
+ #
2917
+ # @!attribute [rw] type
2918
+ # The type of task executed.
2919
+ # @return [String]
2920
+ #
2921
+ # @!attribute [rw] task_parameters
2922
+ # The parameters passed to the task when it was executed. The map has
2923
+ # the following format:
2924
+ #
2925
+ # Key: string, 1 ≤ length ≤ 255
2926
+ #
2927
+ # Value: an array of strings where each string 1 ≤ length ≤ 255
2928
+ # @return [Array<Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>>]
2929
+ #
2930
+ # @!attribute [rw] priority
2931
+ # The priority of the task.
2932
+ # @return [Integer]
2933
+ #
2934
+ # @!attribute [rw] max_concurrency
2935
+ # The defined maximum number of task executions that could be run in
2936
+ # parallel.
2937
+ # @return [String]
2938
+ #
2939
+ # @!attribute [rw] max_errors
2940
+ # The defined maximum number of task execution errors allowed before
2941
+ # scheduling of the task execution would have been stopped.
2942
+ # @return [String]
2943
+ #
2944
+ # @!attribute [rw] status
2945
+ # The status of the task.
2946
+ # @return [String]
2947
+ #
2948
+ # @!attribute [rw] status_details
2949
+ # The details explaining the Status. Only available for certain status
2950
+ # values.
2951
+ # @return [String]
2952
+ #
2953
+ # @!attribute [rw] start_time
2954
+ # The time the task execution started.
2955
+ # @return [Time]
937
2956
  #
938
- # @!attribute [rw] platform_types
939
- # The list of OS platforms compatible with this SSM document.
940
- # @return [Array<String>]
941
- class DocumentDescription < Struct.new(
942
- :sha_1,
943
- :hash,
944
- :hash_type,
945
- :name,
946
- :owner,
947
- :created_date,
2957
+ # @!attribute [rw] end_time
2958
+ # The time the task execution completed.
2959
+ # @return [Time]
2960
+ class GetMaintenanceWindowExecutionTaskResult < Struct.new(
2961
+ :window_execution_id,
2962
+ :task_execution_id,
2963
+ :task_arn,
2964
+ :service_role,
2965
+ :type,
2966
+ :task_parameters,
2967
+ :priority,
2968
+ :max_concurrency,
2969
+ :max_errors,
948
2970
  :status,
949
- :description,
950
- :parameters,
951
- :platform_types)
2971
+ :status_details,
2972
+ :start_time,
2973
+ :end_time)
952
2974
  include Aws::Structure
953
2975
  end
954
2976
 
955
- # Describes a filter.
956
- # @note When making an API call, pass DocumentFilter
2977
+ # @note When making an API call, pass GetMaintenanceWindowRequest
957
2978
  # data as a hash:
958
2979
  #
959
2980
  # {
960
- # key: "Name", # required, accepts Name, Owner, PlatformTypes
961
- # value: "DocumentFilterValue", # required
2981
+ # window_id: "MaintenanceWindowId", # required
962
2982
  # }
963
- # @!attribute [rw] key
964
- # The name of the filter.
965
- # @return [String]
966
- #
967
- # @!attribute [rw] value
968
- # The value of the filter.
2983
+ # @!attribute [rw] window_id
2984
+ # The ID of the desired Maintenance Window.
969
2985
  # @return [String]
970
- class DocumentFilter < Struct.new(
971
- :key,
972
- :value)
2986
+ class GetMaintenanceWindowRequest < Struct.new(
2987
+ :window_id)
973
2988
  include Aws::Structure
974
2989
  end
975
2990
 
976
- # Describes the name of an SSM document.
2991
+ # @!attribute [rw] window_id
2992
+ # The ID of the created Maintenance Window.
2993
+ # @return [String]
2994
+ #
977
2995
  # @!attribute [rw] name
978
- # The name of the SSM document.
2996
+ # The name of the Maintenance Window.
979
2997
  # @return [String]
980
2998
  #
981
- # @!attribute [rw] owner
982
- # The AWS user account of the person who created the document.
2999
+ # @!attribute [rw] schedule
3000
+ # The schedule of the Maintenance Window in the form of a cron or rate
3001
+ # expression.
983
3002
  # @return [String]
984
3003
  #
985
- # @!attribute [rw] platform_types
986
- # The operating system platform.
987
- # @return [Array<String>]
988
- class DocumentIdentifier < Struct.new(
3004
+ # @!attribute [rw] duration
3005
+ # The duration of the Maintenance Window in hours.
3006
+ # @return [Integer]
3007
+ #
3008
+ # @!attribute [rw] cutoff
3009
+ # The number of hours before the end of the Maintenance Window that
3010
+ # Systems Manager stops scheduling new tasks for execution.
3011
+ # @return [Integer]
3012
+ #
3013
+ # @!attribute [rw] allow_unassociated_targets
3014
+ # Whether targets must be registered with the Maintenance Window
3015
+ # before tasks can be defined for those targets.
3016
+ # @return [Boolean]
3017
+ #
3018
+ # @!attribute [rw] enabled
3019
+ # Whether the Maintenance Windows is enabled.
3020
+ # @return [Boolean]
3021
+ #
3022
+ # @!attribute [rw] created_date
3023
+ # The date the Maintenance Window was created.
3024
+ # @return [Time]
3025
+ #
3026
+ # @!attribute [rw] modified_date
3027
+ # The date the Maintenance Window was last modified.
3028
+ # @return [Time]
3029
+ class GetMaintenanceWindowResult < Struct.new(
3030
+ :window_id,
989
3031
  :name,
990
- :owner,
991
- :platform_types)
3032
+ :schedule,
3033
+ :duration,
3034
+ :cutoff,
3035
+ :allow_unassociated_targets,
3036
+ :enabled,
3037
+ :created_date,
3038
+ :modified_date)
992
3039
  include Aws::Structure
993
3040
  end
994
3041
 
995
- # Parameters specified in the SSM document that execute on the server
996
- # when the command is run.
3042
+ # @note When making an API call, pass GetParameterHistoryRequest
3043
+ # data as a hash:
3044
+ #
3045
+ # {
3046
+ # name: "PSParameterName", # required
3047
+ # with_decryption: false,
3048
+ # max_results: 1,
3049
+ # next_token: "NextToken",
3050
+ # }
997
3051
  # @!attribute [rw] name
998
- # The name of the parameter.
3052
+ # The name of a parameter you want to query.
999
3053
  # @return [String]
1000
3054
  #
1001
- # @!attribute [rw] type
1002
- # The type of parameter. The type can be either “String” or
1003
- # StringList”.
3055
+ # @!attribute [rw] with_decryption
3056
+ # Return decrypted values for secure string parameters. This flag is
3057
+ # ignored for String and StringList parameter types.
3058
+ # @return [Boolean]
3059
+ #
3060
+ # @!attribute [rw] max_results
3061
+ # The maximum number of items to return for this call. The call also
3062
+ # returns a token that you can specify in a subsequent call to get the
3063
+ # next set of results.
3064
+ # @return [Integer]
3065
+ #
3066
+ # @!attribute [rw] next_token
3067
+ # The token for the next set of items to return. (You received this
3068
+ # token from a previous call.)
1004
3069
  # @return [String]
3070
+ class GetParameterHistoryRequest < Struct.new(
3071
+ :name,
3072
+ :with_decryption,
3073
+ :max_results,
3074
+ :next_token)
3075
+ include Aws::Structure
3076
+ end
3077
+
3078
+ # @!attribute [rw] parameters
3079
+ # A list of parameters returned by the request.
3080
+ # @return [Array<Types::ParameterHistory>]
1005
3081
  #
1006
- # @!attribute [rw] description
1007
- # A description of what the parameter does, how to use it, the default
1008
- # value, and whether or not the parameter is optional.
3082
+ # @!attribute [rw] next_token
3083
+ # The token to use when requesting the next set of items. If there are
3084
+ # no additional items to return, the string is empty.
1009
3085
  # @return [String]
3086
+ class GetParameterHistoryResult < Struct.new(
3087
+ :parameters,
3088
+ :next_token)
3089
+ include Aws::Structure
3090
+ end
3091
+
3092
+ # @note When making an API call, pass GetParametersRequest
3093
+ # data as a hash:
1010
3094
  #
1011
- # @!attribute [rw] default_value
1012
- # If specified, the default values for the parameters. Parameters
1013
- # without a default value are required. Parameters with a default
1014
- # value are optional.
3095
+ # {
3096
+ # names: ["PSParameterName"], # required
3097
+ # with_decryption: false,
3098
+ # }
3099
+ # @!attribute [rw] names
3100
+ # Names of the parameters for which you want to query information.
3101
+ # @return [Array<String>]
3102
+ #
3103
+ # @!attribute [rw] with_decryption
3104
+ # Return decrypted secure string value. Return decrypted values for
3105
+ # secure string parameters. This flag is ignored for String and
3106
+ # StringList parameter types.
3107
+ # @return [Boolean]
3108
+ class GetParametersRequest < Struct.new(
3109
+ :names,
3110
+ :with_decryption)
3111
+ include Aws::Structure
3112
+ end
3113
+
3114
+ # @!attribute [rw] parameters
3115
+ # A list of parameters used by the AWS account.
3116
+ # @return [Array<Types::Parameter>]
3117
+ #
3118
+ # @!attribute [rw] invalid_parameters
3119
+ # A list of parameters that are not formatted correctly or do not run
3120
+ # when executed.
3121
+ # @return [Array<String>]
3122
+ class GetParametersResult < Struct.new(
3123
+ :parameters,
3124
+ :invalid_parameters)
3125
+ include Aws::Structure
3126
+ end
3127
+
3128
+ # Status information about the aggregated associations.
3129
+ # @!attribute [rw] detailed_status
3130
+ # Detailed status information about the aggregated associations.
1015
3131
  # @return [String]
1016
- class DocumentParameter < Struct.new(
1017
- :name,
1018
- :type,
1019
- :description,
1020
- :default_value)
3132
+ #
3133
+ # @!attribute [rw] instance_association_status_aggregated_count
3134
+ # The number of associations for the instance(s).
3135
+ # @return [Hash<String,Integer>]
3136
+ class InstanceAggregatedAssociationOverview < Struct.new(
3137
+ :detailed_status,
3138
+ :instance_association_status_aggregated_count)
1021
3139
  include Aws::Structure
1022
3140
  end
1023
3141
 
1024
- # Describes a failed association.
1025
- # @!attribute [rw] entry
1026
- # The association.
1027
- # @return [Types::CreateAssociationBatchRequestEntry]
3142
+ # One or more association documents on the instance.
3143
+ # @!attribute [rw] association_id
3144
+ # The association ID.
3145
+ # @return [String]
1028
3146
  #
1029
- # @!attribute [rw] message
1030
- # A description of the failure.
3147
+ # @!attribute [rw] instance_id
3148
+ # The instance ID.
1031
3149
  # @return [String]
1032
3150
  #
1033
- # @!attribute [rw] fault
1034
- # The source of the failure.
3151
+ # @!attribute [rw] content
3152
+ # The content of the association document for the instance(s).
1035
3153
  # @return [String]
1036
- class FailedCreateAssociation < Struct.new(
1037
- :entry,
1038
- :message,
1039
- :fault)
3154
+ class InstanceAssociation < Struct.new(
3155
+ :association_id,
3156
+ :instance_id,
3157
+ :content)
1040
3158
  include Aws::Structure
1041
3159
  end
1042
3160
 
1043
- # @note When making an API call, pass GetDocumentRequest
3161
+ # An Amazon S3 bucket where you want to store the results of this
3162
+ # request.
3163
+ # @note When making an API call, pass InstanceAssociationOutputLocation
1044
3164
  # data as a hash:
1045
3165
  #
1046
3166
  # {
1047
- # name: "DocumentARN", # required
3167
+ # s3_location: {
3168
+ # output_s3_region: "S3Region",
3169
+ # output_s3_bucket_name: "S3BucketName",
3170
+ # output_s3_key_prefix: "S3KeyPrefix",
3171
+ # },
1048
3172
  # }
1049
- # @!attribute [rw] name
1050
- # The name of the SSM document.
1051
- # @return [String]
1052
- class GetDocumentRequest < Struct.new(
1053
- :name)
3173
+ # @!attribute [rw] s3_location
3174
+ # An Amazon S3 bucket where you want to store the results of this
3175
+ # request.
3176
+ # @return [Types::S3OutputLocation]
3177
+ class InstanceAssociationOutputLocation < Struct.new(
3178
+ :s3_location)
1054
3179
  include Aws::Structure
1055
3180
  end
1056
3181
 
3182
+ # The URL of Amazon S3 bucket where you want to store the results of
3183
+ # this request.
3184
+ # @!attribute [rw] s3_output_url
3185
+ # The URL of Amazon S3 bucket where you want to store the results of
3186
+ # this request.
3187
+ # @return [Types::S3OutputUrl]
3188
+ class InstanceAssociationOutputUrl < Struct.new(
3189
+ :s3_output_url)
3190
+ include Aws::Structure
3191
+ end
3192
+
3193
+ # Status information about the instance association.
3194
+ # @!attribute [rw] association_id
3195
+ # The association ID.
3196
+ # @return [String]
3197
+ #
1057
3198
  # @!attribute [rw] name
1058
- # The name of the SSM document.
3199
+ # The name of the association.
1059
3200
  # @return [String]
1060
3201
  #
1061
- # @!attribute [rw] content
1062
- # The contents of the SSM document.
3202
+ # @!attribute [rw] document_version
3203
+ # The association document verions.
1063
3204
  # @return [String]
1064
- class GetDocumentResult < Struct.new(
3205
+ #
3206
+ # @!attribute [rw] instance_id
3207
+ # The instance ID where the association was created.
3208
+ # @return [String]
3209
+ #
3210
+ # @!attribute [rw] execution_date
3211
+ # The date the instance association executed.
3212
+ # @return [Time]
3213
+ #
3214
+ # @!attribute [rw] status
3215
+ # Status information about the instance association.
3216
+ # @return [String]
3217
+ #
3218
+ # @!attribute [rw] detailed_status
3219
+ # Detailed status information about the instance association.
3220
+ # @return [String]
3221
+ #
3222
+ # @!attribute [rw] execution_summary
3223
+ # Summary information about association execution.
3224
+ # @return [String]
3225
+ #
3226
+ # @!attribute [rw] error_code
3227
+ # An error code returned by the request to create the association.
3228
+ # @return [String]
3229
+ #
3230
+ # @!attribute [rw] output_url
3231
+ # A URL for an Amazon S3 bucket where you want to store the results of
3232
+ # this request.
3233
+ # @return [Types::InstanceAssociationOutputUrl]
3234
+ class InstanceAssociationStatusInfo < Struct.new(
3235
+ :association_id,
1065
3236
  :name,
1066
- :content)
3237
+ :document_version,
3238
+ :instance_id,
3239
+ :execution_date,
3240
+ :status,
3241
+ :detailed_status,
3242
+ :execution_summary,
3243
+ :error_code,
3244
+ :output_url)
1067
3245
  include Aws::Structure
1068
3246
  end
1069
3247
 
@@ -1077,7 +3255,7 @@ module Aws
1077
3255
  # @return [String]
1078
3256
  #
1079
3257
  # @!attribute [rw] last_ping_date_time
1080
- # The date and time when agent last pinged SSM service.
3258
+ # The date and time when agent last pinged Systems Manager service.
1081
3259
  # @return [Time]
1082
3260
  #
1083
3261
  # @!attribute [rw] agent_version
@@ -1102,8 +3280,8 @@ module Aws
1102
3280
  # @return [String]
1103
3281
  #
1104
3282
  # @!attribute [rw] activation_id
1105
- # The activation ID created by SSM when the server or VM was
1106
- # registered.
3283
+ # The activation ID created by Systems Manager when the server or VM
3284
+ # was registered.
1107
3285
  # @return [String]
1108
3286
  #
1109
3287
  # @!attribute [rw] iam_role
@@ -1132,6 +3310,22 @@ module Aws
1132
3310
  # @!attribute [rw] computer_name
1133
3311
  # The fully qualified host name of the managed instance.
1134
3312
  # @return [String]
3313
+ #
3314
+ # @!attribute [rw] association_status
3315
+ # The status of the association.
3316
+ # @return [String]
3317
+ #
3318
+ # @!attribute [rw] last_association_execution_date
3319
+ # The date the association was last executed.
3320
+ # @return [Time]
3321
+ #
3322
+ # @!attribute [rw] last_successful_association_execution_date
3323
+ # The last date the association was successfully run.
3324
+ # @return [Time]
3325
+ #
3326
+ # @!attribute [rw] association_overview
3327
+ # Information about the association.
3328
+ # @return [Types::InstanceAggregatedAssociationOverview]
1135
3329
  class InstanceInformation < Struct.new(
1136
3330
  :instance_id,
1137
3331
  :ping_status,
@@ -1147,7 +3341,11 @@ module Aws
1147
3341
  :resource_type,
1148
3342
  :name,
1149
3343
  :ip_address,
1150
- :computer_name)
3344
+ :computer_name,
3345
+ :association_status,
3346
+ :last_association_execution_date,
3347
+ :last_successful_association_execution_date,
3348
+ :association_overview)
1151
3349
  include Aws::Structure
1152
3350
  end
1153
3351
 
@@ -1156,19 +3354,216 @@ module Aws
1156
3354
  # data as a hash:
1157
3355
  #
1158
3356
  # {
1159
- # key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, ActivationIds, IamRole, ResourceType
3357
+ # key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, ActivationIds, IamRole, ResourceType, AssociationStatus
1160
3358
  # value_set: ["InstanceInformationFilterValue"], # required
1161
3359
  # }
1162
3360
  # @!attribute [rw] key
1163
3361
  # The name of the filter.
1164
3362
  # @return [String]
1165
3363
  #
1166
- # @!attribute [rw] value_set
1167
- # The filter values.
1168
- # @return [Array<String>]
1169
- class InstanceInformationFilter < Struct.new(
1170
- :key,
1171
- :value_set)
3364
+ # @!attribute [rw] value_set
3365
+ # The filter values.
3366
+ # @return [Array<String>]
3367
+ class InstanceInformationFilter < Struct.new(
3368
+ :key,
3369
+ :value_set)
3370
+ include Aws::Structure
3371
+ end
3372
+
3373
+ # The filters to describe or get information about your managed
3374
+ # instances.
3375
+ # @note When making an API call, pass InstanceInformationStringFilter
3376
+ # data as a hash:
3377
+ #
3378
+ # {
3379
+ # key: "InstanceInformationStringFilterKey", # required
3380
+ # values: ["InstanceInformationFilterValue"], # required
3381
+ # }
3382
+ # @!attribute [rw] key
3383
+ # The filter key name to describe your instances. For example:
3384
+ #
3385
+ # "InstanceIds"\|"AgentVersion"\|"PingStatus"\|"PlatformTypes"\|"ActivationIds"\|"IamRole"\|"ResourceType"\|”AssociationStatus”\|”Tag
3386
+ # Key”
3387
+ # @return [String]
3388
+ #
3389
+ # @!attribute [rw] values
3390
+ # The filter values.
3391
+ # @return [Array<String>]
3392
+ class InstanceInformationStringFilter < Struct.new(
3393
+ :key,
3394
+ :values)
3395
+ include Aws::Structure
3396
+ end
3397
+
3398
+ # One or more filters. Use a filter to return a more specific list of
3399
+ # results.
3400
+ # @note When making an API call, pass InventoryFilter
3401
+ # data as a hash:
3402
+ #
3403
+ # {
3404
+ # key: "InventoryFilterKey", # required
3405
+ # values: ["InventoryFilterValue"], # required
3406
+ # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan
3407
+ # }
3408
+ # @!attribute [rw] key
3409
+ # The name of the filter key.
3410
+ # @return [String]
3411
+ #
3412
+ # @!attribute [rw] values
3413
+ # Inventory filter values. Example: inventory filter where instance
3414
+ # IDs are specified as values
3415
+ # Key=AWS:InstanceInformation.InstanceId,Values= i-a12b3c4d5e6g,
3416
+ # i-1a2b3c4d5e6,Type=Equal
3417
+ # @return [Array<String>]
3418
+ #
3419
+ # @!attribute [rw] type
3420
+ # The type of filter. Valid values include the following:
3421
+ # "Equal"\|"NotEqual"\|"BeginWith"\|"LessThan"\|"GreaterThan"
3422
+ # @return [String]
3423
+ class InventoryFilter < Struct.new(
3424
+ :key,
3425
+ :values,
3426
+ :type)
3427
+ include Aws::Structure
3428
+ end
3429
+
3430
+ # Information collected from managed instances based on your inventory
3431
+ # policy document
3432
+ # @note When making an API call, pass InventoryItem
3433
+ # data as a hash:
3434
+ #
3435
+ # {
3436
+ # type_name: "InventoryItemTypeName", # required
3437
+ # schema_version: "InventoryItemSchemaVersion", # required
3438
+ # capture_time: "InventoryItemCaptureTime", # required
3439
+ # content_hash: "InventoryItemContentHash",
3440
+ # content: [
3441
+ # {
3442
+ # "AttributeName" => "AttributeValue",
3443
+ # },
3444
+ # ],
3445
+ # }
3446
+ # @!attribute [rw] type_name
3447
+ # The name of the inventory type. Default inventory item type names
3448
+ # start with `AWS`. Custom inventory type names will start with
3449
+ # `Custom`. Default inventory item types include the following:
3450
+ # `AWS:AWSComponent`, `AWS:Application`, `AWS:InstanceInformation`,
3451
+ # `AWS:Network`, and `AWS:WindowsUpdate`.
3452
+ # @return [String]
3453
+ #
3454
+ # @!attribute [rw] schema_version
3455
+ # The schema version for the inventory item.
3456
+ # @return [String]
3457
+ #
3458
+ # @!attribute [rw] capture_time
3459
+ # The time the inventory information was collected.
3460
+ # @return [String]
3461
+ #
3462
+ # @!attribute [rw] content_hash
3463
+ # MD5 hash of the inventory item type contents. The content hash is
3464
+ # used to determine whether to update inventory information. The
3465
+ # `PutInventory` API does not update the inventory item type contents
3466
+ # if the MD5 hash has not changed since last update.
3467
+ # @return [String]
3468
+ #
3469
+ # @!attribute [rw] content
3470
+ # The inventory data of the inventory type.
3471
+ # @return [Array<Hash<String,String>>]
3472
+ class InventoryItem < Struct.new(
3473
+ :type_name,
3474
+ :schema_version,
3475
+ :capture_time,
3476
+ :content_hash,
3477
+ :content)
3478
+ include Aws::Structure
3479
+ end
3480
+
3481
+ # Attributes are the entries within the inventory item content. It
3482
+ # contains name and value.
3483
+ # @!attribute [rw] name
3484
+ # Name of the inventory item attribute.
3485
+ # @return [String]
3486
+ #
3487
+ # @!attribute [rw] data_type
3488
+ # The data type of the inventory item attribute.
3489
+ # @return [String]
3490
+ class InventoryItemAttribute < Struct.new(
3491
+ :name,
3492
+ :data_type)
3493
+ include Aws::Structure
3494
+ end
3495
+
3496
+ # The inventory item schema definition. Users can use this to compose
3497
+ # inventory query filters.
3498
+ # @!attribute [rw] type_name
3499
+ # The name of the inventory type. Default inventory item type names
3500
+ # start with `AWS`. Custom inventory type names will start with
3501
+ # `Custom`. Default inventory item types include the following:
3502
+ # `AWS:AWSComponent`, `AWS:Application`, `AWS:InstanceInformation`,
3503
+ # `AWS:Network`, and `AWS:WindowsUpdate`.
3504
+ # @return [String]
3505
+ #
3506
+ # @!attribute [rw] version
3507
+ # The schema version for the inventory item.
3508
+ # @return [String]
3509
+ #
3510
+ # @!attribute [rw] attributes
3511
+ # The schema attributes for inventory. This contains data type and
3512
+ # attribute name.
3513
+ # @return [Array<Types::InventoryItemAttribute>]
3514
+ class InventoryItemSchema < Struct.new(
3515
+ :type_name,
3516
+ :version,
3517
+ :attributes)
3518
+ include Aws::Structure
3519
+ end
3520
+
3521
+ # Inventory query results.
3522
+ # @!attribute [rw] id
3523
+ # ID of the inventory result entity. For example, for managed instance
3524
+ # inventory the result will be the managed instance ID. For EC2
3525
+ # instance inventory, the result will be the instance ID.
3526
+ # @return [String]
3527
+ #
3528
+ # @!attribute [rw] data
3529
+ # The data section in the inventory result entity json.
3530
+ # @return [Hash<String,Types::InventoryResultItem>]
3531
+ class InventoryResultEntity < Struct.new(
3532
+ :id,
3533
+ :data)
3534
+ include Aws::Structure
3535
+ end
3536
+
3537
+ # The inventory result item.
3538
+ # @!attribute [rw] type_name
3539
+ # The name of the inventory result item type.
3540
+ # @return [String]
3541
+ #
3542
+ # @!attribute [rw] schema_version
3543
+ # The schema version for the inventory result item/
3544
+ # @return [String]
3545
+ #
3546
+ # @!attribute [rw] capture_time
3547
+ # The time inventory item data was captured.
3548
+ # @return [String]
3549
+ #
3550
+ # @!attribute [rw] content_hash
3551
+ # MD5 hash of the inventory item type contents. The content hash is
3552
+ # used to determine whether to update inventory information. The
3553
+ # `PutInventory` API does not update the inventory item type contents
3554
+ # if the MD5 hash has not changed since last update.
3555
+ # @return [String]
3556
+ #
3557
+ # @!attribute [rw] content
3558
+ # Contains all the inventory data of the item type. Results include
3559
+ # attribute names and values.
3560
+ # @return [Array<Hash<String,String>>]
3561
+ class InventoryResultItem < Struct.new(
3562
+ :type_name,
3563
+ :schema_version,
3564
+ :capture_time,
3565
+ :content_hash,
3566
+ :content)
1172
3567
  include Aws::Structure
1173
3568
  end
1174
3569
 
@@ -1176,9 +3571,9 @@ module Aws
1176
3571
  # data as a hash:
1177
3572
  #
1178
3573
  # {
1179
- # association_filter_list: [ # required
3574
+ # association_filter_list: [
1180
3575
  # {
1181
- # key: "InstanceId", # required, accepts InstanceId, Name
3576
+ # key: "InstanceId", # required, accepts InstanceId, Name, AssociationId, AssociationStatusName, LastExecutedBefore, LastExecutedAfter
1182
3577
  # value: "AssociationFilterValue", # required
1183
3578
  # },
1184
3579
  # ],
@@ -1350,13 +3745,56 @@ module Aws
1350
3745
  include Aws::Structure
1351
3746
  end
1352
3747
 
3748
+ # @note When making an API call, pass ListDocumentVersionsRequest
3749
+ # data as a hash:
3750
+ #
3751
+ # {
3752
+ # name: "DocumentName", # required
3753
+ # max_results: 1,
3754
+ # next_token: "NextToken",
3755
+ # }
3756
+ # @!attribute [rw] name
3757
+ # The name of the document about which you want version information.
3758
+ # @return [String]
3759
+ #
3760
+ # @!attribute [rw] max_results
3761
+ # The maximum number of items to return for this call. The call also
3762
+ # returns a token that you can specify in a subsequent call to get the
3763
+ # next set of results.
3764
+ # @return [Integer]
3765
+ #
3766
+ # @!attribute [rw] next_token
3767
+ # The token for the next set of items to return. (You received this
3768
+ # token from a previous call.)
3769
+ # @return [String]
3770
+ class ListDocumentVersionsRequest < Struct.new(
3771
+ :name,
3772
+ :max_results,
3773
+ :next_token)
3774
+ include Aws::Structure
3775
+ end
3776
+
3777
+ # @!attribute [rw] document_versions
3778
+ # The document versions.
3779
+ # @return [Array<Types::DocumentVersionInfo>]
3780
+ #
3781
+ # @!attribute [rw] next_token
3782
+ # The token to use when requesting the next set of items. If there are
3783
+ # no additional items to return, the string is empty.
3784
+ # @return [String]
3785
+ class ListDocumentVersionsResult < Struct.new(
3786
+ :document_versions,
3787
+ :next_token)
3788
+ include Aws::Structure
3789
+ end
3790
+
1353
3791
  # @note When making an API call, pass ListDocumentsRequest
1354
3792
  # data as a hash:
1355
3793
  #
1356
3794
  # {
1357
3795
  # document_filter_list: [
1358
3796
  # {
1359
- # key: "Name", # required, accepts Name, Owner, PlatformTypes
3797
+ # key: "Name", # required, accepts Name, Owner, PlatformTypes, DocumentType
1360
3798
  # value: "DocumentFilterValue", # required
1361
3799
  # },
1362
3800
  # ],
@@ -1368,62 +3806,492 @@ module Aws
1368
3806
  # results.
1369
3807
  # @return [Array<Types::DocumentFilter>]
1370
3808
  #
1371
- # @!attribute [rw] max_results
1372
- # The maximum number of items to return for this call. The call also
1373
- # returns a token that you can specify in a subsequent call to get the
1374
- # next set of results.
3809
+ # @!attribute [rw] max_results
3810
+ # The maximum number of items to return for this call. The call also
3811
+ # returns a token that you can specify in a subsequent call to get the
3812
+ # next set of results.
3813
+ # @return [Integer]
3814
+ #
3815
+ # @!attribute [rw] next_token
3816
+ # The token for the next set of items to return. (You received this
3817
+ # token from a previous call.)
3818
+ # @return [String]
3819
+ class ListDocumentsRequest < Struct.new(
3820
+ :document_filter_list,
3821
+ :max_results,
3822
+ :next_token)
3823
+ include Aws::Structure
3824
+ end
3825
+
3826
+ # @!attribute [rw] document_identifiers
3827
+ # The names of the SSM documents.
3828
+ # @return [Array<Types::DocumentIdentifier>]
3829
+ #
3830
+ # @!attribute [rw] next_token
3831
+ # The token to use when requesting the next set of items. If there are
3832
+ # no additional items to return, the string is empty.
3833
+ # @return [String]
3834
+ class ListDocumentsResult < Struct.new(
3835
+ :document_identifiers,
3836
+ :next_token)
3837
+ include Aws::Structure
3838
+ end
3839
+
3840
+ # @note When making an API call, pass ListInventoryEntriesRequest
3841
+ # data as a hash:
3842
+ #
3843
+ # {
3844
+ # instance_id: "InstanceId", # required
3845
+ # type_name: "InventoryItemTypeName", # required
3846
+ # filters: [
3847
+ # {
3848
+ # key: "InventoryFilterKey", # required
3849
+ # values: ["InventoryFilterValue"], # required
3850
+ # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan
3851
+ # },
3852
+ # ],
3853
+ # next_token: "NextToken",
3854
+ # max_results: 1,
3855
+ # }
3856
+ # @!attribute [rw] instance_id
3857
+ # The instance ID for which you want inventory information.
3858
+ # @return [String]
3859
+ #
3860
+ # @!attribute [rw] type_name
3861
+ # The type of inventory item for which you want information.
3862
+ # @return [String]
3863
+ #
3864
+ # @!attribute [rw] filters
3865
+ # One or more filters. Use a filter to return a more specific list of
3866
+ # results.
3867
+ # @return [Array<Types::InventoryFilter>]
3868
+ #
3869
+ # @!attribute [rw] next_token
3870
+ # The token for the next set of items to return. (You received this
3871
+ # token from a previous call.)
3872
+ # @return [String]
3873
+ #
3874
+ # @!attribute [rw] max_results
3875
+ # The maximum number of items to return for this call. The call also
3876
+ # returns a token that you can specify in a subsequent call to get the
3877
+ # next set of results.
3878
+ # @return [Integer]
3879
+ class ListInventoryEntriesRequest < Struct.new(
3880
+ :instance_id,
3881
+ :type_name,
3882
+ :filters,
3883
+ :next_token,
3884
+ :max_results)
3885
+ include Aws::Structure
3886
+ end
3887
+
3888
+ # @!attribute [rw] type_name
3889
+ # The type of inventory item returned by the request.
3890
+ # @return [String]
3891
+ #
3892
+ # @!attribute [rw] instance_id
3893
+ # The instance ID targeted by the request to query inventory
3894
+ # information.
3895
+ # @return [String]
3896
+ #
3897
+ # @!attribute [rw] schema_version
3898
+ # The inventory schema version used by the instance(s).
3899
+ # @return [String]
3900
+ #
3901
+ # @!attribute [rw] capture_time
3902
+ # The time that inventory information was collected for the
3903
+ # instance(s).
3904
+ # @return [String]
3905
+ #
3906
+ # @!attribute [rw] entries
3907
+ # A list of inventory items on the instance(s).
3908
+ # @return [Array<Hash<String,String>>]
3909
+ #
3910
+ # @!attribute [rw] next_token
3911
+ # The token to use when requesting the next set of items. If there are
3912
+ # no additional items to return, the string is empty.
3913
+ # @return [String]
3914
+ class ListInventoryEntriesResult < Struct.new(
3915
+ :type_name,
3916
+ :instance_id,
3917
+ :schema_version,
3918
+ :capture_time,
3919
+ :entries,
3920
+ :next_token)
3921
+ include Aws::Structure
3922
+ end
3923
+
3924
+ # @note When making an API call, pass ListTagsForResourceRequest
3925
+ # data as a hash:
3926
+ #
3927
+ # {
3928
+ # resource_type: "ManagedInstance", # required, accepts ManagedInstance, MaintenanceWindow, Parameter
3929
+ # resource_id: "ResourceId", # required
3930
+ # }
3931
+ # @!attribute [rw] resource_type
3932
+ # Returns a list of tags for a specific resource type.
3933
+ # @return [String]
3934
+ #
3935
+ # @!attribute [rw] resource_id
3936
+ # The resource ID for which you want to see a list of tags.
3937
+ # @return [String]
3938
+ class ListTagsForResourceRequest < Struct.new(
3939
+ :resource_type,
3940
+ :resource_id)
3941
+ include Aws::Structure
3942
+ end
3943
+
3944
+ # @!attribute [rw] tag_list
3945
+ # A list of tags.
3946
+ # @return [Array<Types::Tag>]
3947
+ class ListTagsForResourceResult < Struct.new(
3948
+ :tag_list)
3949
+ include Aws::Structure
3950
+ end
3951
+
3952
+ # Information about an Amazon S3 bucket to write instance-level logs to.
3953
+ # @note When making an API call, pass LoggingInfo
3954
+ # data as a hash:
3955
+ #
3956
+ # {
3957
+ # s3_bucket_name: "S3BucketName", # required
3958
+ # s3_key_prefix: "S3KeyPrefix",
3959
+ # s3_region: "S3Region", # required
3960
+ # }
3961
+ # @!attribute [rw] s3_bucket_name
3962
+ # The name of an Amazon S3 bucket where execution logs are stored .
3963
+ # @return [String]
3964
+ #
3965
+ # @!attribute [rw] s3_key_prefix
3966
+ # (Optional) The Amazon S3 bucket subfolder.
3967
+ # @return [String]
3968
+ #
3969
+ # @!attribute [rw] s3_region
3970
+ # The region where the Amazon S3 bucket is located.
3971
+ # @return [String]
3972
+ class LoggingInfo < Struct.new(
3973
+ :s3_bucket_name,
3974
+ :s3_key_prefix,
3975
+ :s3_region)
3976
+ include Aws::Structure
3977
+ end
3978
+
3979
+ # Describes the information about an execution of a Maintenance Window.
3980
+ # @!attribute [rw] window_id
3981
+ # The ID of the Maintenance Window.
3982
+ # @return [String]
3983
+ #
3984
+ # @!attribute [rw] window_execution_id
3985
+ # The ID of the Maintenance Window execution.
3986
+ # @return [String]
3987
+ #
3988
+ # @!attribute [rw] status
3989
+ # The status of the execution.
3990
+ # @return [String]
3991
+ #
3992
+ # @!attribute [rw] status_details
3993
+ # The details explaining the Status. Only available for certain status
3994
+ # values.
3995
+ # @return [String]
3996
+ #
3997
+ # @!attribute [rw] start_time
3998
+ # The time the execution started.
3999
+ # @return [Time]
4000
+ #
4001
+ # @!attribute [rw] end_time
4002
+ # The time the execution finished.
4003
+ # @return [Time]
4004
+ class MaintenanceWindowExecution < Struct.new(
4005
+ :window_id,
4006
+ :window_execution_id,
4007
+ :status,
4008
+ :status_details,
4009
+ :start_time,
4010
+ :end_time)
4011
+ include Aws::Structure
4012
+ end
4013
+
4014
+ # Information about a task execution performed as part of a Maintenance
4015
+ # Window execution.
4016
+ # @!attribute [rw] window_execution_id
4017
+ # The ID of the Maintenance Window execution that ran the task.
4018
+ # @return [String]
4019
+ #
4020
+ # @!attribute [rw] task_execution_id
4021
+ # The ID of the specific task execution in the Maintenance Window
4022
+ # execution.
4023
+ # @return [String]
4024
+ #
4025
+ # @!attribute [rw] status
4026
+ # The status of the task execution.
4027
+ # @return [String]
4028
+ #
4029
+ # @!attribute [rw] status_details
4030
+ # The details explaining the status of the task execution. Only
4031
+ # available for certain status values.
4032
+ # @return [String]
4033
+ #
4034
+ # @!attribute [rw] start_time
4035
+ # The time the task execution started.
4036
+ # @return [Time]
4037
+ #
4038
+ # @!attribute [rw] end_time
4039
+ # The time the task execution finished.
4040
+ # @return [Time]
4041
+ #
4042
+ # @!attribute [rw] task_arn
4043
+ # The ARN of the executed task.
4044
+ # @return [String]
4045
+ #
4046
+ # @!attribute [rw] task_type
4047
+ # The type of executed task.
4048
+ # @return [String]
4049
+ class MaintenanceWindowExecutionTaskIdentity < Struct.new(
4050
+ :window_execution_id,
4051
+ :task_execution_id,
4052
+ :status,
4053
+ :status_details,
4054
+ :start_time,
4055
+ :end_time,
4056
+ :task_arn,
4057
+ :task_type)
4058
+ include Aws::Structure
4059
+ end
4060
+
4061
+ # Describes the information about a task invocation for a particular
4062
+ # target as part of a task execution performed as part of a Maintenance
4063
+ # Window execution.
4064
+ # @!attribute [rw] window_execution_id
4065
+ # The ID of the Maintenance Window execution that ran the task.
4066
+ # @return [String]
4067
+ #
4068
+ # @!attribute [rw] task_execution_id
4069
+ # The ID of the specific task execution in the Maintenance Window
4070
+ # execution.
4071
+ # @return [String]
4072
+ #
4073
+ # @!attribute [rw] invocation_id
4074
+ # The ID of the task invocation.
4075
+ # @return [String]
4076
+ #
4077
+ # @!attribute [rw] execution_id
4078
+ # The ID of the action performed in the service that actually handled
4079
+ # the task invocation. If the task type is RUN\_COMMAND, this value is
4080
+ # the command ID.
4081
+ # @return [String]
4082
+ #
4083
+ # @!attribute [rw] parameters
4084
+ # The parameters that were provided for the invocation when it was
4085
+ # executed.
4086
+ # @return [String]
4087
+ #
4088
+ # @!attribute [rw] status
4089
+ # The status of the task invocation.
4090
+ # @return [String]
4091
+ #
4092
+ # @!attribute [rw] status_details
4093
+ # The details explaining the status of the task invocation. Only
4094
+ # available for certain Status values.
4095
+ # @return [String]
4096
+ #
4097
+ # @!attribute [rw] start_time
4098
+ # The time the invocation started.
4099
+ # @return [Time]
4100
+ #
4101
+ # @!attribute [rw] end_time
4102
+ # The time the invocation finished.
4103
+ # @return [Time]
4104
+ #
4105
+ # @!attribute [rw] owner_information
4106
+ # User-provided value that was specified when the target was
4107
+ # registered with the Maintenance Window. This was also included in
4108
+ # any CloudWatch events raised during the task invocation.
4109
+ # @return [String]
4110
+ #
4111
+ # @!attribute [rw] window_target_id
4112
+ # The ID of the target definition in this Maintenance Window the
4113
+ # invocation was performed for.
4114
+ # @return [String]
4115
+ class MaintenanceWindowExecutionTaskInvocationIdentity < Struct.new(
4116
+ :window_execution_id,
4117
+ :task_execution_id,
4118
+ :invocation_id,
4119
+ :execution_id,
4120
+ :parameters,
4121
+ :status,
4122
+ :status_details,
4123
+ :start_time,
4124
+ :end_time,
4125
+ :owner_information,
4126
+ :window_target_id)
4127
+ include Aws::Structure
4128
+ end
4129
+
4130
+ # Filter used in the request.
4131
+ # @note When making an API call, pass MaintenanceWindowFilter
4132
+ # data as a hash:
4133
+ #
4134
+ # {
4135
+ # key: "MaintenanceWindowFilterKey",
4136
+ # values: ["MaintenanceWindowFilterValue"],
4137
+ # }
4138
+ # @!attribute [rw] key
4139
+ # The name of the filter.
4140
+ # @return [String]
4141
+ #
4142
+ # @!attribute [rw] values
4143
+ # The filter values.
4144
+ # @return [Array<String>]
4145
+ class MaintenanceWindowFilter < Struct.new(
4146
+ :key,
4147
+ :values)
4148
+ include Aws::Structure
4149
+ end
4150
+
4151
+ # Information about the Maintenance Window.
4152
+ # @!attribute [rw] window_id
4153
+ # The ID of the Maintenance Window.
4154
+ # @return [String]
4155
+ #
4156
+ # @!attribute [rw] name
4157
+ # The name of the Maintenance Window.
4158
+ # @return [String]
4159
+ #
4160
+ # @!attribute [rw] enabled
4161
+ # Whether the Maintenance Window is enabled.
4162
+ # @return [Boolean]
4163
+ #
4164
+ # @!attribute [rw] duration
4165
+ # The duration of the Maintenance Window in hours.
1375
4166
  # @return [Integer]
1376
4167
  #
1377
- # @!attribute [rw] next_token
1378
- # The token for the next set of items to return. (You received this
1379
- # token from a previous call.)
1380
- # @return [String]
1381
- class ListDocumentsRequest < Struct.new(
1382
- :document_filter_list,
1383
- :max_results,
1384
- :next_token)
4168
+ # @!attribute [rw] cutoff
4169
+ # The number of hours before the end of the Maintenance Window that
4170
+ # Systems Manager stops scheduling new tasks for execution.
4171
+ # @return [Integer]
4172
+ class MaintenanceWindowIdentity < Struct.new(
4173
+ :window_id,
4174
+ :name,
4175
+ :enabled,
4176
+ :duration,
4177
+ :cutoff)
1385
4178
  include Aws::Structure
1386
4179
  end
1387
4180
 
1388
- # @!attribute [rw] document_identifiers
1389
- # The names of the SSM documents.
1390
- # @return [Array<Types::DocumentIdentifier>]
4181
+ # The target registered with the Maintenance Window.
4182
+ # @!attribute [rw] window_id
4183
+ # The Maintenance Window ID where the target is registered.
4184
+ # @return [String]
1391
4185
  #
1392
- # @!attribute [rw] next_token
1393
- # The token to use when requesting the next set of items. If there are
1394
- # no additional items to return, the string is empty.
4186
+ # @!attribute [rw] window_target_id
4187
+ # The ID of the target.
1395
4188
  # @return [String]
1396
- class ListDocumentsResult < Struct.new(
1397
- :document_identifiers,
1398
- :next_token)
4189
+ #
4190
+ # @!attribute [rw] resource_type
4191
+ # The type of target.
4192
+ # @return [String]
4193
+ #
4194
+ # @!attribute [rw] targets
4195
+ # The targets (either instances or tags). Instances are specified
4196
+ # using
4197
+ # Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags
4198
+ # are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.
4199
+ # @return [Array<Types::Target>]
4200
+ #
4201
+ # @!attribute [rw] owner_information
4202
+ # User-provided value that will be included in any CloudWatch events
4203
+ # raised while running tasks for these targets in this Maintenance
4204
+ # Window.
4205
+ # @return [String]
4206
+ class MaintenanceWindowTarget < Struct.new(
4207
+ :window_id,
4208
+ :window_target_id,
4209
+ :resource_type,
4210
+ :targets,
4211
+ :owner_information)
1399
4212
  include Aws::Structure
1400
4213
  end
1401
4214
 
1402
- # @note When making an API call, pass ListTagsForResourceRequest
1403
- # data as a hash:
4215
+ # Information about a task defined for a Maintenance Window.
4216
+ # @!attribute [rw] window_id
4217
+ # The Maintenance Window ID where the task is registered.
4218
+ # @return [String]
1404
4219
  #
1405
- # {
1406
- # resource_type: "ManagedInstance", # required, accepts ManagedInstance
1407
- # resource_id: "ResourceId", # required
1408
- # }
1409
- # @!attribute [rw] resource_type
1410
- # Returns a list of tags for a specific resource type.
4220
+ # @!attribute [rw] window_task_id
4221
+ # The task ID.
1411
4222
  # @return [String]
1412
4223
  #
1413
- # @!attribute [rw] resource_id
1414
- # The resource ID for which you want to see a list of tags.
4224
+ # @!attribute [rw] task_arn
4225
+ # The ARN of the task to execute.
1415
4226
  # @return [String]
1416
- class ListTagsForResourceRequest < Struct.new(
1417
- :resource_type,
1418
- :resource_id)
4227
+ #
4228
+ # @!attribute [rw] type
4229
+ # The type of task.
4230
+ # @return [String]
4231
+ #
4232
+ # @!attribute [rw] targets
4233
+ # The targets (either instances or tags). Instances are specified
4234
+ # using
4235
+ # Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags
4236
+ # are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.
4237
+ # @return [Array<Types::Target>]
4238
+ #
4239
+ # @!attribute [rw] task_parameters
4240
+ # The parameters that should be passed to the task when it is
4241
+ # executed.
4242
+ # @return [Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>]
4243
+ #
4244
+ # @!attribute [rw] priority
4245
+ # The priority of the task in the Maintenance Window, the lower the
4246
+ # number the higher the priority. Tasks in a Maintenance Window are
4247
+ # scheduled in priority order with tasks that have the same priority
4248
+ # scheduled in parallel.
4249
+ # @return [Integer]
4250
+ #
4251
+ # @!attribute [rw] logging_info
4252
+ # Information about an Amazon S3 bucket to write task-level logs to.
4253
+ # @return [Types::LoggingInfo]
4254
+ #
4255
+ # @!attribute [rw] service_role_arn
4256
+ # The role that should be assumed when executing the task
4257
+ # @return [String]
4258
+ #
4259
+ # @!attribute [rw] max_concurrency
4260
+ # The maximum number of targets this task can be run for in parallel.
4261
+ # @return [String]
4262
+ #
4263
+ # @!attribute [rw] max_errors
4264
+ # The maximum number of errors allowed before this task stops being
4265
+ # scheduled.
4266
+ # @return [String]
4267
+ class MaintenanceWindowTask < Struct.new(
4268
+ :window_id,
4269
+ :window_task_id,
4270
+ :task_arn,
4271
+ :type,
4272
+ :targets,
4273
+ :task_parameters,
4274
+ :priority,
4275
+ :logging_info,
4276
+ :service_role_arn,
4277
+ :max_concurrency,
4278
+ :max_errors)
1419
4279
  include Aws::Structure
1420
4280
  end
1421
4281
 
1422
- # @!attribute [rw] tag_list
1423
- # A list of tags.
1424
- # @return [Array<Types::Tag>]
1425
- class ListTagsForResourceResult < Struct.new(
1426
- :tag_list)
4282
+ # Defines the values for a task parameter.
4283
+ # @note When making an API call, pass MaintenanceWindowTaskParameterValueExpression
4284
+ # data as a hash:
4285
+ #
4286
+ # {
4287
+ # values: ["MaintenanceWindowTaskParameterValue"],
4288
+ # }
4289
+ # @!attribute [rw] values
4290
+ # This field contains an array of 0 or more strings, each 1 to 255
4291
+ # characters in length.
4292
+ # @return [Array<String>]
4293
+ class MaintenanceWindowTaskParameterValueExpression < Struct.new(
4294
+ :values)
1427
4295
  include Aws::Structure
1428
4296
  end
1429
4297
 
@@ -1478,32 +4346,399 @@ module Aws
1478
4346
  # }
1479
4347
  # @!attribute [rw] notification_arn
1480
4348
  # An Amazon Resource Name (ARN) for a Simple Notification Service
1481
- # (SNS) topic. SSM pushes notifications about command status changes
1482
- # to this topic.
4349
+ # (SNS) topic. Run Command pushes notifications about command status
4350
+ # changes to this topic.
4351
+ # @return [String]
4352
+ #
4353
+ # @!attribute [rw] notification_events
4354
+ # The different events for which you can receive notifications. These
4355
+ # events include the following: All (events), InProgress, Success,
4356
+ # TimedOut, Cancelled, Failed. To learn more about these events, see
4357
+ # [Monitoring Commands][1] in the <i>Amazon Elastic Compute Cloud User
4358
+ # Guide </i>.
4359
+ #
4360
+ #
4361
+ #
4362
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html
4363
+ # @return [Array<String>]
4364
+ #
4365
+ # @!attribute [rw] notification_type
4366
+ # Command: Receive notification when the status of a command changes.
4367
+ # Invocation: For commands sent to multiple instances, receive
4368
+ # notification on a per-instance basis when the status of a command
4369
+ # changes.
4370
+ # @return [String]
4371
+ class NotificationConfig < Struct.new(
4372
+ :notification_arn,
4373
+ :notification_events,
4374
+ :notification_type)
4375
+ include Aws::Structure
4376
+ end
4377
+
4378
+ # An Amazon EC2 Systems Manager parameter in Parameter Store.
4379
+ # @!attribute [rw] name
4380
+ # The name of the parameter.
4381
+ # @return [String]
4382
+ #
4383
+ # @!attribute [rw] type
4384
+ # The type of parameter. Valid values include the following: String,
4385
+ # String list, Secure string.
4386
+ # @return [String]
4387
+ #
4388
+ # @!attribute [rw] value
4389
+ # The parameter value.
4390
+ # @return [String]
4391
+ class Parameter < Struct.new(
4392
+ :name,
4393
+ :type,
4394
+ :value)
4395
+ include Aws::Structure
4396
+ end
4397
+
4398
+ # Information about parameter usage.
4399
+ # @!attribute [rw] name
4400
+ # The name of the parameter.
4401
+ # @return [String]
4402
+ #
4403
+ # @!attribute [rw] type
4404
+ # The type of parameter used.
4405
+ # @return [String]
4406
+ #
4407
+ # @!attribute [rw] key_id
4408
+ # The ID of the query key used for this parameter.
4409
+ # @return [String]
4410
+ #
4411
+ # @!attribute [rw] last_modified_date
4412
+ # Date the parameter was last changed or updated.
4413
+ # @return [Time]
4414
+ #
4415
+ # @!attribute [rw] last_modified_user
4416
+ # Amazon Resource Name (ARN) of the AWS user who last changed the
4417
+ # parameter.
4418
+ # @return [String]
4419
+ #
4420
+ # @!attribute [rw] description
4421
+ # Information about the parameter.
4422
+ # @return [String]
4423
+ #
4424
+ # @!attribute [rw] value
4425
+ # The parameter value.
1483
4426
  # @return [String]
4427
+ class ParameterHistory < Struct.new(
4428
+ :name,
4429
+ :type,
4430
+ :key_id,
4431
+ :last_modified_date,
4432
+ :last_modified_user,
4433
+ :description,
4434
+ :value)
4435
+ include Aws::Structure
4436
+ end
4437
+
4438
+ # Metada includes information like the ARN of the last user and the
4439
+ # date/time the parameter was last used.
4440
+ # @!attribute [rw] name
4441
+ # The parameter name.
4442
+ # @return [String]
4443
+ #
4444
+ # @!attribute [rw] type
4445
+ # The type of parameter. Valid parameter types include the following:
4446
+ # String, String list, Secure string.
4447
+ # @return [String]
4448
+ #
4449
+ # @!attribute [rw] key_id
4450
+ # The ID of the query key used for this parameter.
4451
+ # @return [String]
4452
+ #
4453
+ # @!attribute [rw] last_modified_date
4454
+ # Date the parameter was last changed or updated.
4455
+ # @return [Time]
4456
+ #
4457
+ # @!attribute [rw] last_modified_user
4458
+ # Amazon Resource Name (ARN) of the AWS user who last changed the
4459
+ # parameter.
4460
+ # @return [String]
4461
+ #
4462
+ # @!attribute [rw] description
4463
+ # Description of the parameter actions.
4464
+ # @return [String]
4465
+ class ParameterMetadata < Struct.new(
4466
+ :name,
4467
+ :type,
4468
+ :key_id,
4469
+ :last_modified_date,
4470
+ :last_modified_user,
4471
+ :description)
4472
+ include Aws::Structure
4473
+ end
4474
+
4475
+ # One or more filters. Use a filter to return a more specific list of
4476
+ # results.
4477
+ # @note When making an API call, pass ParametersFilter
4478
+ # data as a hash:
4479
+ #
4480
+ # {
4481
+ # key: "Name", # accepts Name, Type, KeyId
4482
+ # values: ["ParametersFilterValue"], # required
4483
+ # }
4484
+ # @!attribute [rw] key
4485
+ # The name of the filter.
4486
+ # @return [String]
4487
+ #
4488
+ # @!attribute [rw] values
4489
+ # The filter values.
4490
+ # @return [Array<String>]
4491
+ class ParametersFilter < Struct.new(
4492
+ :key,
4493
+ :values)
4494
+ include Aws::Structure
4495
+ end
4496
+
4497
+ # @note When making an API call, pass PutInventoryRequest
4498
+ # data as a hash:
4499
+ #
4500
+ # {
4501
+ # instance_id: "InstanceId", # required
4502
+ # items: [ # required
4503
+ # {
4504
+ # type_name: "InventoryItemTypeName", # required
4505
+ # schema_version: "InventoryItemSchemaVersion", # required
4506
+ # capture_time: "InventoryItemCaptureTime", # required
4507
+ # content_hash: "InventoryItemContentHash",
4508
+ # content: [
4509
+ # {
4510
+ # "AttributeName" => "AttributeValue",
4511
+ # },
4512
+ # ],
4513
+ # },
4514
+ # ],
4515
+ # }
4516
+ # @!attribute [rw] instance_id
4517
+ # One or more instance IDs where you want to add or update inventory
4518
+ # items.
4519
+ # @return [String]
4520
+ #
4521
+ # @!attribute [rw] items
4522
+ # The inventory items that you want to add or update on instances.
4523
+ # @return [Array<Types::InventoryItem>]
4524
+ class PutInventoryRequest < Struct.new(
4525
+ :instance_id,
4526
+ :items)
4527
+ include Aws::Structure
4528
+ end
4529
+
4530
+ class PutInventoryResult < Aws::EmptyStructure; end
4531
+
4532
+ # @note When making an API call, pass PutParameterRequest
4533
+ # data as a hash:
4534
+ #
4535
+ # {
4536
+ # name: "PSParameterName", # required
4537
+ # description: "ParameterDescription",
4538
+ # value: "PSParameterValue", # required
4539
+ # type: "String", # required, accepts String, StringList, SecureString
4540
+ # key_id: "ParameterKeyId",
4541
+ # overwrite: false,
4542
+ # }
4543
+ # @!attribute [rw] name
4544
+ # The name of the parameter that you want to add to the system.
4545
+ # @return [String]
4546
+ #
4547
+ # @!attribute [rw] description
4548
+ # Information about the parameter that you want to add to the system
4549
+ # @return [String]
4550
+ #
4551
+ # @!attribute [rw] value
4552
+ # The parameter value that you want to add to the system.
4553
+ # @return [String]
4554
+ #
4555
+ # @!attribute [rw] type
4556
+ # The type of parameter that you want to add to the system.
4557
+ # @return [String]
4558
+ #
4559
+ # @!attribute [rw] key_id
4560
+ # The parameter key ID that you want to add to the system.
4561
+ # @return [String]
4562
+ #
4563
+ # @!attribute [rw] overwrite
4564
+ # Overwrite an existing parameter.
4565
+ # @return [Boolean]
4566
+ class PutParameterRequest < Struct.new(
4567
+ :name,
4568
+ :description,
4569
+ :value,
4570
+ :type,
4571
+ :key_id,
4572
+ :overwrite)
4573
+ include Aws::Structure
4574
+ end
4575
+
4576
+ class PutParameterResult < Aws::EmptyStructure; end
4577
+
4578
+ # @note When making an API call, pass RegisterTargetWithMaintenanceWindowRequest
4579
+ # data as a hash:
4580
+ #
4581
+ # {
4582
+ # window_id: "MaintenanceWindowId", # required
4583
+ # resource_type: "INSTANCE", # required, accepts INSTANCE
4584
+ # targets: [ # required
4585
+ # {
4586
+ # key: "TargetKey",
4587
+ # values: ["TargetValue"],
4588
+ # },
4589
+ # ],
4590
+ # owner_information: "OwnerInformation",
4591
+ # client_token: "ClientToken",
4592
+ # }
4593
+ # @!attribute [rw] window_id
4594
+ # The ID of the Maintenance Window the target should be registered
4595
+ # with.
4596
+ # @return [String]
4597
+ #
4598
+ # @!attribute [rw] resource_type
4599
+ # The type of target being registered with the Maintenance Window.
4600
+ # @return [String]
4601
+ #
4602
+ # @!attribute [rw] targets
4603
+ # The targets (either instances or tags). Instances are specified
4604
+ # using
4605
+ # Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags
4606
+ # are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.
4607
+ # @return [Array<Types::Target>]
4608
+ #
4609
+ # @!attribute [rw] owner_information
4610
+ # User-provided value that will be included in any CloudWatch events
4611
+ # raised while running tasks for these targets in this Maintenance
4612
+ # Window.
4613
+ # @return [String]
4614
+ #
4615
+ # @!attribute [rw] client_token
4616
+ # User-provided idempotency token.
4617
+ #
4618
+ # **A suitable default value is auto-generated.** You should
4619
+ # normally not need to pass this option.
4620
+ # @return [String]
4621
+ class RegisterTargetWithMaintenanceWindowRequest < Struct.new(
4622
+ :window_id,
4623
+ :resource_type,
4624
+ :targets,
4625
+ :owner_information,
4626
+ :client_token)
4627
+ include Aws::Structure
4628
+ end
4629
+
4630
+ # @!attribute [rw] window_target_id
4631
+ # The ID of the target definition in this Maintenance Window.
4632
+ # @return [String]
4633
+ class RegisterTargetWithMaintenanceWindowResult < Struct.new(
4634
+ :window_target_id)
4635
+ include Aws::Structure
4636
+ end
4637
+
4638
+ # @note When making an API call, pass RegisterTaskWithMaintenanceWindowRequest
4639
+ # data as a hash:
4640
+ #
4641
+ # {
4642
+ # window_id: "MaintenanceWindowId", # required
4643
+ # targets: [ # required
4644
+ # {
4645
+ # key: "TargetKey",
4646
+ # values: ["TargetValue"],
4647
+ # },
4648
+ # ],
4649
+ # task_arn: "MaintenanceWindowTaskArn", # required
4650
+ # service_role_arn: "ServiceRole", # required
4651
+ # task_type: "RUN_COMMAND", # required, accepts RUN_COMMAND
4652
+ # task_parameters: {
4653
+ # "MaintenanceWindowTaskParameterName" => {
4654
+ # values: ["MaintenanceWindowTaskParameterValue"],
4655
+ # },
4656
+ # },
4657
+ # priority: 1,
4658
+ # max_concurrency: "VelocityConstraint", # required
4659
+ # max_errors: "VelocityConstraint", # required
4660
+ # logging_info: {
4661
+ # s3_bucket_name: "S3BucketName", # required
4662
+ # s3_key_prefix: "S3KeyPrefix",
4663
+ # s3_region: "S3Region", # required
4664
+ # },
4665
+ # client_token: "ClientToken",
4666
+ # }
4667
+ # @!attribute [rw] window_id
4668
+ # The id of the Maintenance Window the task should be added to.
4669
+ # @return [String]
4670
+ #
4671
+ # @!attribute [rw] targets
4672
+ # The targets (either instances or tags). Instances are specified
4673
+ # using
4674
+ # Key=instanceids,Values=&lt;instanceid1&gt;,&lt;instanceid2&gt;. Tags
4675
+ # are specified using Key=&lt;tag name&gt;,Values=&lt;tag value&gt;.
4676
+ # @return [Array<Types::Target>]
4677
+ #
4678
+ # @!attribute [rw] task_arn
4679
+ # The ARN of the task to execute
4680
+ # @return [String]
4681
+ #
4682
+ # @!attribute [rw] service_role_arn
4683
+ # The role that should be assumed when executing the task.
4684
+ # @return [String]
4685
+ #
4686
+ # @!attribute [rw] task_type
4687
+ # The type of task being registered.
4688
+ # @return [String]
4689
+ #
4690
+ # @!attribute [rw] task_parameters
4691
+ # The parameters that should be passed to the task when it is
4692
+ # executed.
4693
+ # @return [Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>]
4694
+ #
4695
+ # @!attribute [rw] priority
4696
+ # The priority of the task in the Maintenance Window, the lower the
4697
+ # number the higher the priority. Tasks in a Maintenance Window are
4698
+ # scheduled in priority order with tasks that have the same priority
4699
+ # scheduled in parallel.
4700
+ # @return [Integer]
1484
4701
  #
1485
- # @!attribute [rw] notification_events
1486
- # The different events for which you can receive notifications. These
1487
- # events include the following: All (events), InProgress, Success,
1488
- # TimedOut, Cancelled, Failed. To learn more about these events, see
1489
- # [Monitoring Commands][1] in the <i>Amazon Elastic Compute Cloud User
1490
- # Guide </i>.
4702
+ # @!attribute [rw] max_concurrency
4703
+ # The maximum number of targets this task can be run for in parallel.
4704
+ # @return [String]
1491
4705
  #
4706
+ # @!attribute [rw] max_errors
4707
+ # The maximum number of errors allowed before this task stops being
4708
+ # scheduled.
4709
+ # @return [String]
1492
4710
  #
4711
+ # @!attribute [rw] logging_info
4712
+ # A structure containing information about an Amazon S3 bucket to
4713
+ # write instance-level logs to.
4714
+ # @return [Types::LoggingInfo]
1493
4715
  #
1494
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitor-commands.html
1495
- # @return [Array<String>]
4716
+ # @!attribute [rw] client_token
4717
+ # User-provided idempotency token.
1496
4718
  #
1497
- # @!attribute [rw] notification_type
1498
- # Command: Receive notification when the status of a command changes.
1499
- # Invocation: For commands sent to multiple instances, receive
1500
- # notification on a per-instance basis when the status of a command
1501
- # changes.
4719
+ # **A suitable default value is auto-generated.** You should
4720
+ # normally not need to pass this option.
1502
4721
  # @return [String]
1503
- class NotificationConfig < Struct.new(
1504
- :notification_arn,
1505
- :notification_events,
1506
- :notification_type)
4722
+ class RegisterTaskWithMaintenanceWindowRequest < Struct.new(
4723
+ :window_id,
4724
+ :targets,
4725
+ :task_arn,
4726
+ :service_role_arn,
4727
+ :task_type,
4728
+ :task_parameters,
4729
+ :priority,
4730
+ :max_concurrency,
4731
+ :max_errors,
4732
+ :logging_info,
4733
+ :client_token)
4734
+ include Aws::Structure
4735
+ end
4736
+
4737
+ # @!attribute [rw] window_task_id
4738
+ # The id of the task in the Maintenance Window.
4739
+ # @return [String]
4740
+ class RegisterTaskWithMaintenanceWindowResult < Struct.new(
4741
+ :window_task_id)
1507
4742
  include Aws::Structure
1508
4743
  end
1509
4744
 
@@ -1511,7 +4746,7 @@ module Aws
1511
4746
  # data as a hash:
1512
4747
  #
1513
4748
  # {
1514
- # resource_type: "ManagedInstance", # required, accepts ManagedInstance
4749
+ # resource_type: "ManagedInstance", # required, accepts ManagedInstance, MaintenanceWindow, Parameter
1515
4750
  # resource_id: "ResourceId", # required
1516
4751
  # tag_keys: ["TagKey"], # required
1517
4752
  # }
@@ -1535,11 +4770,72 @@ module Aws
1535
4770
 
1536
4771
  class RemoveTagsFromResourceResult < Aws::EmptyStructure; end
1537
4772
 
4773
+ # The inventory item result attribute.
4774
+ # @note When making an API call, pass ResultAttribute
4775
+ # data as a hash:
4776
+ #
4777
+ # {
4778
+ # type_name: "InventoryItemTypeName", # required
4779
+ # }
4780
+ # @!attribute [rw] type_name
4781
+ # Name of the inventory item type. Valid value:
4782
+ # “AWS:InstanceInformation”. Default Value: “AWS:InstanceInformation”.
4783
+ # @return [String]
4784
+ class ResultAttribute < Struct.new(
4785
+ :type_name)
4786
+ include Aws::Structure
4787
+ end
4788
+
4789
+ # An Amazon S3 bucket where you want to store the results of this
4790
+ # request.
4791
+ # @note When making an API call, pass S3OutputLocation
4792
+ # data as a hash:
4793
+ #
4794
+ # {
4795
+ # output_s3_region: "S3Region",
4796
+ # output_s3_bucket_name: "S3BucketName",
4797
+ # output_s3_key_prefix: "S3KeyPrefix",
4798
+ # }
4799
+ # @!attribute [rw] output_s3_region
4800
+ # The Amazon S3 region where the association information is stored.
4801
+ # @return [String]
4802
+ #
4803
+ # @!attribute [rw] output_s3_bucket_name
4804
+ # The name of the Amazon S3 bucket.
4805
+ # @return [String]
4806
+ #
4807
+ # @!attribute [rw] output_s3_key_prefix
4808
+ # The Amazon S3 bucket subfolder.
4809
+ # @return [String]
4810
+ class S3OutputLocation < Struct.new(
4811
+ :output_s3_region,
4812
+ :output_s3_bucket_name,
4813
+ :output_s3_key_prefix)
4814
+ include Aws::Structure
4815
+ end
4816
+
4817
+ # A URL for the Amazon S3 bucket where you want to store the results of
4818
+ # this request.
4819
+ # @!attribute [rw] output_url
4820
+ # A URL for an Amazon S3 bucket where you want to store the results of
4821
+ # this request.
4822
+ # @return [String]
4823
+ class S3OutputUrl < Struct.new(
4824
+ :output_url)
4825
+ include Aws::Structure
4826
+ end
4827
+
1538
4828
  # @note When making an API call, pass SendCommandRequest
1539
4829
  # data as a hash:
1540
4830
  #
1541
4831
  # {
1542
- # instance_ids: ["InstanceId"], # required
4832
+ # instance_ids: ["InstanceId"],
4833
+ # targets: [
4834
+ # {
4835
+ # key: "TargetKey",
4836
+ # values: ["TargetValue"],
4837
+ # },
4838
+ # ],
1543
4839
  # document_name: "DocumentARN", # required
1544
4840
  # document_hash: "DocumentHash",
1545
4841
  # document_hash_type: "Sha256", # accepts Sha256, Sha1
@@ -1548,8 +4844,11 @@ module Aws
1548
4844
  # parameters: {
1549
4845
  # "ParameterName" => ["ParameterValue"],
1550
4846
  # },
4847
+ # output_s3_region: "S3Region",
1551
4848
  # output_s3_bucket_name: "S3BucketName",
1552
4849
  # output_s3_key_prefix: "S3KeyPrefix",
4850
+ # max_concurrency: "VelocityConstraint",
4851
+ # max_errors: "VelocityConstraint",
1553
4852
  # service_role_arn: "ServiceRole",
1554
4853
  # notification_config: {
1555
4854
  # notification_arn: "NotificationArn",
@@ -1562,6 +4861,20 @@ module Aws
1562
4861
  # specify a maximum of 50 IDs.
1563
4862
  # @return [Array<String>]
1564
4863
  #
4864
+ # @!attribute [rw] targets
4865
+ # (Optional) An array of search criteria that targets instances using
4866
+ # a `Key`;`Value` combination that you specify. `Targets` is required
4867
+ # if you don't provide one or more instance IDs in the call. For more
4868
+ # information about how to use `Targets`, see [Executing a Command
4869
+ # Using Amazon EC2 Run Command][1] (Linux) or [Executing a Command
4870
+ # Using Amazon EC2 Run Command][2] (Windows).
4871
+ #
4872
+ #
4873
+ #
4874
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
4875
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
4876
+ # @return [Array<Types::Target>]
4877
+ #
1565
4878
  # @!attribute [rw] document_name
1566
4879
  # Required. The name of the SSM document to execute. This can be an
1567
4880
  # SSM public document or a custom document.
@@ -1599,6 +4912,12 @@ module Aws
1599
4912
  # being executed.
1600
4913
  # @return [Hash<String,Array<String>>]
1601
4914
  #
4915
+ # @!attribute [rw] output_s3_region
4916
+ # (Optional) The region where the Amazon Simple Storage Service
4917
+ # (Amazon S3) output bucket is located. The default value is the
4918
+ # region where Run Command is being called.
4919
+ # @return [String]
4920
+ #
1602
4921
  # @!attribute [rw] output_s3_bucket_name
1603
4922
  # The name of the S3 bucket where command execution responses should
1604
4923
  # be stored.
@@ -1609,8 +4928,38 @@ module Aws
1609
4928
  # should be stored.
1610
4929
  # @return [String]
1611
4930
  #
4931
+ # @!attribute [rw] max_concurrency
4932
+ # (Optional) The maximum number of instances that are allowed to
4933
+ # execute the command at the same time. You can specify a number such
4934
+ # as “10” or a percentage such as “10%”. The default value is 50. For
4935
+ # more information about how to use `MaxConcurrency`, see [Executing a
4936
+ # Command Using Amazon EC2 Run Command][1] (Linux) or [Executing a
4937
+ # Command Using Amazon EC2 Run Command][2] (Windows).
4938
+ #
4939
+ #
4940
+ #
4941
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
4942
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
4943
+ # @return [String]
4944
+ #
4945
+ # @!attribute [rw] max_errors
4946
+ # The maximum number of errors allowed without the command failing.
4947
+ # When the command fails one more time beyond the value of
4948
+ # `MaxErrors`, the systems stops sending the command to additional
4949
+ # targets. You can specify a number like “10” or a percentage like
4950
+ # “10%”. The default value is 50. For more information about how to
4951
+ # use `MaxErrors`, see [Executing a Command Using Amazon EC2 Run
4952
+ # Command][1] (Linux) or [Executing a Command Using Amazon EC2 Run
4953
+ # Command][2] (Windows).
4954
+ #
4955
+ #
4956
+ #
4957
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
4958
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
4959
+ # @return [String]
4960
+ #
1612
4961
  # @!attribute [rw] service_role_arn
1613
- # The IAM role that SSM uses to send notifications.
4962
+ # The IAM role that Systems Manager uses to send notifications.
1614
4963
  # @return [String]
1615
4964
  #
1616
4965
  # @!attribute [rw] notification_config
@@ -1618,28 +4967,146 @@ module Aws
1618
4967
  # @return [Types::NotificationConfig]
1619
4968
  class SendCommandRequest < Struct.new(
1620
4969
  :instance_ids,
4970
+ :targets,
1621
4971
  :document_name,
1622
4972
  :document_hash,
1623
4973
  :document_hash_type,
1624
4974
  :timeout_seconds,
1625
4975
  :comment,
1626
4976
  :parameters,
4977
+ :output_s3_region,
1627
4978
  :output_s3_bucket_name,
1628
4979
  :output_s3_key_prefix,
4980
+ :max_concurrency,
4981
+ :max_errors,
1629
4982
  :service_role_arn,
1630
4983
  :notification_config)
1631
4984
  include Aws::Structure
1632
4985
  end
1633
4986
 
1634
4987
  # @!attribute [rw] command
1635
- # The request as it was received by SSM. Also provides the command ID
1636
- # which can be used future references to this request.
4988
+ # The request as it was received by Systems Manager. Also provides the
4989
+ # command ID which can be used future references to this request.
1637
4990
  # @return [Types::Command]
1638
4991
  class SendCommandResult < Struct.new(
1639
4992
  :command)
1640
4993
  include Aws::Structure
1641
4994
  end
1642
4995
 
4996
+ # @note When making an API call, pass StartAutomationExecutionRequest
4997
+ # data as a hash:
4998
+ #
4999
+ # {
5000
+ # document_name: "DocumentName", # required
5001
+ # document_version: "DocumentVersion",
5002
+ # parameters: {
5003
+ # "AutomationParameterKey" => ["AutomationParameterValue"],
5004
+ # },
5005
+ # }
5006
+ # @!attribute [rw] document_name
5007
+ # The name of the Automation document to use for this execution.
5008
+ # @return [String]
5009
+ #
5010
+ # @!attribute [rw] document_version
5011
+ # The version of the Automation document to use for this execution.
5012
+ # @return [String]
5013
+ #
5014
+ # @!attribute [rw] parameters
5015
+ # A key-value map of execution parameters, which match the declared
5016
+ # parameters in the Automation document.
5017
+ # @return [Hash<String,Array<String>>]
5018
+ class StartAutomationExecutionRequest < Struct.new(
5019
+ :document_name,
5020
+ :document_version,
5021
+ :parameters)
5022
+ include Aws::Structure
5023
+ end
5024
+
5025
+ # @!attribute [rw] automation_execution_id
5026
+ # The unique ID of a newly scheduled automation execution.
5027
+ # @return [String]
5028
+ class StartAutomationExecutionResult < Struct.new(
5029
+ :automation_execution_id)
5030
+ include Aws::Structure
5031
+ end
5032
+
5033
+ # Detailed information about an the execution state of an Automation
5034
+ # step.
5035
+ # @!attribute [rw] step_name
5036
+ # The name of this execution step.
5037
+ # @return [String]
5038
+ #
5039
+ # @!attribute [rw] action
5040
+ # The action this step performs. The action determines the behavior of
5041
+ # the step.
5042
+ # @return [String]
5043
+ #
5044
+ # @!attribute [rw] execution_start_time
5045
+ # If a step has begun execution, this contains the time the step
5046
+ # started. If the step is in `Pending` status, this field is not
5047
+ # populated.
5048
+ # @return [Time]
5049
+ #
5050
+ # @!attribute [rw] execution_end_time
5051
+ # If a step has finished execution, this contains the time the
5052
+ # execution ended. If the step has not yet concluded, this field is
5053
+ # not populated.
5054
+ # @return [Time]
5055
+ #
5056
+ # @!attribute [rw] step_status
5057
+ # The execution status for this step. Valid values include: `Pending`,
5058
+ # `InProgress`, `Success`, `Cancelled`, `Failed`, and `TimedOut`.
5059
+ # @return [String]
5060
+ #
5061
+ # @!attribute [rw] response_code
5062
+ # The response code returned by the execution of the step.
5063
+ # @return [String]
5064
+ #
5065
+ # @!attribute [rw] inputs
5066
+ # Fully-resolved values passed into the step before execution.
5067
+ # @return [Hash<String,String>]
5068
+ #
5069
+ # @!attribute [rw] outputs
5070
+ # Returned values from the execution of the step.
5071
+ # @return [Hash<String,Array<String>>]
5072
+ #
5073
+ # @!attribute [rw] response
5074
+ # A message associated with the response code for an execution.
5075
+ # @return [String]
5076
+ #
5077
+ # @!attribute [rw] failure_message
5078
+ # If a step failed, this message explains why the execution failed.
5079
+ # @return [String]
5080
+ class StepExecution < Struct.new(
5081
+ :step_name,
5082
+ :action,
5083
+ :execution_start_time,
5084
+ :execution_end_time,
5085
+ :step_status,
5086
+ :response_code,
5087
+ :inputs,
5088
+ :outputs,
5089
+ :response,
5090
+ :failure_message)
5091
+ include Aws::Structure
5092
+ end
5093
+
5094
+ # @note When making an API call, pass StopAutomationExecutionRequest
5095
+ # data as a hash:
5096
+ #
5097
+ # {
5098
+ # automation_execution_id: "AutomationExecutionId", # required
5099
+ # }
5100
+ # @!attribute [rw] automation_execution_id
5101
+ # The execution ID of the Automation to stop.
5102
+ # @return [String]
5103
+ class StopAutomationExecutionRequest < Struct.new(
5104
+ :automation_execution_id)
5105
+ include Aws::Structure
5106
+ end
5107
+
5108
+ class StopAutomationExecutionResult < Aws::EmptyStructure; end
5109
+
1643
5110
  # Metadata that you assign to your managed instances. Tags enable you to
1644
5111
  # categorize your managed instances in different ways, for example, by
1645
5112
  # purpose, owner, or environment.
@@ -1663,6 +5130,117 @@ module Aws
1663
5130
  include Aws::Structure
1664
5131
  end
1665
5132
 
5133
+ # An array of search criteria that targets instances using a
5134
+ # `Key`;`Value` combination that you specify. `Targets` is required if
5135
+ # you don't provide one or more instance IDs in the call.
5136
+ # @note When making an API call, pass Target
5137
+ # data as a hash:
5138
+ #
5139
+ # {
5140
+ # key: "TargetKey",
5141
+ # values: ["TargetValue"],
5142
+ # }
5143
+ # @!attribute [rw] key
5144
+ # User-defined criteria for sending commands that target instances
5145
+ # that meet the criteria. `Key` can be `tag:<Amazon EC2 tag>` or
5146
+ # `name:<Amazon EC2 instance ID>`. For example, `tag:ServerRole` or
5147
+ # `name:0123456789012345`. For more information about how to send
5148
+ # commands that target instances using `Key`;`Value` parameters, see
5149
+ # [Executing a Command Using Amazon EC2 Run Command][1] (Linux) or
5150
+ # [Executing a Command Using Amazon EC2 Run Command][2] (Windows).
5151
+ #
5152
+ #
5153
+ #
5154
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
5155
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
5156
+ # @return [String]
5157
+ #
5158
+ # @!attribute [rw] values
5159
+ # User-defined criteria that maps to `Key`. For example, if you
5160
+ # specified `tag:ServerRole`, you could specify `value:WebServer` to
5161
+ # execute a command on instances that include Amazon EC2 tags of
5162
+ # ServerRole;WebServer. For more information about how to send
5163
+ # commands that target instances using `Key`;`Value` parameters, see
5164
+ # [Executing a Command Using Amazon EC2 Run Command][1] (Linux) or
5165
+ # [Executing a Command Using Amazon EC2 Run Command][2] (Windows).
5166
+ #
5167
+ #
5168
+ #
5169
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/run-command.html
5170
+ # [2]: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/run-command.html
5171
+ # @return [Array<String>]
5172
+ class Target < Struct.new(
5173
+ :key,
5174
+ :values)
5175
+ include Aws::Structure
5176
+ end
5177
+
5178
+ # @note When making an API call, pass UpdateAssociationRequest
5179
+ # data as a hash:
5180
+ #
5181
+ # {
5182
+ # association_id: "AssociationId", # required
5183
+ # parameters: {
5184
+ # "ParameterName" => ["ParameterValue"],
5185
+ # },
5186
+ # document_version: "DocumentVersion",
5187
+ # schedule_expression: "ScheduleExpression",
5188
+ # output_location: {
5189
+ # s3_location: {
5190
+ # output_s3_region: "S3Region",
5191
+ # output_s3_bucket_name: "S3BucketName",
5192
+ # output_s3_key_prefix: "S3KeyPrefix",
5193
+ # },
5194
+ # },
5195
+ # }
5196
+ # @!attribute [rw] association_id
5197
+ # The ID of the association you want to update.
5198
+ # @return [String]
5199
+ #
5200
+ # @!attribute [rw] parameters
5201
+ # The parameters you want to update for the association. If you create
5202
+ # a parameter using Parameter Store, you can reference the parameter
5203
+ # using \\\{\\\{ssm:parameter-name\\}\\}
5204
+ # @return [Hash<String,Array<String>>]
5205
+ #
5206
+ # @!attribute [rw] document_version
5207
+ # The document version you want update for the association.
5208
+ # @return [String]
5209
+ #
5210
+ # @!attribute [rw] schedule_expression
5211
+ # The cron expression used to schedule the association that you want
5212
+ # to update. Supported expressions are every half, 1, 2, 4, 8 or 12
5213
+ # hour(s); every specified day and time of the week. For example:
5214
+ # cron(0 0/30 * 1/1 * ? *) to run every thirty minutes; cron(0 0
5215
+ # 0/4 1/1 * ? *) to run every four hours; and cron(0 0 10 ? * SUN
5216
+ # *) to run every Sunday at 10 a.m.
5217
+ # @return [String]
5218
+ #
5219
+ # @!attribute [rw] output_location
5220
+ # An Amazon S3 bucket where you want to store the results of this
5221
+ # request.
5222
+ #
5223
+ # `"\{ "S3Location": \{ "OutputS3Region": "<region>",
5224
+ # "OutputS3BucketName": "bucket name", "OutputS3KeyPrefix":
5225
+ # "folder name" \} \}"`
5226
+ # @return [Types::InstanceAssociationOutputLocation]
5227
+ class UpdateAssociationRequest < Struct.new(
5228
+ :association_id,
5229
+ :parameters,
5230
+ :document_version,
5231
+ :schedule_expression,
5232
+ :output_location)
5233
+ include Aws::Structure
5234
+ end
5235
+
5236
+ # @!attribute [rw] association_description
5237
+ # The description of the association that was updated.
5238
+ # @return [Types::AssociationDescription]
5239
+ class UpdateAssociationResult < Struct.new(
5240
+ :association_description)
5241
+ include Aws::Structure
5242
+ end
5243
+
1666
5244
  # @note When making an API call, pass UpdateAssociationStatusRequest
1667
5245
  # data as a hash:
1668
5246
  #
@@ -1702,6 +5280,165 @@ module Aws
1702
5280
  include Aws::Structure
1703
5281
  end
1704
5282
 
5283
+ # @note When making an API call, pass UpdateDocumentDefaultVersionRequest
5284
+ # data as a hash:
5285
+ #
5286
+ # {
5287
+ # name: "DocumentName", # required
5288
+ # document_version: "DocumentVersionNumber", # required
5289
+ # }
5290
+ # @!attribute [rw] name
5291
+ # The name of a custom document that you want to set as the default
5292
+ # version.
5293
+ # @return [String]
5294
+ #
5295
+ # @!attribute [rw] document_version
5296
+ # The version of a custom document that you want to set as the default
5297
+ # version.
5298
+ # @return [String]
5299
+ class UpdateDocumentDefaultVersionRequest < Struct.new(
5300
+ :name,
5301
+ :document_version)
5302
+ include Aws::Structure
5303
+ end
5304
+
5305
+ # @!attribute [rw] description
5306
+ # The description of a custom document that you want to set as the
5307
+ # default version.
5308
+ # @return [Types::DocumentDefaultVersionDescription]
5309
+ class UpdateDocumentDefaultVersionResult < Struct.new(
5310
+ :description)
5311
+ include Aws::Structure
5312
+ end
5313
+
5314
+ # @note When making an API call, pass UpdateDocumentRequest
5315
+ # data as a hash:
5316
+ #
5317
+ # {
5318
+ # content: "DocumentContent", # required
5319
+ # name: "DocumentName", # required
5320
+ # document_version: "DocumentVersion",
5321
+ # }
5322
+ # @!attribute [rw] content
5323
+ # The content in a document that you want to update.
5324
+ # @return [String]
5325
+ #
5326
+ # @!attribute [rw] name
5327
+ # The name of the document that you want to update.
5328
+ # @return [String]
5329
+ #
5330
+ # @!attribute [rw] document_version
5331
+ # The version of the document that you want to update.
5332
+ # @return [String]
5333
+ class UpdateDocumentRequest < Struct.new(
5334
+ :content,
5335
+ :name,
5336
+ :document_version)
5337
+ include Aws::Structure
5338
+ end
5339
+
5340
+ # @!attribute [rw] document_description
5341
+ # A description of the document that was updated.
5342
+ # @return [Types::DocumentDescription]
5343
+ class UpdateDocumentResult < Struct.new(
5344
+ :document_description)
5345
+ include Aws::Structure
5346
+ end
5347
+
5348
+ # @note When making an API call, pass UpdateMaintenanceWindowRequest
5349
+ # data as a hash:
5350
+ #
5351
+ # {
5352
+ # window_id: "MaintenanceWindowId", # required
5353
+ # name: "MaintenanceWindowName",
5354
+ # schedule: "MaintenanceWindowSchedule",
5355
+ # duration: 1,
5356
+ # cutoff: 1,
5357
+ # allow_unassociated_targets: false,
5358
+ # enabled: false,
5359
+ # }
5360
+ # @!attribute [rw] window_id
5361
+ # The ID of the Maintenance Window to update.
5362
+ # @return [String]
5363
+ #
5364
+ # @!attribute [rw] name
5365
+ # The name of the Maintenance Window.
5366
+ # @return [String]
5367
+ #
5368
+ # @!attribute [rw] schedule
5369
+ # The schedule of the Maintenance Window in the form of a cron or rate
5370
+ # expression.
5371
+ # @return [String]
5372
+ #
5373
+ # @!attribute [rw] duration
5374
+ # The duration of the Maintenance Window in hours.
5375
+ # @return [Integer]
5376
+ #
5377
+ # @!attribute [rw] cutoff
5378
+ # The number of hours before the end of the Maintenance Window that
5379
+ # Systems Manager stops scheduling new tasks for execution.
5380
+ # @return [Integer]
5381
+ #
5382
+ # @!attribute [rw] allow_unassociated_targets
5383
+ # Whether targets must be registered with the Maintenance Window
5384
+ # before tasks can be defined for those targets.
5385
+ # @return [Boolean]
5386
+ #
5387
+ # @!attribute [rw] enabled
5388
+ # Whether the Maintenance Window is enabled.
5389
+ # @return [Boolean]
5390
+ class UpdateMaintenanceWindowRequest < Struct.new(
5391
+ :window_id,
5392
+ :name,
5393
+ :schedule,
5394
+ :duration,
5395
+ :cutoff,
5396
+ :allow_unassociated_targets,
5397
+ :enabled)
5398
+ include Aws::Structure
5399
+ end
5400
+
5401
+ # @!attribute [rw] window_id
5402
+ # The ID of the created Maintenance Window.
5403
+ # @return [String]
5404
+ #
5405
+ # @!attribute [rw] name
5406
+ # The name of the Maintenance Window.
5407
+ # @return [String]
5408
+ #
5409
+ # @!attribute [rw] schedule
5410
+ # The schedule of the Maintenance Window in the form of a cron or rate
5411
+ # expression.
5412
+ # @return [String]
5413
+ #
5414
+ # @!attribute [rw] duration
5415
+ # The duration of the Maintenance Window in hours.
5416
+ # @return [Integer]
5417
+ #
5418
+ # @!attribute [rw] cutoff
5419
+ # The number of hours before the end of the Maintenance Window that
5420
+ # Systems Manager stops scheduling new tasks for execution.
5421
+ # @return [Integer]
5422
+ #
5423
+ # @!attribute [rw] allow_unassociated_targets
5424
+ # Whether targets must be registered with the Maintenance Window
5425
+ # before tasks can be defined for those targets.
5426
+ # @return [Boolean]
5427
+ #
5428
+ # @!attribute [rw] enabled
5429
+ # Whether the Maintenance Window is enabled.
5430
+ # @return [Boolean]
5431
+ class UpdateMaintenanceWindowResult < Struct.new(
5432
+ :window_id,
5433
+ :name,
5434
+ :schedule,
5435
+ :duration,
5436
+ :cutoff,
5437
+ :allow_unassociated_targets,
5438
+ :enabled)
5439
+ include Aws::Structure
5440
+ end
5441
+
1705
5442
  # @note When making an API call, pass UpdateManagedInstanceRoleRequest
1706
5443
  # data as a hash:
1707
5444
  #