# WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE require 'seahorse/client/plugins/content_length.rb' require 'aws-sdk-core/plugins/credentials_configuration.rb' require 'aws-sdk-core/plugins/logging.rb' require 'aws-sdk-core/plugins/param_converter.rb' require 'aws-sdk-core/plugins/param_validator.rb' require 'aws-sdk-core/plugins/user_agent.rb' require 'aws-sdk-core/plugins/helpful_socket_errors.rb' require 'aws-sdk-core/plugins/retry_errors.rb' require 'aws-sdk-core/plugins/global_configuration.rb' require 'aws-sdk-core/plugins/regional_endpoint.rb' require 'aws-sdk-core/plugins/endpoint_discovery.rb' require 'aws-sdk-core/plugins/endpoint_pattern.rb' require 'aws-sdk-core/plugins/response_paging.rb' require 'aws-sdk-core/plugins/stub_responses.rb' require 'aws-sdk-core/plugins/idempotency_token.rb' require 'aws-sdk-core/plugins/jsonvalue_converter.rb' require 'aws-sdk-core/plugins/client_metrics_plugin.rb' require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb' require 'aws-sdk-core/plugins/transfer_encoding.rb' require 'aws-sdk-core/plugins/signature_v4.rb' require 'aws-sdk-core/plugins/protocols/json_rpc.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:ssm) module Aws::SSM class Client < Seahorse::Client::Base include Aws::ClientStubs @identifier = :ssm set_api(ClientApi::API) add_plugin(Seahorse::Client::Plugins::ContentLength) add_plugin(Aws::Plugins::CredentialsConfiguration) add_plugin(Aws::Plugins::Logging) add_plugin(Aws::Plugins::ParamConverter) add_plugin(Aws::Plugins::ParamValidator) add_plugin(Aws::Plugins::UserAgent) add_plugin(Aws::Plugins::HelpfulSocketErrors) add_plugin(Aws::Plugins::RetryErrors) add_plugin(Aws::Plugins::GlobalConfiguration) add_plugin(Aws::Plugins::RegionalEndpoint) add_plugin(Aws::Plugins::EndpointDiscovery) add_plugin(Aws::Plugins::EndpointPattern) add_plugin(Aws::Plugins::ResponsePaging) add_plugin(Aws::Plugins::StubResponses) add_plugin(Aws::Plugins::IdempotencyToken) add_plugin(Aws::Plugins::JsonvalueConverter) add_plugin(Aws::Plugins::ClientMetricsPlugin) add_plugin(Aws::Plugins::ClientMetricsSendPlugin) add_plugin(Aws::Plugins::TransferEncoding) add_plugin(Aws::Plugins::SignatureV4) add_plugin(Aws::Plugins::Protocols::JsonRpc) # @overload initialize(options) # @param [Hash] options # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: # # * `Aws::Credentials` - Used for configuring static, non-refreshing # credentials. # # * `Aws::InstanceProfileCredentials` - Used for loading credentials # from an EC2 IMDS on an EC2 instance. # # * `Aws::SharedCredentials` - Used for loading credentials from a # shared file, such as `~/.aws/config`. # # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role. # # When `:credentials` are not configured directly, the following # locations will be searched for credentials: # # * `Aws.config[:credentials]` # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options. # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'] # * `~/.aws/credentials` # * `~/.aws/config` # * EC2 IMDS instance profile - When used by default, the timeouts are # very aggressive. Construct and pass an instance of # `Aws::InstanceProfileCredentails` to enable retries and extended # timeouts. # # @option options [required, String] :region # The AWS region to connect to. The configured `:region` is # used to determine the service `:endpoint`. When not passed, # a default `:region` is search for in the following locations: # # * `Aws.config[:region]` # * `ENV['AWS_REGION']` # * `ENV['AMAZON_REGION']` # * `ENV['AWS_DEFAULT_REGION']` # * `~/.aws/credentials` # * `~/.aws/config` # # @option options [String] :access_key_id # # @option options [Boolean] :active_endpoint_cache (false) # When set to `true`, a thread polling for endpoints will be running in # the background every 60 secs (default). Defaults to `false`. # # @option options [Boolean] :client_side_monitoring (false) # When `true`, client-side metrics will be collected for all API requests from # this client. # # @option options [String] :client_side_monitoring_client_id ("") # Allows you to provide an identifier for this client which will be attached to # all generated client side metrics. Defaults to an empty string. # # @option options [String] :client_side_monitoring_host ("127.0.0.1") # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client # side monitoring agent is running on, where client metrics will be published via UDP. # # @option options [Integer] :client_side_monitoring_port (31000) # Required for publishing client metrics. The port that the client side monitoring # agent is running on, where client metrics will be published via UDP. # # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) # Allows you to provide a custom client-side monitoring publisher class. By default, # will use the Client Side Monitoring Agent Publisher. # # @option options [Boolean] :convert_params (true) # When `true`, an attempt is made to coerce request parameters into # the required types. # # @option options [Boolean] :disable_host_prefix_injection (false) # Set to true to disable SDK automatically adding host prefix # to default service endpoint when available. # # @option options [String] :endpoint # The client endpoint is normally constructed from the `:region` # option. You should only configure an `:endpoint` when connecting # to test endpoints. This should be avalid HTTP(S) URI. # # @option options [Integer] :endpoint_cache_max_entries (1000) # Used for the maximum size limit of the LRU cache storing endpoints data # for endpoint discovery enabled operations. Defaults to 1000. # # @option options [Integer] :endpoint_cache_max_threads (10) # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. # # @option options [Integer] :endpoint_cache_poll_interval (60) # When :endpoint_discovery and :active_endpoint_cache is enabled, # Use this option to config the time interval in seconds for making # requests fetching endpoints information. Defaults to 60 sec. # # @option options [Boolean] :endpoint_discovery (false) # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`. # # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default) # The log formatter. # # @option options [Symbol] :log_level (:info) # The log level to send messages to the `:logger` at. # # @option options [Logger] :logger # The Logger instance to send log messages to. If this option # is not set, logging will be disabled. # # @option options [String] :profile ("default") # Used when loading credentials from the shared credentials file # at HOME/.aws/credentials. When not specified, 'default' is used. # # @option options [Float] :retry_base_delay (0.3) # The base delay in seconds used by the default backoff function. # # @option options [Symbol] :retry_jitter (:none) # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. # # @see https://www.awsarchitectureblog.com/2015/03/backoff.html # # @option options [Integer] :retry_limit (3) # The maximum number of times to retry failed requests. Only # ~ 500 level server errors and certain ~ 400 level client errors # are retried. Generally, these are throttling errors, data # checksum errors, networking errors, timeout errors and auth # errors from expired credentials. # # @option options [Integer] :retry_max_delay (0) # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. # # @option options [String] :secret_access_key # # @option options [String] :session_token # # @option options [Boolean] :simple_json (false) # Disables request parameter conversion, validation, and formatting. # Also disable response data type conversions. This option is useful # when you want to ensure the highest level of performance by # avoiding overhead of walking request parameters and response data # structures. # # When `:simple_json` is enabled, the request parameters hash must # be formatted exactly as the DynamoDB API expects. # # @option options [Boolean] :stub_responses (false) # Causes the client to return stubbed responses. By default # fake responses are generated and returned. You can specify # the response data to return or errors to raise by calling # {ClientStubs#stub_responses}. See {ClientStubs} for more information. # # ** Please note ** When response stubbing is enabled, no HTTP # requests are made, and retries are disabled. # # @option options [Boolean] :validate_params (true) # When `true`, request parameters are validated before # sending the request. # # @option options [URI::HTTP,String] :http_proxy A proxy to send # requests through. Formatted like 'http://proxy.com:123'. # # @option options [Float] :http_open_timeout (15) The number of # seconds to wait when opening a HTTP session before rasing a # `Timeout::Error`. # # @option options [Integer] :http_read_timeout (60) The default # number of seconds to wait for response data. This value can # safely be set # per-request on the session yeidled by {#session_for}. # # @option options [Float] :http_idle_timeout (5) The number of # seconds a connection is allowed to sit idble before it is # considered stale. Stale connections are closed and removed # from the pool before making a request. # # @option options [Float] :http_continue_timeout (1) The number of # seconds to wait for a 100-continue response before sending the # request body. This option has no effect unless the request has # "Expect" header set to "100-continue". Defaults to `nil` which # disables this behaviour. This value can safely be set per # request on the session yeidled by {#session_for}. # # @option options [Boolean] :http_wire_trace (false) When `true`, # HTTP debug output will be sent to the `:logger`. # # @option options [Boolean] :ssl_verify_peer (true) When `true`, # SSL peer certificates are verified when establishing a # connection. # # @option options [String] :ssl_ca_bundle Full path to the SSL # certificate authority bundle file that should be used when # verifying peer certificates. If you do not pass # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default # will be used if available. # # @option options [String] :ssl_ca_directory Full path of the # directory that contains the unbundled SSL certificate # authority files for verifying peer certificates. If you do # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the # system default will be used if available. # def initialize(*args) super end # @!group API Operations # Adds or overwrites one or more tags for the specified resource. Tags # are metadata that you can assign to your documents, managed instances, # maintenance windows, Parameter Store parameters, and patch baselines. # Tags enable you to categorize your resources in different ways, for # example, by purpose, owner, or environment. Each tag consists of a key # and an optional value, both of which you define. For example, you # could define a set of tags for your account's managed instances that # helps you track each instance's owner and stack level. For example: # Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and # Value=Production, Pre-Production, or Test. # # Each resource can have a maximum of 50 tags. # # We recommend that you devise a set of tag keys that meets your needs # for each resource type. Using a consistent set of tag keys makes it # easier for you to manage your resources. You can search and filter the # resources based on the tags you add. Tags don't have any semantic # meaning to Amazon EC2 and are interpreted strictly as a string of # characters. # # For more information about tags, see [Tagging Your Amazon EC2 # Resources][1] in the *Amazon EC2 User Guide*. # # # # [1]: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html # # @option params [required, String] :resource_type # Specifies the type of resource you are tagging. # # The ManagedInstance type for this API action is for on-premises # managed instances. You must specify the name of the managed instance # in the following format: mi-ID\_number. For example, mi-1a2b3c4d5e6f. # # # # @option params [required, String] :resource_id # The resource ID you want to tag. # # Use the ID of the resource. Here are some examples: # # ManagedInstance: mi-012345abcde # # MaintenanceWindow: mw-012345abcde # # PatchBaseline: pb-012345abcde # # For the Document and Parameter values, use the name of the resource. # # The ManagedInstance type for this API action is only for on-premises # managed instances. You must specify the name of the managed instance # in the following format: mi-ID\_number. For example, mi-1a2b3c4d5e6f. # # # # @option params [required, Array] :tags # One or more tags. The value parameter is required, but if you don't # want the tag to have a value, specify the parameter with no value, and # we set the value to an empty string. # # Do not enter personally identifiable information in this field. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.add_tags_to_resource({ # resource_type: "Document", # required, accepts Document, ManagedInstance, MaintenanceWindow, Parameter, PatchBaseline, OpsItem # resource_id: "ResourceId", # required # tags: [ # required # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/AddTagsToResource AWS API Documentation # # @overload add_tags_to_resource(params = {}) # @param [Hash] params ({}) def add_tags_to_resource(params = {}, options = {}) req = build_request(:add_tags_to_resource, params) req.send_request(options) end # Attempts to cancel the command specified by the Command ID. There is # no guarantee that the command will be terminated and the underlying # process stopped. # # @option params [required, String] :command_id # The ID of the command you want to cancel. # # @option params [Array] :instance_ids # (Optional) A list of instance IDs on which you want to cancel the # command. If not provided, the command is canceled on every instance on # which it was requested. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.cancel_command({ # command_id: "CommandId", # required # instance_ids: ["InstanceId"], # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelCommand AWS API Documentation # # @overload cancel_command(params = {}) # @param [Hash] params ({}) def cancel_command(params = {}, options = {}) req = build_request(:cancel_command, params) req.send_request(options) end # Stops a maintenance window execution that is already in progress and # cancels any tasks in the window that have not already starting # running. (Tasks already in progress will continue to completion.) # # @option params [required, String] :window_execution_id # The ID of the maintenance window execution to stop. # # @return [Types::CancelMaintenanceWindowExecutionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CancelMaintenanceWindowExecutionResult#window_execution_id #window_execution_id} => String # # @example Request syntax with placeholder values # # resp = client.cancel_maintenance_window_execution({ # window_execution_id: "MaintenanceWindowExecutionId", # required # }) # # @example Response structure # # resp.window_execution_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CancelMaintenanceWindowExecution AWS API Documentation # # @overload cancel_maintenance_window_execution(params = {}) # @param [Hash] params ({}) def cancel_maintenance_window_execution(params = {}, options = {}) req = build_request(:cancel_maintenance_window_execution, params) req.send_request(options) end # Registers your on-premises server or virtual machine with Amazon EC2 # so that you can manage these resources using Run Command. An # on-premises server or virtual machine that has been registered with # EC2 is called a managed instance. For more information about # activations, see [Setting Up AWS Systems Manager for Hybrid # Environments][1]. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html # # @option params [String] :description # A user-defined description of the resource that you want to register # with Amazon EC2. # # Do not enter personally identifiable information in this field. # # @option params [String] :default_instance_name # The name of the registered, managed instance as it will appear in the # Amazon EC2 console or when you use the AWS command line tools to list # EC2 resources. # # Do not enter personally identifiable information in this field. # # @option params [required, String] :iam_role # The Amazon Identity and Access Management (IAM) role that you want to # assign to the managed instance. # # @option params [Integer] :registration_limit # Specify the maximum number of managed instances you want to register. # The default value is 1 instance. # # @option params [Time,DateTime,Date,Integer,String] :expiration_date # The date by which this activation request should expire. The default # value is 24 hours. # # @option params [Array] :tags # Optional metadata that you assign to a resource. Tags enable you to # categorize a resource in different ways, such as by purpose, owner, or # environment. For example, you might want to tag an activation to # identify which servers or virtual machines (VMs) in your on-premises # environment you intend to activate. In this case, you could specify # the following key name/value pairs: # # * `Key=OS,Value=Windows` # # * `Key=Environment,Value=Production` # # When you install SSM Agent on your on-premises servers and VMs, you # specify an activation ID and code. When you specify the activation ID # and code, tags assigned to the activation are automatically applied to # the on-premises servers or VMs. # # You can't add tags to or delete tags from an existing activation. You # can tag your on-premises servers and VMs after they connect to Systems # Manager for the first time and are assigned a managed instance ID. # This means they are listed in the AWS Systems Manager console with an # ID that is prefixed with "mi-". For information about how to add # tags to your managed instances, see AddTagsToResource. For information # about how to remove tags from your managed instances, see # RemoveTagsFromResource. # # @return [Types::CreateActivationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateActivationResult#activation_id #activation_id} => String # * {Types::CreateActivationResult#activation_code #activation_code} => String # # @example Request syntax with placeholder values # # resp = client.create_activation({ # description: "ActivationDescription", # default_instance_name: "DefaultInstanceName", # iam_role: "IamRole", # required # registration_limit: 1, # expiration_date: Time.now, # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.activation_id #=> String # resp.activation_code #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateActivation AWS API Documentation # # @overload create_activation(params = {}) # @param [Hash] params ({}) def create_activation(params = {}, options = {}) req = build_request(:create_activation, params) req.send_request(options) end # Associates the specified Systems Manager document with the specified # instances or targets. # # When you associate a document with one or more instances using # instance IDs or tags, SSM Agent running on the instance processes the # document and configures the instance as specified. # # If you associate a document with an instance that already has an # associated document, the system returns the AssociationAlreadyExists # exception. # # @option params [required, String] :name # The name of the SSM document that contains the configuration # information for the instance. You can specify Command or Automation # documents. # # You can specify AWS-predefined documents, documents you created, or a # document that is shared with you from another account. # # For SSM documents that are shared with you from other AWS accounts, # you must specify the complete SSM document ARN, in the following # format: # # `arn:partition:ssm:region:account-id:document/document-name ` # # For example: # # `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document` # # For AWS-predefined documents and SSM documents you created in your # account, you only need to specify the document name. For example, # `AWS-ApplyPatchBaseline` or `My-Document`. # # @option params [String] :document_version # The document version you want to associate with the target(s). Can be # a specific version or the default version. # # @option params [String] :instance_id # The instance ID. # # `InstanceId` has been deprecated. To specify an instance ID for an # association, use the `Targets` parameter. Requests that include the # parameter `InstanceID` with SSM documents that use schema version 2.0 # or later will fail. In addition, if you use the parameter # `InstanceId`, you cannot use the parameters `AssociationName`, # `DocumentVersion`, `MaxErrors`, `MaxConcurrency`, `OutputLocation`, or # `ScheduleExpression`. To use these parameters, you must use the # `Targets` parameter. # # # # @option params [Hash] :parameters # The parameters for the runtime configuration of the document. # # @option params [Array] :targets # The targets (either instances or tags) for the association. You must # specify a value for `Targets` if you don't specify a value for # `InstanceId`. # # @option params [String] :schedule_expression # A cron expression when the association will be applied to the # target(s). # # @option params [Types::InstanceAssociationOutputLocation] :output_location # An Amazon S3 bucket where you want to store the output details of the # request. # # @option params [String] :association_name # Specify a descriptive name for the association. # # @option params [String] :automation_target_parameter_name # Specify the target for the association. This target is required for # associations that use an Automation document and target resources by # using rate controls. # # @option params [String] :max_errors # The number of errors that are allowed before the system stops sending # requests to run the association on additional targets. You can specify # either an absolute number of errors, for example 10, or a percentage # of the target set, for example 10%. If you specify 3, for example, the # system stops sending requests when the fourth error is received. If # you specify 0, then the system stops sending requests after the first # error is returned. If you run an association on 50 instances and set # MaxError to 10%, then the system stops sending the request when the # sixth error is received. # # Executions that are already running an association when MaxErrors is # reached are allowed to complete, but some of these executions may fail # as well. If you need to ensure that there won't be more than # max-errors failed executions, set MaxConcurrency to 1 so that # executions proceed one at a time. # # @option params [String] :max_concurrency # The maximum number of targets allowed to run the association at the # same time. You can specify a number, for example 10, or a percentage # of the target set, for example 10%. The default value is 100%, which # means all targets run the association at the same time. # # If a new instance starts and attempts to run an association while # Systems Manager is running MaxConcurrency associations, the # association is allowed to run. During the next association interval, # the new instance will process its association within the limit # specified for MaxConcurrency. # # @option params [String] :compliance_severity # The severity level to assign to the association. # # @return [Types::CreateAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateAssociationResult#association_description #association_description} => Types::AssociationDescription # # @example Request syntax with placeholder values # # resp = client.create_association({ # name: "DocumentARN", # required # document_version: "DocumentVersion", # instance_id: "InstanceId", # parameters: { # "ParameterName" => ["ParameterValue"], # }, # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # schedule_expression: "ScheduleExpression", # output_location: { # s3_location: { # output_s3_region: "S3Region", # output_s3_bucket_name: "S3BucketName", # output_s3_key_prefix: "S3KeyPrefix", # }, # }, # association_name: "AssociationName", # automation_target_parameter_name: "AutomationTargetParameterName", # max_errors: "MaxErrors", # max_concurrency: "MaxConcurrency", # compliance_severity: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, UNSPECIFIED # }) # # @example Response structure # # resp.association_description.name #=> String # resp.association_description.instance_id #=> String # resp.association_description.association_version #=> String # resp.association_description.date #=> Time # resp.association_description.last_update_association_date #=> Time # resp.association_description.status.date #=> Time # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed" # resp.association_description.status.message #=> String # resp.association_description.status.additional_info #=> String # resp.association_description.overview.status #=> String # resp.association_description.overview.detailed_status #=> String # resp.association_description.overview.association_status_aggregated_count #=> Hash # resp.association_description.overview.association_status_aggregated_count["StatusName"] #=> Integer # resp.association_description.document_version #=> String # resp.association_description.automation_target_parameter_name #=> String # resp.association_description.parameters #=> Hash # resp.association_description.parameters["ParameterName"] #=> Array # resp.association_description.parameters["ParameterName"][0] #=> String # resp.association_description.association_id #=> String # resp.association_description.targets #=> Array # resp.association_description.targets[0].key #=> String # resp.association_description.targets[0].values #=> Array # resp.association_description.targets[0].values[0] #=> String # resp.association_description.schedule_expression #=> String # resp.association_description.output_location.s3_location.output_s3_region #=> String # resp.association_description.output_location.s3_location.output_s3_bucket_name #=> String # resp.association_description.output_location.s3_location.output_s3_key_prefix #=> String # resp.association_description.last_execution_date #=> Time # resp.association_description.last_successful_execution_date #=> Time # resp.association_description.association_name #=> String # resp.association_description.max_errors #=> String # resp.association_description.max_concurrency #=> String # resp.association_description.compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociation AWS API Documentation # # @overload create_association(params = {}) # @param [Hash] params ({}) def create_association(params = {}, options = {}) req = build_request(:create_association, params) req.send_request(options) end # Associates the specified Systems Manager document with the specified # instances or targets. # # When you associate a document with one or more instances using # instance IDs or tags, SSM Agent running on the instance processes the # document and configures the instance as specified. # # If you associate a document with an instance that already has an # associated document, the system returns the AssociationAlreadyExists # exception. # # @option params [required, Array] :entries # One or more associations. # # @return [Types::CreateAssociationBatchResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateAssociationBatchResult#successful #successful} => Array<Types::AssociationDescription> # * {Types::CreateAssociationBatchResult#failed #failed} => Array<Types::FailedCreateAssociation> # # @example Request syntax with placeholder values # # resp = client.create_association_batch({ # entries: [ # required # { # name: "DocumentARN", # required # instance_id: "InstanceId", # parameters: { # "ParameterName" => ["ParameterValue"], # }, # automation_target_parameter_name: "AutomationTargetParameterName", # document_version: "DocumentVersion", # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # schedule_expression: "ScheduleExpression", # output_location: { # s3_location: { # output_s3_region: "S3Region", # output_s3_bucket_name: "S3BucketName", # output_s3_key_prefix: "S3KeyPrefix", # }, # }, # association_name: "AssociationName", # max_errors: "MaxErrors", # max_concurrency: "MaxConcurrency", # compliance_severity: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, UNSPECIFIED # }, # ], # }) # # @example Response structure # # resp.successful #=> Array # resp.successful[0].name #=> String # resp.successful[0].instance_id #=> String # resp.successful[0].association_version #=> String # resp.successful[0].date #=> Time # resp.successful[0].last_update_association_date #=> Time # resp.successful[0].status.date #=> Time # resp.successful[0].status.name #=> String, one of "Pending", "Success", "Failed" # resp.successful[0].status.message #=> String # resp.successful[0].status.additional_info #=> String # resp.successful[0].overview.status #=> String # resp.successful[0].overview.detailed_status #=> String # resp.successful[0].overview.association_status_aggregated_count #=> Hash # resp.successful[0].overview.association_status_aggregated_count["StatusName"] #=> Integer # resp.successful[0].document_version #=> String # resp.successful[0].automation_target_parameter_name #=> String # resp.successful[0].parameters #=> Hash # resp.successful[0].parameters["ParameterName"] #=> Array # resp.successful[0].parameters["ParameterName"][0] #=> String # resp.successful[0].association_id #=> String # resp.successful[0].targets #=> Array # resp.successful[0].targets[0].key #=> String # resp.successful[0].targets[0].values #=> Array # resp.successful[0].targets[0].values[0] #=> String # resp.successful[0].schedule_expression #=> String # resp.successful[0].output_location.s3_location.output_s3_region #=> String # resp.successful[0].output_location.s3_location.output_s3_bucket_name #=> String # resp.successful[0].output_location.s3_location.output_s3_key_prefix #=> String # resp.successful[0].last_execution_date #=> Time # resp.successful[0].last_successful_execution_date #=> Time # resp.successful[0].association_name #=> String # resp.successful[0].max_errors #=> String # resp.successful[0].max_concurrency #=> String # resp.successful[0].compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # resp.failed #=> Array # resp.failed[0].entry.name #=> String # resp.failed[0].entry.instance_id #=> String # resp.failed[0].entry.parameters #=> Hash # resp.failed[0].entry.parameters["ParameterName"] #=> Array # resp.failed[0].entry.parameters["ParameterName"][0] #=> String # resp.failed[0].entry.automation_target_parameter_name #=> String # resp.failed[0].entry.document_version #=> String # resp.failed[0].entry.targets #=> Array # resp.failed[0].entry.targets[0].key #=> String # resp.failed[0].entry.targets[0].values #=> Array # resp.failed[0].entry.targets[0].values[0] #=> String # resp.failed[0].entry.schedule_expression #=> String # resp.failed[0].entry.output_location.s3_location.output_s3_region #=> String # resp.failed[0].entry.output_location.s3_location.output_s3_bucket_name #=> String # resp.failed[0].entry.output_location.s3_location.output_s3_key_prefix #=> String # resp.failed[0].entry.association_name #=> String # resp.failed[0].entry.max_errors #=> String # resp.failed[0].entry.max_concurrency #=> String # resp.failed[0].entry.compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # resp.failed[0].message #=> String # resp.failed[0].fault #=> String, one of "Client", "Server", "Unknown" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateAssociationBatch AWS API Documentation # # @overload create_association_batch(params = {}) # @param [Hash] params ({}) def create_association_batch(params = {}, options = {}) req = build_request(:create_association_batch, params) req.send_request(options) end # Creates a Systems Manager document. # # After you create a document, you can use CreateAssociation to # associate it with one or more running instances. # # @option params [required, String] :content # A valid JSON or YAML string. # # @option params [Array] :requires # A list of SSM documents required by a document. For example, an # `ApplicationConfiguration` document requires an # `ApplicationConfigurationSchema` document. # # @option params [Array] :attachments # A list of key and value pairs that describe attachments to a version # of a document. # # @option params [required, String] :name # A name for the Systems Manager document. # # Do not use the following to begin the names of documents you create. # They are reserved by AWS for use as document prefixes: # # * `aws` # # * `amazon` # # * `amzn` # # @option params [String] :version_name # An optional field specifying the version of the artifact you are # creating with the document. For example, "Release 12, Update 6". # This value is unique across all versions of a document, and cannot be # changed. # # @option params [String] :document_type # The type of document to create. Valid document types include: # `Command`, `Policy`, `Automation`, `Session`, and `Package`. # # @option params [String] :document_format # Specify the document format for the request. The document format can # be JSON, YAML, or TEXT. JSON is the default format. # # @option params [String] :target_type # Specify a target type to define the kinds of resources the document # can run on. For example, to run a document on EC2 instances, specify # the following value: /AWS::EC2::Instance. If you specify a value of # '/' the document can run on all types of resources. If you don't # specify a value, the document can't run on any resources. For a list # of valid resource types, see [AWS Resource Types Reference][1] in the # *AWS CloudFormation User Guide*. # # # # [1]: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html # # @option params [Array] :tags # Optional metadata that you assign to a resource. Tags enable you to # categorize a resource in different ways, such as by purpose, owner, or # environment. For example, you might want to tag an SSM document to # identify the types of targets or the environment where it will run. In # this case, you could specify the following key name/value pairs: # # * `Key=OS,Value=Windows` # # * `Key=Environment,Value=Production` # # To add tags to an existing SSM document, use the AddTagsToResource # action. # # # # @return [Types::CreateDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateDocumentResult#document_description #document_description} => Types::DocumentDescription # # @example Request syntax with placeholder values # # resp = client.create_document({ # content: "DocumentContent", # required # requires: [ # { # name: "DocumentARN", # required # version: "DocumentVersion", # }, # ], # attachments: [ # { # key: "SourceUrl", # accepts SourceUrl, S3FileUrl # values: ["AttachmentsSourceValue"], # name: "AttachmentIdentifier", # }, # ], # name: "DocumentName", # required # version_name: "DocumentVersionName", # document_type: "Command", # accepts Command, Policy, Automation, Session, Package, ApplicationConfiguration, ApplicationConfigurationSchema, DeploymentStrategy, ChangeCalendar # document_format: "YAML", # accepts YAML, JSON, TEXT # target_type: "TargetType", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.document_description.sha_1 #=> String # resp.document_description.hash #=> String # resp.document_description.hash_type #=> String, one of "Sha256", "Sha1" # resp.document_description.name #=> String # resp.document_description.version_name #=> String # resp.document_description.owner #=> String # resp.document_description.created_date #=> Time # resp.document_description.status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed" # resp.document_description.status_information #=> String # resp.document_description.document_version #=> String # resp.document_description.description #=> String # resp.document_description.parameters #=> Array # resp.document_description.parameters[0].name #=> String # resp.document_description.parameters[0].type #=> String, one of "String", "StringList" # resp.document_description.parameters[0].description #=> String # resp.document_description.parameters[0].default_value #=> String # resp.document_description.platform_types #=> Array # resp.document_description.platform_types[0] #=> String, one of "Windows", "Linux" # resp.document_description.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar" # resp.document_description.schema_version #=> String # resp.document_description.latest_version #=> String # resp.document_description.default_version #=> String # resp.document_description.document_format #=> String, one of "YAML", "JSON", "TEXT" # resp.document_description.target_type #=> String # resp.document_description.tags #=> Array # resp.document_description.tags[0].key #=> String # resp.document_description.tags[0].value #=> String # resp.document_description.attachments_information #=> Array # resp.document_description.attachments_information[0].name #=> String # resp.document_description.requires #=> Array # resp.document_description.requires[0].name #=> String # resp.document_description.requires[0].version #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateDocument AWS API Documentation # # @overload create_document(params = {}) # @param [Hash] params ({}) def create_document(params = {}, options = {}) req = build_request(:create_document, params) req.send_request(options) end # Creates a new maintenance window. # # The value you specify for `Duration` determines the specific end time # for the maintenance window based on the time it begins. No maintenance # window tasks are permitted to start after the resulting endtime minus # the number of hours you specify for `Cutoff`. For example, if the # maintenance window starts at 3 PM, the duration is three hours, and # the value you specify for `Cutoff` is one hour, no maintenance window # tasks can start after 5 PM. # # # # @option params [required, String] :name # The name of the maintenance window. # # @option params [String] :description # An optional description for the maintenance window. We recommend # specifying a description to help you organize your maintenance # windows. # # @option params [String] :start_date # The date and time, in ISO-8601 Extended format, for when you want the # maintenance window to become active. StartDate allows you to delay # activation of the maintenance window until the specified future date. # # @option params [String] :end_date # The date and time, in ISO-8601 Extended format, for when you want the # maintenance window to become inactive. EndDate allows you to set a # date and time in the future when the maintenance window will no longer # run. # # @option params [required, String] :schedule # The schedule of the maintenance window in the form of a cron or rate # expression. # # @option params [String] :schedule_timezone # The time zone that the scheduled maintenance window executions are # based on, in Internet Assigned Numbers Authority (IANA) format. For # example: "America/Los\_Angeles", "etc/UTC", or "Asia/Seoul". For # more information, see the [Time Zone Database][1] on the IANA website. # # # # [1]: https://www.iana.org/time-zones # # @option params [required, Integer] :duration # The duration of the maintenance window in hours. # # @option params [required, Integer] :cutoff # The number of hours before the end of the maintenance window that # Systems Manager stops scheduling new tasks for execution. # # @option params [required, Boolean] :allow_unassociated_targets # Enables a maintenance window task to run on managed instances, even if # you have not registered those instances as targets. If enabled, then # you must specify the unregistered instances (by instance ID) when you # register a task with the maintenance window. # # If you don't enable this option, then you must specify # previously-registered targets when you register a task with the # maintenance window. # # @option params [String] :client_token # User-provided idempotency token. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @option params [Array] :tags # Optional metadata that you assign to a resource. Tags enable you to # categorize a resource in different ways, such as by purpose, owner, or # environment. For example, you might want to tag a maintenance window # to identify the type of tasks it will run, the types of targets, and # the environment it will run in. In this case, you could specify the # following key name/value pairs: # # * `Key=TaskType,Value=AgentUpdate` # # * `Key=OS,Value=Windows` # # * `Key=Environment,Value=Production` # # To add tags to an existing maintenance window, use the # AddTagsToResource action. # # # # @return [Types::CreateMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateMaintenanceWindowResult#window_id #window_id} => String # # @example Request syntax with placeholder values # # resp = client.create_maintenance_window({ # name: "MaintenanceWindowName", # required # description: "MaintenanceWindowDescription", # start_date: "MaintenanceWindowStringDateTime", # end_date: "MaintenanceWindowStringDateTime", # schedule: "MaintenanceWindowSchedule", # required # schedule_timezone: "MaintenanceWindowTimezone", # duration: 1, # required # cutoff: 1, # required # allow_unassociated_targets: false, # required # client_token: "ClientToken", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.window_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateMaintenanceWindow AWS API Documentation # # @overload create_maintenance_window(params = {}) # @param [Hash] params ({}) def create_maintenance_window(params = {}, options = {}) req = build_request(:create_maintenance_window, params) req.send_request(options) end # Creates a new OpsItem. You must have permission in AWS Identity and # Access Management (IAM) to create a new OpsItem. For more information, # see [Getting Started with OpsCenter][1] in the *AWS Systems Manager # User Guide*. # # Operations engineers and IT professionals use OpsCenter to view, # investigate, and remediate operational issues impacting the # performance and health of their AWS resources. For more information, # see [AWS Systems Manager OpsCenter][2] in the *AWS Systems Manager # User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html # # @option params [required, String] :description # Information about the OpsItem. # # @option params [Hash] :operational_data # Operational data is custom data that provides useful reference details # about the OpsItem. For example, you can specify log files, error # strings, license keys, troubleshooting tips, or other relevant data. # You enter operational data as key-value pairs. The key has a maximum # length of 128 characters. The value has a maximum size of 20 KB. # # Operational data keys *can't* begin with the following: amazon, aws, # amzn, ssm, /amazon, /aws, /amzn, /ssm. # # You can choose to make the data searchable by other users in the # account or you can restrict search access. Searchable data means that # all users with access to the OpsItem Overview page (as provided by the # DescribeOpsItems API action) can view and search on the specified # data. Operational data that is not searchable is only viewable by # users who have access to the OpsItem (as provided by the GetOpsItem # API action). # # Use the `/aws/resources` key in OperationalData to specify a related # resource in the request. Use the `/aws/automations` key in # OperationalData to associate an Automation runbook with the OpsItem. # To view AWS CLI example commands that use these keys, see [Creating # OpsItems Manually][1] in the *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems # # @option params [Array] :notifications # The Amazon Resource Name (ARN) of an SNS topic where notifications are # sent when this OpsItem is edited or changed. # # @option params [Integer] :priority # The importance of this OpsItem in relation to other OpsItems in the # system. # # @option params [Array] :related_ops_items # One or more OpsItems that share something in common with the current # OpsItems. For example, related OpsItems can include OpsItems with # similar error messages, impacted resources, or statuses for the # impacted resource. # # @option params [required, String] :source # The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager. # # @option params [required, String] :title # A short heading that describes the nature of the OpsItem and the # impacted resource. # # @option params [Array] :tags # Optional metadata that you assign to a resource. You can restrict # access to OpsItems by using an inline IAM policy that specifies tags. # For more information, see [Getting Started with OpsCenter][1] in the # *AWS Systems Manager User Guide*. # # Tags use a key-value pair. For example: # # `Key=Department,Value=Finance` # # To add tags to an existing OpsItem, use the AddTagsToResource action. # # # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html#OpsCenter-getting-started-user-permissions # # @option params [String] :category # Specify a category to assign to an OpsItem. # # @option params [String] :severity # Specify a severity to assign to an OpsItem. # # @return [Types::CreateOpsItemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateOpsItemResponse#ops_item_id #ops_item_id} => String # # @example Request syntax with placeholder values # # resp = client.create_ops_item({ # description: "OpsItemDescription", # required # operational_data: { # "OpsItemDataKey" => { # value: "OpsItemDataValueString", # type: "SearchableString", # accepts SearchableString, String # }, # }, # notifications: [ # { # arn: "String", # }, # ], # priority: 1, # related_ops_items: [ # { # ops_item_id: "String", # required # }, # ], # source: "OpsItemSource", # required # title: "OpsItemTitle", # required # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # category: "OpsItemCategory", # severity: "OpsItemSeverity", # }) # # @example Response structure # # resp.ops_item_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem AWS API Documentation # # @overload create_ops_item(params = {}) # @param [Hash] params ({}) def create_ops_item(params = {}, options = {}) req = build_request(:create_ops_item, params) req.send_request(options) end # Creates a patch baseline. # # For information about valid key and value pairs in `PatchFilters` for # each supported operating system type, see [PatchFilter][1]. # # # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html # # @option params [String] :operating_system # Defines the operating system the patch baseline applies to. The # Default value is WINDOWS. # # @option params [required, String] :name # The name of the patch baseline. # # @option params [Types::PatchFilterGroup] :global_filters # A set of global filters used to include patches in the baseline. # # @option params [Types::PatchRuleGroup] :approval_rules # A set of rules used to include patches in the baseline. # # @option params [Array] :approved_patches # A list of explicitly approved patches for the baseline. # # For information about accepted formats for lists of approved patches # and rejected patches, see [Package Name Formats for Approved and # Rejected Patch Lists][1] in the *AWS Systems Manager User Guide*. # # # # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html # # @option params [String] :approved_patches_compliance_level # Defines the compliance level for approved patches. This means that if # an approved patch is reported as missing, this is the severity of the # compliance violation. The default value is UNSPECIFIED. # # @option params [Boolean] :approved_patches_enable_non_security # Indicates whether the list of approved patches includes non-security # updates that should be applied to the instances. The default value is # 'false'. Applies to Linux instances only. # # @option params [Array] :rejected_patches # A list of explicitly rejected patches for the baseline. # # For information about accepted formats for lists of approved patches # and rejected patches, see [Package Name Formats for Approved and # Rejected Patch Lists][1] in the *AWS Systems Manager User Guide*. # # # # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html # # @option params [String] :rejected_patches_action # The action for Patch Manager to take on patches included in the # RejectedPackages list. # # * **ALLOW\_AS\_DEPENDENCY**\: A package in the Rejected patches list # is installed only if it is a dependency of another package. It is # considered compliant with the patch baseline, and its status is # reported as *InstalledOther*. This is the default action if no # option is specified. # # * **BLOCK**\: Packages in the RejectedPatches list, and packages that # include them as dependencies, are not installed under any # circumstances. If a package was installed before it was added to the # Rejected patches list, it is considered non-compliant with the patch # baseline, and its status is reported as *InstalledRejected*. # # @option params [String] :description # A description of the patch baseline. # # @option params [Array] :sources # Information about the patches to use to update the instances, # including target operating systems and source repositories. Applies to # Linux instances only. # # @option params [String] :client_token # User-provided idempotency token. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @option params [Array] :tags # Optional metadata that you assign to a resource. Tags enable you to # categorize a resource in different ways, such as by purpose, owner, or # environment. For example, you might want to tag a patch baseline to # identify the severity level of patches it specifies and the operating # system family it applies to. In this case, you could specify the # following key name/value pairs: # # * `Key=PatchSeverity,Value=Critical` # # * `Key=OS,Value=Windows` # # To add tags to an existing patch baseline, use the AddTagsToResource # action. # # # # @return [Types::CreatePatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreatePatchBaselineResult#baseline_id #baseline_id} => String # # @example Request syntax with placeholder values # # resp = client.create_patch_baseline({ # operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS # name: "BaselineName", # required # global_filters: { # patch_filters: [ # required # { # key: "PATCH_SET", # required, accepts PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY # values: ["PatchFilterValue"], # required # }, # ], # }, # approval_rules: { # patch_rules: [ # required # { # patch_filter_group: { # required # patch_filters: [ # required # { # key: "PATCH_SET", # required, accepts PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY # values: ["PatchFilterValue"], # required # }, # ], # }, # compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED # approve_after_days: 1, # required # enable_non_security: false, # }, # ], # }, # approved_patches: ["PatchId"], # approved_patches_compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED # approved_patches_enable_non_security: false, # rejected_patches: ["PatchId"], # rejected_patches_action: "ALLOW_AS_DEPENDENCY", # accepts ALLOW_AS_DEPENDENCY, BLOCK # description: "BaselineDescription", # sources: [ # { # name: "PatchSourceName", # required # products: ["PatchSourceProduct"], # required # configuration: "PatchSourceConfiguration", # required # }, # ], # client_token: "ClientToken", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.baseline_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreatePatchBaseline AWS API Documentation # # @overload create_patch_baseline(params = {}) # @param [Hash] params ({}) def create_patch_baseline(params = {}, options = {}) req = build_request(:create_patch_baseline, params) req.send_request(options) end # A resource data sync helps you view data from multiple sources in a # single location. Systems Manager offers two types of resource data # sync: `SyncToDestination` and `SyncFromSource`. # # You can configure Systems Manager Inventory to use the # `SyncToDestination` type to synchronize Inventory data from multiple # AWS Regions to a single Amazon S3 bucket. For more information, see # [Configuring Resource Data Sync for Inventory][1] in the *AWS Systems # Manager User Guide*. # # You can configure Systems Manager Explorer to use the # `SyncToDestination` type to synchronize operational work items # (OpsItems) and operational data (OpsData) from multiple AWS Regions to # a single Amazon S3 bucket. You can also configure Explorer to use the # `SyncFromSource` type. This type synchronizes OpsItems and OpsData # from multiple AWS accounts and Regions by using AWS Organizations. For # more information, see [Setting Up Explorer to Display Data from # Multiple Accounts and Regions][2] in the *AWS Systems Manager User # Guide*. # # A resource data sync is an asynchronous operation that returns # immediately. After a successful initial sync is completed, the system # continuously syncs data. To check the status of a sync, use the # ListResourceDataSync. # # By default, data is not encrypted in Amazon S3. We strongly recommend # that you enable encryption in Amazon S3 to ensure secure data storage. # We also recommend that you secure access to the Amazon S3 bucket by # creating a restrictive bucket policy. # # # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html # # @option params [required, String] :sync_name # A name for the configuration. # # @option params [Types::ResourceDataSyncS3Destination] :s3_destination # Amazon S3 configuration details for the sync. # # @option params [String] :sync_type # Specify `SyncToDestination` to create a resource data sync that # synchronizes data from multiple AWS Regions to an Amazon S3 bucket. # Specify `SyncFromSource` to synchronize data from multiple AWS # accounts and Regions, as listed in AWS Organizations. # # @option params [Types::ResourceDataSyncSource] :sync_source # Specify information about the data sources to synchronize. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.create_resource_data_sync({ # sync_name: "ResourceDataSyncName", # required # s3_destination: { # bucket_name: "ResourceDataSyncS3BucketName", # required # prefix: "ResourceDataSyncS3Prefix", # sync_format: "JsonSerDe", # required, accepts JsonSerDe # region: "ResourceDataSyncS3Region", # required # awskms_key_arn: "ResourceDataSyncAWSKMSKeyARN", # }, # sync_type: "ResourceDataSyncType", # sync_source: { # source_type: "ResourceDataSyncSourceType", # required # aws_organizations_source: { # organization_source_type: "ResourceDataSyncOrganizationSourceType", # required # organizational_units: [ # { # organizational_unit_id: "ResourceDataSyncOrganizationalUnitId", # }, # ], # }, # source_regions: ["ResourceDataSyncSourceRegion"], # required # include_future_regions: false, # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateResourceDataSync AWS API Documentation # # @overload create_resource_data_sync(params = {}) # @param [Hash] params ({}) def create_resource_data_sync(params = {}, options = {}) req = build_request(:create_resource_data_sync, params) req.send_request(options) end # Deletes an activation. You are not required to delete an activation. # If you delete an activation, you can no longer use it to register # additional managed instances. Deleting an activation does not # de-register managed instances. You must manually de-register managed # instances. # # @option params [required, String] :activation_id # The ID of the activation that you want to delete. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.delete_activation({ # activation_id: "ActivationId", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteActivation AWS API Documentation # # @overload delete_activation(params = {}) # @param [Hash] params ({}) def delete_activation(params = {}, options = {}) req = build_request(:delete_activation, params) req.send_request(options) end # Disassociates the specified Systems Manager document from the # specified instance. # # When you disassociate a document from an instance, it does not change # the configuration of the instance. To change the configuration state # of an instance after you disassociate a document, you must create a # new document with the desired configuration and associate it with the # instance. # # @option params [String] :name # The name of the Systems Manager document. # # @option params [String] :instance_id # The ID of the instance. # # @option params [String] :association_id # The association ID that you want to delete. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.delete_association({ # name: "DocumentARN", # instance_id: "InstanceId", # association_id: "AssociationId", # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteAssociation AWS API Documentation # # @overload delete_association(params = {}) # @param [Hash] params ({}) def delete_association(params = {}, options = {}) req = build_request(:delete_association, params) req.send_request(options) end # Deletes the Systems Manager document and all instance associations to # the document. # # Before you delete the document, we recommend that you use # DeleteAssociation to disassociate all instances that are associated # with the document. # # @option params [required, String] :name # The name of the document. # # @option params [String] :document_version # The version of the document that you want to delete. If not provided, # all versions of the document are deleted. # # @option params [String] :version_name # The version name of the document that you want to delete. If not # provided, all versions of the document are deleted. # # @option params [Boolean] :force # Some SSM document types require that you specify a `Force` flag before # you can delete the document. For example, you must specify a `Force` # flag to delete a document of type `ApplicationConfigurationSchema`. # You can restrict access to the `Force` flag in an AWS Identity and # Access Management (IAM) policy. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.delete_document({ # name: "DocumentName", # required # document_version: "DocumentVersion", # version_name: "DocumentVersionName", # force: false, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteDocument AWS API Documentation # # @overload delete_document(params = {}) # @param [Hash] params ({}) def delete_document(params = {}, options = {}) req = build_request(:delete_document, params) req.send_request(options) end # Delete a custom inventory type, or the data associated with a custom # Inventory type. Deleting a custom inventory type is also referred to # as deleting a custom inventory schema. # # @option params [required, String] :type_name # The name of the custom inventory type for which you want to delete # either all previously collected data, or the inventory type itself. # # @option params [String] :schema_delete_option # Use the `SchemaDeleteOption` to delete a custom inventory type # (schema). If you don't choose this option, the system only deletes # existing inventory data associated with the custom inventory type. # Choose one of the following options: # # DisableSchema: If you choose this option, the system ignores all # inventory data for the specified version, and any earlier versions. To # enable this schema again, you must call the `PutInventory` action for # a version greater than the disabled version. # # DeleteSchema: This option deletes the specified custom type from the # Inventory service. You can recreate the schema later, if you want. # # @option params [Boolean] :dry_run # Use this option to view a summary of the deletion request without # deleting any data or the data type. This option is useful when you # only want to understand what will be deleted. Once you validate that # the data to be deleted is what you intend to delete, you can run the # same command without specifying the `DryRun` option. # # @option params [String] :client_token # User-provided idempotency token. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @return [Types::DeleteInventoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteInventoryResult#deletion_id #deletion_id} => String # * {Types::DeleteInventoryResult#type_name #type_name} => String # * {Types::DeleteInventoryResult#deletion_summary #deletion_summary} => Types::InventoryDeletionSummary # # @example Request syntax with placeholder values # # resp = client.delete_inventory({ # type_name: "InventoryItemTypeName", # required # schema_delete_option: "DisableSchema", # accepts DisableSchema, DeleteSchema # dry_run: false, # client_token: "ClientToken", # }) # # @example Response structure # # resp.deletion_id #=> String # resp.type_name #=> String # resp.deletion_summary.total_count #=> Integer # resp.deletion_summary.remaining_count #=> Integer # resp.deletion_summary.summary_items #=> Array # resp.deletion_summary.summary_items[0].version #=> String # resp.deletion_summary.summary_items[0].count #=> Integer # resp.deletion_summary.summary_items[0].remaining_count #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteInventory AWS API Documentation # # @overload delete_inventory(params = {}) # @param [Hash] params ({}) def delete_inventory(params = {}, options = {}) req = build_request(:delete_inventory, params) req.send_request(options) end # Deletes a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window to delete. # # @return [Types::DeleteMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteMaintenanceWindowResult#window_id #window_id} => String # # @example Request syntax with placeholder values # # resp = client.delete_maintenance_window({ # window_id: "MaintenanceWindowId", # required # }) # # @example Response structure # # resp.window_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteMaintenanceWindow AWS API Documentation # # @overload delete_maintenance_window(params = {}) # @param [Hash] params ({}) def delete_maintenance_window(params = {}, options = {}) req = build_request(:delete_maintenance_window, params) req.send_request(options) end # Delete a parameter from the system. # # @option params [required, String] :name # The name of the parameter to delete. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.delete_parameter({ # name: "PSParameterName", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameter AWS API Documentation # # @overload delete_parameter(params = {}) # @param [Hash] params ({}) def delete_parameter(params = {}, options = {}) req = build_request(:delete_parameter, params) req.send_request(options) end # Delete a list of parameters. # # @option params [required, Array] :names # The names of the parameters to delete. # # @return [Types::DeleteParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteParametersResult#deleted_parameters #deleted_parameters} => Array<String> # * {Types::DeleteParametersResult#invalid_parameters #invalid_parameters} => Array<String> # # @example Request syntax with placeholder values # # resp = client.delete_parameters({ # names: ["PSParameterName"], # required # }) # # @example Response structure # # resp.deleted_parameters #=> Array # resp.deleted_parameters[0] #=> String # resp.invalid_parameters #=> Array # resp.invalid_parameters[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteParameters AWS API Documentation # # @overload delete_parameters(params = {}) # @param [Hash] params ({}) def delete_parameters(params = {}, options = {}) req = build_request(:delete_parameters, params) req.send_request(options) end # Deletes a patch baseline. # # @option params [required, String] :baseline_id # The ID of the patch baseline to delete. # # @return [Types::DeletePatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeletePatchBaselineResult#baseline_id #baseline_id} => String # # @example Request syntax with placeholder values # # resp = client.delete_patch_baseline({ # baseline_id: "BaselineId", # required # }) # # @example Response structure # # resp.baseline_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeletePatchBaseline AWS API Documentation # # @overload delete_patch_baseline(params = {}) # @param [Hash] params ({}) def delete_patch_baseline(params = {}, options = {}) req = build_request(:delete_patch_baseline, params) req.send_request(options) end # Deletes a Resource Data Sync configuration. After the configuration is # deleted, changes to data on managed instances are no longer synced to # or from the target. Deleting a sync configuration does not delete # data. # # @option params [required, String] :sync_name # The name of the configuration to delete. # # @option params [String] :sync_type # Specify the type of resource data sync to delete. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.delete_resource_data_sync({ # sync_name: "ResourceDataSyncName", # required # sync_type: "ResourceDataSyncType", # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourceDataSync AWS API Documentation # # @overload delete_resource_data_sync(params = {}) # @param [Hash] params ({}) def delete_resource_data_sync(params = {}, options = {}) req = build_request(:delete_resource_data_sync, params) req.send_request(options) end # Removes the server or virtual machine from the list of registered # servers. You can reregister the instance again at any time. If you # don't plan to use Run Command on the server, we suggest uninstalling # SSM Agent first. # # @option params [required, String] :instance_id # The ID assigned to the managed instance when you registered it using # the activation process. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.deregister_managed_instance({ # instance_id: "ManagedInstanceId", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterManagedInstance AWS API Documentation # # @overload deregister_managed_instance(params = {}) # @param [Hash] params ({}) def deregister_managed_instance(params = {}, options = {}) req = build_request(:deregister_managed_instance, params) req.send_request(options) end # Removes a patch group from a patch baseline. # # @option params [required, String] :baseline_id # The ID of the patch baseline to deregister the patch group from. # # @option params [required, String] :patch_group # The name of the patch group that should be deregistered from the patch # baseline. # # @return [Types::DeregisterPatchBaselineForPatchGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeregisterPatchBaselineForPatchGroupResult#baseline_id #baseline_id} => String # * {Types::DeregisterPatchBaselineForPatchGroupResult#patch_group #patch_group} => String # # @example Request syntax with placeholder values # # resp = client.deregister_patch_baseline_for_patch_group({ # baseline_id: "BaselineId", # required # patch_group: "PatchGroup", # required # }) # # @example Response structure # # resp.baseline_id #=> String # resp.patch_group #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterPatchBaselineForPatchGroup AWS API Documentation # # @overload deregister_patch_baseline_for_patch_group(params = {}) # @param [Hash] params ({}) def deregister_patch_baseline_for_patch_group(params = {}, options = {}) req = build_request(:deregister_patch_baseline_for_patch_group, params) req.send_request(options) end # Removes a target from a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window the target should be removed from. # # @option params [required, String] :window_target_id # The ID of the target definition to remove. # # @option params [Boolean] :safe # The system checks if the target is being referenced by a task. If the # target is being referenced, the system returns an error and does not # deregister the target from the maintenance window. # # @return [Types::DeregisterTargetFromMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeregisterTargetFromMaintenanceWindowResult#window_id #window_id} => String # * {Types::DeregisterTargetFromMaintenanceWindowResult#window_target_id #window_target_id} => String # # @example Request syntax with placeholder values # # resp = client.deregister_target_from_maintenance_window({ # window_id: "MaintenanceWindowId", # required # window_target_id: "MaintenanceWindowTargetId", # required # safe: false, # }) # # @example Response structure # # resp.window_id #=> String # resp.window_target_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTargetFromMaintenanceWindow AWS API Documentation # # @overload deregister_target_from_maintenance_window(params = {}) # @param [Hash] params ({}) def deregister_target_from_maintenance_window(params = {}, options = {}) req = build_request(:deregister_target_from_maintenance_window, params) req.send_request(options) end # Removes a task from a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window the task should be removed from. # # @option params [required, String] :window_task_id # The ID of the task to remove from the maintenance window. # # @return [Types::DeregisterTaskFromMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeregisterTaskFromMaintenanceWindowResult#window_id #window_id} => String # * {Types::DeregisterTaskFromMaintenanceWindowResult#window_task_id #window_task_id} => String # # @example Request syntax with placeholder values # # resp = client.deregister_task_from_maintenance_window({ # window_id: "MaintenanceWindowId", # required # window_task_id: "MaintenanceWindowTaskId", # required # }) # # @example Response structure # # resp.window_id #=> String # resp.window_task_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeregisterTaskFromMaintenanceWindow AWS API Documentation # # @overload deregister_task_from_maintenance_window(params = {}) # @param [Hash] params ({}) def deregister_task_from_maintenance_window(params = {}, options = {}) req = build_request(:deregister_task_from_maintenance_window, params) req.send_request(options) end # Describes details about the activation, such as the date and time the # activation was created, its expiration date, the IAM role assigned to # the instances in the activation, and the number of instances # registered by using this activation. # # @option params [Array] :filters # A filter to view information about your activations. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @return [Types::DescribeActivationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeActivationsResult#activation_list #activation_list} => Array<Types::Activation> # * {Types::DescribeActivationsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_activations({ # filters: [ # { # filter_key: "ActivationIds", # accepts ActivationIds, DefaultInstanceName, IamRole # filter_values: ["String"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.activation_list #=> Array # resp.activation_list[0].activation_id #=> String # resp.activation_list[0].description #=> String # resp.activation_list[0].default_instance_name #=> String # resp.activation_list[0].iam_role #=> String # resp.activation_list[0].registration_limit #=> Integer # resp.activation_list[0].registrations_count #=> Integer # resp.activation_list[0].expiration_date #=> Time # resp.activation_list[0].expired #=> Boolean # resp.activation_list[0].created_date #=> Time # resp.activation_list[0].tags #=> Array # resp.activation_list[0].tags[0].key #=> String # resp.activation_list[0].tags[0].value #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeActivations AWS API Documentation # # @overload describe_activations(params = {}) # @param [Hash] params ({}) def describe_activations(params = {}, options = {}) req = build_request(:describe_activations, params) req.send_request(options) end # Describes the association for the specified target or instance. If you # created the association by using the `Targets` parameter, then you # must retrieve the association by using the association ID. If you # created the association by specifying an instance ID and a Systems # Manager document, then you retrieve the association by specifying the # document name and the instance ID. # # @option params [String] :name # The name of the Systems Manager document. # # @option params [String] :instance_id # The instance ID. # # @option params [String] :association_id # The association ID for which you want information. # # @option params [String] :association_version # Specify the association version to retrieve. To view the latest # version, either specify `$LATEST` for this parameter, or omit this # parameter. To view a list of all associations for an instance, use # ListAssociations. To get a list of versions for a specific # association, use ListAssociationVersions. # # @return [Types::DescribeAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeAssociationResult#association_description #association_description} => Types::AssociationDescription # # @example Request syntax with placeholder values # # resp = client.describe_association({ # name: "DocumentARN", # instance_id: "InstanceId", # association_id: "AssociationId", # association_version: "AssociationVersion", # }) # # @example Response structure # # resp.association_description.name #=> String # resp.association_description.instance_id #=> String # resp.association_description.association_version #=> String # resp.association_description.date #=> Time # resp.association_description.last_update_association_date #=> Time # resp.association_description.status.date #=> Time # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed" # resp.association_description.status.message #=> String # resp.association_description.status.additional_info #=> String # resp.association_description.overview.status #=> String # resp.association_description.overview.detailed_status #=> String # resp.association_description.overview.association_status_aggregated_count #=> Hash # resp.association_description.overview.association_status_aggregated_count["StatusName"] #=> Integer # resp.association_description.document_version #=> String # resp.association_description.automation_target_parameter_name #=> String # resp.association_description.parameters #=> Hash # resp.association_description.parameters["ParameterName"] #=> Array # resp.association_description.parameters["ParameterName"][0] #=> String # resp.association_description.association_id #=> String # resp.association_description.targets #=> Array # resp.association_description.targets[0].key #=> String # resp.association_description.targets[0].values #=> Array # resp.association_description.targets[0].values[0] #=> String # resp.association_description.schedule_expression #=> String # resp.association_description.output_location.s3_location.output_s3_region #=> String # resp.association_description.output_location.s3_location.output_s3_bucket_name #=> String # resp.association_description.output_location.s3_location.output_s3_key_prefix #=> String # resp.association_description.last_execution_date #=> Time # resp.association_description.last_successful_execution_date #=> Time # resp.association_description.association_name #=> String # resp.association_description.max_errors #=> String # resp.association_description.max_concurrency #=> String # resp.association_description.compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociation AWS API Documentation # # @overload describe_association(params = {}) # @param [Hash] params ({}) def describe_association(params = {}, options = {}) req = build_request(:describe_association, params) req.send_request(options) end # Use this API action to view information about a specific execution of # a specific association. # # @option params [required, String] :association_id # The association ID that includes the execution for which you want to # view details. # # @option params [required, String] :execution_id # The execution ID for which you want to view details. # # @option params [Array] :filters # Filters for the request. You can specify the following filters and # values. # # Status (EQUAL) # # ResourceId (EQUAL) # # ResourceType (EQUAL) # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @return [Types::DescribeAssociationExecutionTargetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeAssociationExecutionTargetsResult#association_execution_targets #association_execution_targets} => Array<Types::AssociationExecutionTarget> # * {Types::DescribeAssociationExecutionTargetsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_association_execution_targets({ # association_id: "AssociationId", # required # execution_id: "AssociationExecutionId", # required # filters: [ # { # key: "Status", # required, accepts Status, ResourceId, ResourceType # value: "AssociationExecutionTargetsFilterValue", # required # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.association_execution_targets #=> Array # resp.association_execution_targets[0].association_id #=> String # resp.association_execution_targets[0].association_version #=> String # resp.association_execution_targets[0].execution_id #=> String # resp.association_execution_targets[0].resource_id #=> String # resp.association_execution_targets[0].resource_type #=> String # resp.association_execution_targets[0].status #=> String # resp.association_execution_targets[0].detailed_status #=> String # resp.association_execution_targets[0].last_execution_date #=> Time # resp.association_execution_targets[0].output_source.output_source_id #=> String # resp.association_execution_targets[0].output_source.output_source_type #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutionTargets AWS API Documentation # # @overload describe_association_execution_targets(params = {}) # @param [Hash] params ({}) def describe_association_execution_targets(params = {}, options = {}) req = build_request(:describe_association_execution_targets, params) req.send_request(options) end # Use this API action to view all executions for a specific association # ID. # # @option params [required, String] :association_id # The association ID for which you want to view execution history # details. # # @option params [Array] :filters # Filters for the request. You can specify the following filters and # values. # # ExecutionId (EQUAL) # # Status (EQUAL) # # CreatedTime (EQUAL, GREATER\_THAN, LESS\_THAN) # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @return [Types::DescribeAssociationExecutionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeAssociationExecutionsResult#association_executions #association_executions} => Array<Types::AssociationExecution> # * {Types::DescribeAssociationExecutionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_association_executions({ # association_id: "AssociationId", # required # filters: [ # { # key: "ExecutionId", # required, accepts ExecutionId, Status, CreatedTime # value: "AssociationExecutionFilterValue", # required # type: "EQUAL", # required, accepts EQUAL, LESS_THAN, GREATER_THAN # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.association_executions #=> Array # resp.association_executions[0].association_id #=> String # resp.association_executions[0].association_version #=> String # resp.association_executions[0].execution_id #=> String # resp.association_executions[0].status #=> String # resp.association_executions[0].detailed_status #=> String # resp.association_executions[0].created_time #=> Time # resp.association_executions[0].last_execution_date #=> Time # resp.association_executions[0].resource_count_by_status #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAssociationExecutions AWS API Documentation # # @overload describe_association_executions(params = {}) # @param [Hash] params ({}) def describe_association_executions(params = {}, options = {}) req = build_request(:describe_association_executions, params) req.send_request(options) end # Provides details about all active and terminated Automation # executions. # # @option params [Array] :filters # Filters used to limit the scope of executions that are requested. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeAutomationExecutionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeAutomationExecutionsResult#automation_execution_metadata_list #automation_execution_metadata_list} => Array<Types::AutomationExecutionMetadata> # * {Types::DescribeAutomationExecutionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_automation_executions({ # filters: [ # { # key: "DocumentNamePrefix", # required, accepts DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter, AutomationType # values: ["AutomationExecutionFilterValue"], # required # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.automation_execution_metadata_list #=> Array # resp.automation_execution_metadata_list[0].automation_execution_id #=> String # resp.automation_execution_metadata_list[0].document_name #=> String # resp.automation_execution_metadata_list[0].document_version #=> String # resp.automation_execution_metadata_list[0].automation_execution_status #=> String, one of "Pending", "InProgress", "Waiting", "Success", "TimedOut", "Cancelling", "Cancelled", "Failed" # resp.automation_execution_metadata_list[0].execution_start_time #=> Time # resp.automation_execution_metadata_list[0].execution_end_time #=> Time # resp.automation_execution_metadata_list[0].executed_by #=> String # resp.automation_execution_metadata_list[0].log_file #=> String # resp.automation_execution_metadata_list[0].outputs #=> Hash # resp.automation_execution_metadata_list[0].outputs["AutomationParameterKey"] #=> Array # resp.automation_execution_metadata_list[0].outputs["AutomationParameterKey"][0] #=> String # resp.automation_execution_metadata_list[0].mode #=> String, one of "Auto", "Interactive" # resp.automation_execution_metadata_list[0].parent_automation_execution_id #=> String # resp.automation_execution_metadata_list[0].current_step_name #=> String # resp.automation_execution_metadata_list[0].current_action #=> String # resp.automation_execution_metadata_list[0].failure_message #=> String # resp.automation_execution_metadata_list[0].target_parameter_name #=> String # resp.automation_execution_metadata_list[0].targets #=> Array # resp.automation_execution_metadata_list[0].targets[0].key #=> String # resp.automation_execution_metadata_list[0].targets[0].values #=> Array # resp.automation_execution_metadata_list[0].targets[0].values[0] #=> String # resp.automation_execution_metadata_list[0].target_maps #=> Array # resp.automation_execution_metadata_list[0].target_maps[0] #=> Hash # resp.automation_execution_metadata_list[0].target_maps[0]["TargetMapKey"] #=> Array # resp.automation_execution_metadata_list[0].target_maps[0]["TargetMapKey"][0] #=> String # resp.automation_execution_metadata_list[0].resolved_targets.parameter_values #=> Array # resp.automation_execution_metadata_list[0].resolved_targets.parameter_values[0] #=> String # resp.automation_execution_metadata_list[0].resolved_targets.truncated #=> Boolean # resp.automation_execution_metadata_list[0].max_concurrency #=> String # resp.automation_execution_metadata_list[0].max_errors #=> String # resp.automation_execution_metadata_list[0].target #=> String # resp.automation_execution_metadata_list[0].automation_type #=> String, one of "CrossAccount", "Local" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationExecutions AWS API Documentation # # @overload describe_automation_executions(params = {}) # @param [Hash] params ({}) def describe_automation_executions(params = {}, options = {}) req = build_request(:describe_automation_executions, params) req.send_request(options) end # Information about all active and terminated step executions in an # Automation workflow. # # @option params [required, String] :automation_execution_id # The Automation execution ID for which you want step execution # descriptions. # # @option params [Array] :filters # One or more filters to limit the number of step executions returned by # the request. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [Boolean] :reverse_order # A boolean that indicates whether to list step executions in reverse # order by start time. The default value is false. # # @return [Types::DescribeAutomationStepExecutionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeAutomationStepExecutionsResult#step_executions #step_executions} => Array<Types::StepExecution> # * {Types::DescribeAutomationStepExecutionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_automation_step_executions({ # automation_execution_id: "AutomationExecutionId", # required # filters: [ # { # key: "StartTimeBefore", # required, accepts StartTimeBefore, StartTimeAfter, StepExecutionStatus, StepExecutionId, StepName, Action # values: ["StepExecutionFilterValue"], # required # }, # ], # next_token: "NextToken", # max_results: 1, # reverse_order: false, # }) # # @example Response structure # # resp.step_executions #=> Array # resp.step_executions[0].step_name #=> String # resp.step_executions[0].action #=> String # resp.step_executions[0].timeout_seconds #=> Integer # resp.step_executions[0].on_failure #=> String # resp.step_executions[0].max_attempts #=> Integer # resp.step_executions[0].execution_start_time #=> Time # resp.step_executions[0].execution_end_time #=> Time # resp.step_executions[0].step_status #=> String, one of "Pending", "InProgress", "Waiting", "Success", "TimedOut", "Cancelling", "Cancelled", "Failed" # resp.step_executions[0].response_code #=> String # resp.step_executions[0].inputs #=> Hash # resp.step_executions[0].inputs["String"] #=> String # resp.step_executions[0].outputs #=> Hash # resp.step_executions[0].outputs["AutomationParameterKey"] #=> Array # resp.step_executions[0].outputs["AutomationParameterKey"][0] #=> String # resp.step_executions[0].response #=> String # resp.step_executions[0].failure_message #=> String # resp.step_executions[0].failure_details.failure_stage #=> String # resp.step_executions[0].failure_details.failure_type #=> String # resp.step_executions[0].failure_details.details #=> Hash # resp.step_executions[0].failure_details.details["AutomationParameterKey"] #=> Array # resp.step_executions[0].failure_details.details["AutomationParameterKey"][0] #=> String # resp.step_executions[0].step_execution_id #=> String # resp.step_executions[0].overridden_parameters #=> Hash # resp.step_executions[0].overridden_parameters["AutomationParameterKey"] #=> Array # resp.step_executions[0].overridden_parameters["AutomationParameterKey"][0] #=> String # resp.step_executions[0].is_end #=> Boolean # resp.step_executions[0].next_step #=> String # resp.step_executions[0].is_critical #=> Boolean # resp.step_executions[0].valid_next_steps #=> Array # resp.step_executions[0].valid_next_steps[0] #=> String # resp.step_executions[0].targets #=> Array # resp.step_executions[0].targets[0].key #=> String # resp.step_executions[0].targets[0].values #=> Array # resp.step_executions[0].targets[0].values[0] #=> String # resp.step_executions[0].target_location.accounts #=> Array # resp.step_executions[0].target_location.accounts[0] #=> String # resp.step_executions[0].target_location.regions #=> Array # resp.step_executions[0].target_location.regions[0] #=> String # resp.step_executions[0].target_location.target_location_max_concurrency #=> String # resp.step_executions[0].target_location.target_location_max_errors #=> String # resp.step_executions[0].target_location.execution_role_name #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAutomationStepExecutions AWS API Documentation # # @overload describe_automation_step_executions(params = {}) # @param [Hash] params ({}) def describe_automation_step_executions(params = {}, options = {}) req = build_request(:describe_automation_step_executions, params) req.send_request(options) end # Lists all patches eligible to be included in a patch baseline. # # @option params [Array] :filters # Filters used to scope down the returned patches. # # @option params [Integer] :max_results # The maximum number of patches to return (per page). # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeAvailablePatchesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeAvailablePatchesResult#patches #patches} => Array<Types::Patch> # * {Types::DescribeAvailablePatchesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_available_patches({ # filters: [ # { # key: "PatchOrchestratorFilterKey", # values: ["PatchOrchestratorFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.patches #=> Array # resp.patches[0].id #=> String # resp.patches[0].release_date #=> Time # resp.patches[0].title #=> String # resp.patches[0].description #=> String # resp.patches[0].content_url #=> String # resp.patches[0].vendor #=> String # resp.patches[0].product_family #=> String # resp.patches[0].product #=> String # resp.patches[0].classification #=> String # resp.patches[0].msrc_severity #=> String # resp.patches[0].kb_number #=> String # resp.patches[0].msrc_number #=> String # resp.patches[0].language #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeAvailablePatches AWS API Documentation # # @overload describe_available_patches(params = {}) # @param [Hash] params ({}) def describe_available_patches(params = {}, options = {}) req = build_request(:describe_available_patches, params) req.send_request(options) end # Describes the specified Systems Manager document. # # @option params [required, String] :name # The name of the Systems Manager document. # # @option params [String] :document_version # The document version for which you want information. Can be a specific # version or the default version. # # @option params [String] :version_name # An optional field specifying the version of the artifact associated # with the document. For example, "Release 12, Update 6". This value # is unique across all versions of a document, and cannot be changed. # # @return [Types::DescribeDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeDocumentResult#document #document} => Types::DocumentDescription # # @example Request syntax with placeholder values # # resp = client.describe_document({ # name: "DocumentARN", # required # document_version: "DocumentVersion", # version_name: "DocumentVersionName", # }) # # @example Response structure # # resp.document.sha_1 #=> String # resp.document.hash #=> String # resp.document.hash_type #=> String, one of "Sha256", "Sha1" # resp.document.name #=> String # resp.document.version_name #=> String # resp.document.owner #=> String # resp.document.created_date #=> Time # resp.document.status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed" # resp.document.status_information #=> String # resp.document.document_version #=> String # resp.document.description #=> String # resp.document.parameters #=> Array # resp.document.parameters[0].name #=> String # resp.document.parameters[0].type #=> String, one of "String", "StringList" # resp.document.parameters[0].description #=> String # resp.document.parameters[0].default_value #=> String # resp.document.platform_types #=> Array # resp.document.platform_types[0] #=> String, one of "Windows", "Linux" # resp.document.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar" # resp.document.schema_version #=> String # resp.document.latest_version #=> String # resp.document.default_version #=> String # resp.document.document_format #=> String, one of "YAML", "JSON", "TEXT" # resp.document.target_type #=> String # resp.document.tags #=> Array # resp.document.tags[0].key #=> String # resp.document.tags[0].value #=> String # resp.document.attachments_information #=> Array # resp.document.attachments_information[0].name #=> String # resp.document.requires #=> Array # resp.document.requires[0].name #=> String # resp.document.requires[0].version #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocument AWS API Documentation # # @overload describe_document(params = {}) # @param [Hash] params ({}) def describe_document(params = {}, options = {}) req = build_request(:describe_document, params) req.send_request(options) end # Describes the permissions for a Systems Manager document. If you # created the document, you are the owner. If a document is shared, it # can either be shared privately (by specifying a user's AWS account # ID) or publicly (*All*). # # @option params [required, String] :name # The name of the document for which you are the owner. # # @option params [required, String] :permission_type # The permission type for the document. The permission type can be # *Share*. # # @return [Types::DescribeDocumentPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeDocumentPermissionResponse#account_ids #account_ids} => Array<String> # * {Types::DescribeDocumentPermissionResponse#account_sharing_info_list #account_sharing_info_list} => Array<Types::AccountSharingInfo> # # @example Request syntax with placeholder values # # resp = client.describe_document_permission({ # name: "DocumentName", # required # permission_type: "Share", # required, accepts Share # }) # # @example Response structure # # resp.account_ids #=> Array # resp.account_ids[0] #=> String # resp.account_sharing_info_list #=> Array # resp.account_sharing_info_list[0].account_id #=> String # resp.account_sharing_info_list[0].shared_document_version #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeDocumentPermission AWS API Documentation # # @overload describe_document_permission(params = {}) # @param [Hash] params ({}) def describe_document_permission(params = {}, options = {}) req = build_request(:describe_document_permission, params) req.send_request(options) end # All associations for the instance(s). # # @option params [required, String] :instance_id # The instance ID for which you want to view all associations. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeEffectiveInstanceAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeEffectiveInstanceAssociationsResult#associations #associations} => Array<Types::InstanceAssociation> # * {Types::DescribeEffectiveInstanceAssociationsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_effective_instance_associations({ # instance_id: "InstanceId", # required # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.associations #=> Array # resp.associations[0].association_id #=> String # resp.associations[0].instance_id #=> String # resp.associations[0].content #=> String # resp.associations[0].association_version #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectiveInstanceAssociations AWS API Documentation # # @overload describe_effective_instance_associations(params = {}) # @param [Hash] params ({}) def describe_effective_instance_associations(params = {}, options = {}) req = build_request(:describe_effective_instance_associations, params) req.send_request(options) end # Retrieves the current effective patches (the patch and the approval # state) for the specified patch baseline. Note that this API applies # only to Windows patch baselines. # # @option params [required, String] :baseline_id # The ID of the patch baseline to retrieve the effective patches for. # # @option params [Integer] :max_results # The maximum number of patches to return (per page). # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeEffectivePatchesForPatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeEffectivePatchesForPatchBaselineResult#effective_patches #effective_patches} => Array<Types::EffectivePatch> # * {Types::DescribeEffectivePatchesForPatchBaselineResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_effective_patches_for_patch_baseline({ # baseline_id: "BaselineId", # required # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.effective_patches #=> Array # resp.effective_patches[0].patch.id #=> String # resp.effective_patches[0].patch.release_date #=> Time # resp.effective_patches[0].patch.title #=> String # resp.effective_patches[0].patch.description #=> String # resp.effective_patches[0].patch.content_url #=> String # resp.effective_patches[0].patch.vendor #=> String # resp.effective_patches[0].patch.product_family #=> String # resp.effective_patches[0].patch.product #=> String # resp.effective_patches[0].patch.classification #=> String # resp.effective_patches[0].patch.msrc_severity #=> String # resp.effective_patches[0].patch.kb_number #=> String # resp.effective_patches[0].patch.msrc_number #=> String # resp.effective_patches[0].patch.language #=> String # resp.effective_patches[0].patch_status.deployment_status #=> String, one of "APPROVED", "PENDING_APPROVAL", "EXPLICIT_APPROVED", "EXPLICIT_REJECTED" # resp.effective_patches[0].patch_status.compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.effective_patches[0].patch_status.approval_date #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeEffectivePatchesForPatchBaseline AWS API Documentation # # @overload describe_effective_patches_for_patch_baseline(params = {}) # @param [Hash] params ({}) def describe_effective_patches_for_patch_baseline(params = {}, options = {}) req = build_request(:describe_effective_patches_for_patch_baseline, params) req.send_request(options) end # The status of the associations for the instance(s). # # @option params [required, String] :instance_id # The instance IDs for which you want association status information. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeInstanceAssociationsStatusResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeInstanceAssociationsStatusResult#instance_association_status_infos #instance_association_status_infos} => Array<Types::InstanceAssociationStatusInfo> # * {Types::DescribeInstanceAssociationsStatusResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_instance_associations_status({ # instance_id: "InstanceId", # required # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.instance_association_status_infos #=> Array # resp.instance_association_status_infos[0].association_id #=> String # resp.instance_association_status_infos[0].name #=> String # resp.instance_association_status_infos[0].document_version #=> String # resp.instance_association_status_infos[0].association_version #=> String # resp.instance_association_status_infos[0].instance_id #=> String # resp.instance_association_status_infos[0].execution_date #=> Time # resp.instance_association_status_infos[0].status #=> String # resp.instance_association_status_infos[0].detailed_status #=> String # resp.instance_association_status_infos[0].execution_summary #=> String # resp.instance_association_status_infos[0].error_code #=> String # resp.instance_association_status_infos[0].output_url.s3_output_url.output_url #=> String # resp.instance_association_status_infos[0].association_name #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceAssociationsStatus AWS API Documentation # # @overload describe_instance_associations_status(params = {}) # @param [Hash] params ({}) def describe_instance_associations_status(params = {}, options = {}) req = build_request(:describe_instance_associations_status, params) req.send_request(options) end # Describes one or more of your instances. You can use this to get # information about instances like the operating system platform, the # SSM Agent version (Linux), status etc. If you specify one or more # instance IDs, it returns information for those instances. If you do # not specify instance IDs, it returns information for all your # instances. If you specify an instance ID that is not valid or an # instance that you do not own, you receive an error. # # The IamRole field for this API action is the Amazon Identity and # Access Management (IAM) role assigned to on-premises instances. This # call does not return the IAM role for Amazon EC2 instances. # # # # @option params [Array] :instance_information_filter_list # This is a legacy method. We recommend that you don't use this method. # Instead, use the InstanceInformationFilter action. The # `InstanceInformationFilter` action enables you to return instance # information by using tags that are specified as a key-value mapping. # # If you do use this method, then you can't use the # `InstanceInformationFilter` action. Using this method and the # `InstanceInformationFilter` action causes an exception error. # # @option params [Array] :filters # One or more filters. Use a filter to return a more specific list of # instances. You can filter on Amazon EC2 tag. Specify tags by using a # key-value mapping. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeInstanceInformationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeInstanceInformationResult#instance_information_list #instance_information_list} => Array<Types::InstanceInformation> # * {Types::DescribeInstanceInformationResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_instance_information({ # instance_information_filter_list: [ # { # key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, ActivationIds, IamRole, ResourceType, AssociationStatus # value_set: ["InstanceInformationFilterValue"], # required # }, # ], # filters: [ # { # key: "InstanceInformationStringFilterKey", # required # values: ["InstanceInformationFilterValue"], # required # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.instance_information_list #=> Array # resp.instance_information_list[0].instance_id #=> String # resp.instance_information_list[0].ping_status #=> String, one of "Online", "ConnectionLost", "Inactive" # resp.instance_information_list[0].last_ping_date_time #=> Time # resp.instance_information_list[0].agent_version #=> String # resp.instance_information_list[0].is_latest_version #=> Boolean # resp.instance_information_list[0].platform_type #=> String, one of "Windows", "Linux" # resp.instance_information_list[0].platform_name #=> String # resp.instance_information_list[0].platform_version #=> String # resp.instance_information_list[0].activation_id #=> String # resp.instance_information_list[0].iam_role #=> String # resp.instance_information_list[0].registration_date #=> Time # resp.instance_information_list[0].resource_type #=> String, one of "ManagedInstance", "Document", "EC2Instance" # resp.instance_information_list[0].name #=> String # resp.instance_information_list[0].ip_address #=> String # resp.instance_information_list[0].computer_name #=> String # resp.instance_information_list[0].association_status #=> String # resp.instance_information_list[0].last_association_execution_date #=> Time # resp.instance_information_list[0].last_successful_association_execution_date #=> Time # resp.instance_information_list[0].association_overview.detailed_status #=> String # resp.instance_information_list[0].association_overview.instance_association_status_aggregated_count #=> Hash # resp.instance_information_list[0].association_overview.instance_association_status_aggregated_count["StatusName"] #=> Integer # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstanceInformation AWS API Documentation # # @overload describe_instance_information(params = {}) # @param [Hash] params ({}) def describe_instance_information(params = {}, options = {}) req = build_request(:describe_instance_information, params) req.send_request(options) end # Retrieves the high-level patch state of one or more instances. # # @option params [required, Array] :instance_ids # The ID of the instance whose patch state information should be # retrieved. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of instances to return (per page). # # @return [Types::DescribeInstancePatchStatesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeInstancePatchStatesResult#instance_patch_states #instance_patch_states} => Array<Types::InstancePatchState> # * {Types::DescribeInstancePatchStatesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_instance_patch_states({ # instance_ids: ["InstanceId"], # required # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.instance_patch_states #=> Array # resp.instance_patch_states[0].instance_id #=> String # resp.instance_patch_states[0].patch_group #=> String # resp.instance_patch_states[0].baseline_id #=> String # resp.instance_patch_states[0].snapshot_id #=> String # resp.instance_patch_states[0].install_override_list #=> String # resp.instance_patch_states[0].owner_information #=> String # resp.instance_patch_states[0].installed_count #=> Integer # resp.instance_patch_states[0].installed_other_count #=> Integer # resp.instance_patch_states[0].installed_pending_reboot_count #=> Integer # resp.instance_patch_states[0].installed_rejected_count #=> Integer # resp.instance_patch_states[0].missing_count #=> Integer # resp.instance_patch_states[0].failed_count #=> Integer # resp.instance_patch_states[0].unreported_not_applicable_count #=> Integer # resp.instance_patch_states[0].not_applicable_count #=> Integer # resp.instance_patch_states[0].operation_start_time #=> Time # resp.instance_patch_states[0].operation_end_time #=> Time # resp.instance_patch_states[0].operation #=> String, one of "Scan", "Install" # resp.instance_patch_states[0].last_no_reboot_install_operation_time #=> Time # resp.instance_patch_states[0].reboot_option #=> String, one of "RebootIfNeeded", "NoReboot" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStates AWS API Documentation # # @overload describe_instance_patch_states(params = {}) # @param [Hash] params ({}) def describe_instance_patch_states(params = {}, options = {}) req = build_request(:describe_instance_patch_states, params) req.send_request(options) end # Retrieves the high-level patch state for the instances in the # specified patch group. # # @option params [required, String] :patch_group # The name of the patch group for which the patch state information # should be retrieved. # # @option params [Array] :filters # Each entry in the array is a structure containing: # # Key (string between 1 and 200 characters) # # Values (array containing a single string) # # Type (string "Equal", "NotEqual", "LessThan", "GreaterThan") # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of patches to return (per page). # # @return [Types::DescribeInstancePatchStatesForPatchGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeInstancePatchStatesForPatchGroupResult#instance_patch_states #instance_patch_states} => Array<Types::InstancePatchState> # * {Types::DescribeInstancePatchStatesForPatchGroupResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_instance_patch_states_for_patch_group({ # patch_group: "PatchGroup", # required # filters: [ # { # key: "InstancePatchStateFilterKey", # required # values: ["InstancePatchStateFilterValue"], # required # type: "Equal", # required, accepts Equal, NotEqual, LessThan, GreaterThan # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.instance_patch_states #=> Array # resp.instance_patch_states[0].instance_id #=> String # resp.instance_patch_states[0].patch_group #=> String # resp.instance_patch_states[0].baseline_id #=> String # resp.instance_patch_states[0].snapshot_id #=> String # resp.instance_patch_states[0].install_override_list #=> String # resp.instance_patch_states[0].owner_information #=> String # resp.instance_patch_states[0].installed_count #=> Integer # resp.instance_patch_states[0].installed_other_count #=> Integer # resp.instance_patch_states[0].installed_pending_reboot_count #=> Integer # resp.instance_patch_states[0].installed_rejected_count #=> Integer # resp.instance_patch_states[0].missing_count #=> Integer # resp.instance_patch_states[0].failed_count #=> Integer # resp.instance_patch_states[0].unreported_not_applicable_count #=> Integer # resp.instance_patch_states[0].not_applicable_count #=> Integer # resp.instance_patch_states[0].operation_start_time #=> Time # resp.instance_patch_states[0].operation_end_time #=> Time # resp.instance_patch_states[0].operation #=> String, one of "Scan", "Install" # resp.instance_patch_states[0].last_no_reboot_install_operation_time #=> Time # resp.instance_patch_states[0].reboot_option #=> String, one of "RebootIfNeeded", "NoReboot" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatchStatesForPatchGroup AWS API Documentation # # @overload describe_instance_patch_states_for_patch_group(params = {}) # @param [Hash] params ({}) def describe_instance_patch_states_for_patch_group(params = {}, options = {}) req = build_request(:describe_instance_patch_states_for_patch_group, params) req.send_request(options) end # Retrieves information about the patches on the specified instance and # their state relative to the patch baseline being used for the # instance. # # @option params [required, String] :instance_id # The ID of the instance whose patch state information should be # retrieved. # # @option params [Array] :filters # An array of structures. Each entry in the array is a structure # containing a Key, Value combination. Valid values for Key are # `Classification` \| `KBId` \| `Severity` \| `State`. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of patches to return (per page). # # @return [Types::DescribeInstancePatchesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeInstancePatchesResult#patches #patches} => Array<Types::PatchComplianceData> # * {Types::DescribeInstancePatchesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_instance_patches({ # instance_id: "InstanceId", # required # filters: [ # { # key: "PatchOrchestratorFilterKey", # values: ["PatchOrchestratorFilterValue"], # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.patches #=> Array # resp.patches[0].title #=> String # resp.patches[0].kb_id #=> String # resp.patches[0].classification #=> String # resp.patches[0].severity #=> String # resp.patches[0].state #=> String, one of "INSTALLED", "INSTALLED_OTHER", "INSTALLED_PENDING_REBOOT", "INSTALLED_REJECTED", "MISSING", "NOT_APPLICABLE", "FAILED" # resp.patches[0].installed_time #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInstancePatches AWS API Documentation # # @overload describe_instance_patches(params = {}) # @param [Hash] params ({}) def describe_instance_patches(params = {}, options = {}) req = build_request(:describe_instance_patches, params) req.send_request(options) end # Describes a specific delete inventory operation. # # @option params [String] :deletion_id # Specify the delete inventory ID for which you want information. This # ID was returned by the `DeleteInventory` action. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::DescribeInventoryDeletionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeInventoryDeletionsResult#inventory_deletions #inventory_deletions} => Array<Types::InventoryDeletionStatusItem> # * {Types::DescribeInventoryDeletionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_inventory_deletions({ # deletion_id: "InventoryDeletionId", # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.inventory_deletions #=> Array # resp.inventory_deletions[0].deletion_id #=> String # resp.inventory_deletions[0].type_name #=> String # resp.inventory_deletions[0].deletion_start_time #=> Time # resp.inventory_deletions[0].last_status #=> String, one of "InProgress", "Complete" # resp.inventory_deletions[0].last_status_message #=> String # resp.inventory_deletions[0].deletion_summary.total_count #=> Integer # resp.inventory_deletions[0].deletion_summary.remaining_count #=> Integer # resp.inventory_deletions[0].deletion_summary.summary_items #=> Array # resp.inventory_deletions[0].deletion_summary.summary_items[0].version #=> String # resp.inventory_deletions[0].deletion_summary.summary_items[0].count #=> Integer # resp.inventory_deletions[0].deletion_summary.summary_items[0].remaining_count #=> Integer # resp.inventory_deletions[0].last_status_update_time #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeInventoryDeletions AWS API Documentation # # @overload describe_inventory_deletions(params = {}) # @param [Hash] params ({}) def describe_inventory_deletions(params = {}, options = {}) req = build_request(:describe_inventory_deletions, params) req.send_request(options) end # Retrieves the individual task executions (one per target) for a # particular task run as part of a maintenance window execution. # # @option params [required, String] :window_execution_id # The ID of the maintenance window execution the task is part of. # # @option params [required, String] :task_id # The ID of the specific task in the maintenance window task that should # be retrieved. # # @option params [Array] :filters # Optional filters used to scope down the returned task invocations. The # supported filter key is STATUS with the corresponding values PENDING, # IN\_PROGRESS, SUCCESS, FAILED, TIMED\_OUT, CANCELLING, and CANCELLED. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowExecutionTaskInvocationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowExecutionTaskInvocationsResult#window_execution_task_invocation_identities #window_execution_task_invocation_identities} => Array<Types::MaintenanceWindowExecutionTaskInvocationIdentity> # * {Types::DescribeMaintenanceWindowExecutionTaskInvocationsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_window_execution_task_invocations({ # window_execution_id: "MaintenanceWindowExecutionId", # required # task_id: "MaintenanceWindowExecutionTaskId", # required # filters: [ # { # key: "MaintenanceWindowFilterKey", # values: ["MaintenanceWindowFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.window_execution_task_invocation_identities #=> Array # resp.window_execution_task_invocation_identities[0].window_execution_id #=> String # resp.window_execution_task_invocation_identities[0].task_execution_id #=> String # resp.window_execution_task_invocation_identities[0].invocation_id #=> String # resp.window_execution_task_invocation_identities[0].execution_id #=> String # resp.window_execution_task_invocation_identities[0].task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA" # resp.window_execution_task_invocation_identities[0].parameters #=> String # resp.window_execution_task_invocation_identities[0].status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING" # resp.window_execution_task_invocation_identities[0].status_details #=> String # resp.window_execution_task_invocation_identities[0].start_time #=> Time # resp.window_execution_task_invocation_identities[0].end_time #=> Time # resp.window_execution_task_invocation_identities[0].owner_information #=> String # resp.window_execution_task_invocation_identities[0].window_target_id #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTaskInvocations AWS API Documentation # # @overload describe_maintenance_window_execution_task_invocations(params = {}) # @param [Hash] params ({}) def describe_maintenance_window_execution_task_invocations(params = {}, options = {}) req = build_request(:describe_maintenance_window_execution_task_invocations, params) req.send_request(options) end # For a given maintenance window execution, lists the tasks that were # run. # # @option params [required, String] :window_execution_id # The ID of the maintenance window execution whose task executions # should be retrieved. # # @option params [Array] :filters # Optional filters used to scope down the returned tasks. The supported # filter key is STATUS with the corresponding values PENDING, # IN\_PROGRESS, SUCCESS, FAILED, TIMED\_OUT, CANCELLING, and CANCELLED. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowExecutionTasksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowExecutionTasksResult#window_execution_task_identities #window_execution_task_identities} => Array<Types::MaintenanceWindowExecutionTaskIdentity> # * {Types::DescribeMaintenanceWindowExecutionTasksResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_window_execution_tasks({ # window_execution_id: "MaintenanceWindowExecutionId", # required # filters: [ # { # key: "MaintenanceWindowFilterKey", # values: ["MaintenanceWindowFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.window_execution_task_identities #=> Array # resp.window_execution_task_identities[0].window_execution_id #=> String # resp.window_execution_task_identities[0].task_execution_id #=> String # resp.window_execution_task_identities[0].status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING" # resp.window_execution_task_identities[0].status_details #=> String # resp.window_execution_task_identities[0].start_time #=> Time # resp.window_execution_task_identities[0].end_time #=> Time # resp.window_execution_task_identities[0].task_arn #=> String # resp.window_execution_task_identities[0].task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutionTasks AWS API Documentation # # @overload describe_maintenance_window_execution_tasks(params = {}) # @param [Hash] params ({}) def describe_maintenance_window_execution_tasks(params = {}, options = {}) req = build_request(:describe_maintenance_window_execution_tasks, params) req.send_request(options) end # Lists the executions of a maintenance window. This includes # information about when the maintenance window was scheduled to be # active, and information about tasks registered and run with the # maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window whose executions should be retrieved. # # @option params [Array] :filters # Each entry in the array is a structure containing: # # Key (string, between 1 and 128 characters) # # Values (array of strings, each string is between 1 and 256 characters) # # The supported Keys are ExecutedBefore and ExecutedAfter with the value # being a date/time string such as 2016-11-04T05:00:00Z. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowExecutionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowExecutionsResult#window_executions #window_executions} => Array<Types::MaintenanceWindowExecution> # * {Types::DescribeMaintenanceWindowExecutionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_window_executions({ # window_id: "MaintenanceWindowId", # required # filters: [ # { # key: "MaintenanceWindowFilterKey", # values: ["MaintenanceWindowFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.window_executions #=> Array # resp.window_executions[0].window_id #=> String # resp.window_executions[0].window_execution_id #=> String # resp.window_executions[0].status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING" # resp.window_executions[0].status_details #=> String # resp.window_executions[0].start_time #=> Time # resp.window_executions[0].end_time #=> Time # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowExecutions AWS API Documentation # # @overload describe_maintenance_window_executions(params = {}) # @param [Hash] params ({}) def describe_maintenance_window_executions(params = {}, options = {}) req = build_request(:describe_maintenance_window_executions, params) req.send_request(options) end # Retrieves information about upcoming executions of a maintenance # window. # # @option params [String] :window_id # The ID of the maintenance window to retrieve information about. # # @option params [Array] :targets # The instance ID or key/value pair to retrieve information about. # # @option params [String] :resource_type # The type of resource you want to retrieve information about. For # example, "INSTANCE". # # @option params [Array] :filters # Filters used to limit the range of results. For example, you can limit # maintenance window executions to only those scheduled before or after # a certain date and time. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowScheduleResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowScheduleResult#scheduled_window_executions #scheduled_window_executions} => Array<Types::ScheduledWindowExecution> # * {Types::DescribeMaintenanceWindowScheduleResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_window_schedule({ # window_id: "MaintenanceWindowId", # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # resource_type: "INSTANCE", # accepts INSTANCE, RESOURCE_GROUP # filters: [ # { # key: "PatchOrchestratorFilterKey", # values: ["PatchOrchestratorFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.scheduled_window_executions #=> Array # resp.scheduled_window_executions[0].window_id #=> String # resp.scheduled_window_executions[0].name #=> String # resp.scheduled_window_executions[0].execution_time #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowSchedule AWS API Documentation # # @overload describe_maintenance_window_schedule(params = {}) # @param [Hash] params ({}) def describe_maintenance_window_schedule(params = {}, options = {}) req = build_request(:describe_maintenance_window_schedule, params) req.send_request(options) end # Lists the targets registered with the maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window whose targets should be retrieved. # # @option params [Array] :filters # Optional filters that can be used to narrow down the scope of the # returned window targets. The supported filter keys are Type, # WindowTargetId and OwnerInformation. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowTargetsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowTargetsResult#targets #targets} => Array<Types::MaintenanceWindowTarget> # * {Types::DescribeMaintenanceWindowTargetsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_window_targets({ # window_id: "MaintenanceWindowId", # required # filters: [ # { # key: "MaintenanceWindowFilterKey", # values: ["MaintenanceWindowFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.targets #=> Array # resp.targets[0].window_id #=> String # resp.targets[0].window_target_id #=> String # resp.targets[0].resource_type #=> String, one of "INSTANCE", "RESOURCE_GROUP" # resp.targets[0].targets #=> Array # resp.targets[0].targets[0].key #=> String # resp.targets[0].targets[0].values #=> Array # resp.targets[0].targets[0].values[0] #=> String # resp.targets[0].owner_information #=> String # resp.targets[0].name #=> String # resp.targets[0].description #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTargets AWS API Documentation # # @overload describe_maintenance_window_targets(params = {}) # @param [Hash] params ({}) def describe_maintenance_window_targets(params = {}, options = {}) req = build_request(:describe_maintenance_window_targets, params) req.send_request(options) end # Lists the tasks in a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window whose tasks should be retrieved. # # @option params [Array] :filters # Optional filters used to narrow down the scope of the returned tasks. # The supported filter keys are WindowTaskId, TaskArn, Priority, and # TaskType. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowTasksResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowTasksResult#tasks #tasks} => Array<Types::MaintenanceWindowTask> # * {Types::DescribeMaintenanceWindowTasksResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_window_tasks({ # window_id: "MaintenanceWindowId", # required # filters: [ # { # key: "MaintenanceWindowFilterKey", # values: ["MaintenanceWindowFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.tasks #=> Array # resp.tasks[0].window_id #=> String # resp.tasks[0].window_task_id #=> String # resp.tasks[0].task_arn #=> String # resp.tasks[0].type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA" # resp.tasks[0].targets #=> Array # resp.tasks[0].targets[0].key #=> String # resp.tasks[0].targets[0].values #=> Array # resp.tasks[0].targets[0].values[0] #=> String # resp.tasks[0].task_parameters #=> Hash # resp.tasks[0].task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array # resp.tasks[0].task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String # resp.tasks[0].priority #=> Integer # resp.tasks[0].logging_info.s3_bucket_name #=> String # resp.tasks[0].logging_info.s3_key_prefix #=> String # resp.tasks[0].logging_info.s3_region #=> String # resp.tasks[0].service_role_arn #=> String # resp.tasks[0].max_concurrency #=> String # resp.tasks[0].max_errors #=> String # resp.tasks[0].name #=> String # resp.tasks[0].description #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowTasks AWS API Documentation # # @overload describe_maintenance_window_tasks(params = {}) # @param [Hash] params ({}) def describe_maintenance_window_tasks(params = {}, options = {}) req = build_request(:describe_maintenance_window_tasks, params) req.send_request(options) end # Retrieves the maintenance windows in an AWS account. # # @option params [Array] :filters # Optional filters used to narrow down the scope of the returned # maintenance windows. Supported filter keys are **Name** and # **Enabled**. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowsResult#window_identities #window_identities} => Array<Types::MaintenanceWindowIdentity> # * {Types::DescribeMaintenanceWindowsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_windows({ # filters: [ # { # key: "MaintenanceWindowFilterKey", # values: ["MaintenanceWindowFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.window_identities #=> Array # resp.window_identities[0].window_id #=> String # resp.window_identities[0].name #=> String # resp.window_identities[0].description #=> String # resp.window_identities[0].enabled #=> Boolean # resp.window_identities[0].duration #=> Integer # resp.window_identities[0].cutoff #=> Integer # resp.window_identities[0].schedule #=> String # resp.window_identities[0].schedule_timezone #=> String # resp.window_identities[0].end_date #=> String # resp.window_identities[0].start_date #=> String # resp.window_identities[0].next_execution_time #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindows AWS API Documentation # # @overload describe_maintenance_windows(params = {}) # @param [Hash] params ({}) def describe_maintenance_windows(params = {}, options = {}) req = build_request(:describe_maintenance_windows, params) req.send_request(options) end # Retrieves information about the maintenance window targets or tasks # that an instance is associated with. # # @option params [required, Array] :targets # The instance ID or key/value pair to retrieve information about. # # @option params [required, String] :resource_type # The type of resource you want to retrieve information about. For # example, "INSTANCE". # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeMaintenanceWindowsForTargetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceWindowsForTargetResult#window_identities #window_identities} => Array<Types::MaintenanceWindowIdentityForTarget> # * {Types::DescribeMaintenanceWindowsForTargetResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_windows_for_target({ # targets: [ # required # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # resource_type: "INSTANCE", # required, accepts INSTANCE, RESOURCE_GROUP # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.window_identities #=> Array # resp.window_identities[0].window_id #=> String # resp.window_identities[0].name #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeMaintenanceWindowsForTarget AWS API Documentation # # @overload describe_maintenance_windows_for_target(params = {}) # @param [Hash] params ({}) def describe_maintenance_windows_for_target(params = {}, options = {}) req = build_request(:describe_maintenance_windows_for_target, params) req.send_request(options) end # Query a set of OpsItems. You must have permission in AWS Identity and # Access Management (IAM) to query a list of OpsItems. For more # information, see [Getting Started with OpsCenter][1] in the *AWS # Systems Manager User Guide*. # # Operations engineers and IT professionals use OpsCenter to view, # investigate, and remediate operational issues impacting the # performance and health of their AWS resources. For more information, # see [AWS Systems Manager OpsCenter][2] in the *AWS Systems Manager # User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html # # @option params [Array] :ops_item_filters # One or more filters to limit the reponse. # # * Key: CreatedTime # # Operations: GreaterThan, LessThan # # * Key: LastModifiedBy # # Operations: Contains, Equals # # * Key: LastModifiedTime # # Operations: GreaterThan, LessThan # # * Key: Priority # # Operations: Equals # # * Key: Source # # Operations: Contains, Equals # # * Key: Status # # Operations: Equals # # * Key: Title # # Operations: Contains # # * Key: OperationalData* # # Operations: Equals # # * Key: OperationalDataKey # # Operations: Equals # # * Key: OperationalDataValue # # Operations: Equals, Contains # # * Key: OpsItemId # # Operations: Equals # # * Key: ResourceId # # Operations: Contains # # * Key: AutomationId # # Operations: Equals # # *If you filter the response by using the OperationalData operator, # specify a key-value pair by using the following JSON format: # \\\{"key":"key\_name","value":"a\_value"\\} # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @return [Types::DescribeOpsItemsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeOpsItemsResponse#next_token #next_token} => String # * {Types::DescribeOpsItemsResponse#ops_item_summaries #ops_item_summaries} => Array<Types::OpsItemSummary> # # @example Request syntax with placeholder values # # resp = client.describe_ops_items({ # ops_item_filters: [ # { # key: "Status", # required, accepts Status, CreatedBy, Source, Priority, Title, OpsItemId, CreatedTime, LastModifiedTime, OperationalData, OperationalDataKey, OperationalDataValue, ResourceId, AutomationId, Category, Severity # values: ["OpsItemFilterValue"], # required # operator: "Equal", # required, accepts Equal, Contains, GreaterThan, LessThan # }, # ], # max_results: 1, # next_token: "String", # }) # # @example Response structure # # resp.next_token #=> String # resp.ops_item_summaries #=> Array # resp.ops_item_summaries[0].created_by #=> String # resp.ops_item_summaries[0].created_time #=> Time # resp.ops_item_summaries[0].last_modified_by #=> String # resp.ops_item_summaries[0].last_modified_time #=> Time # resp.ops_item_summaries[0].priority #=> Integer # resp.ops_item_summaries[0].source #=> String # resp.ops_item_summaries[0].status #=> String, one of "Open", "InProgress", "Resolved" # resp.ops_item_summaries[0].ops_item_id #=> String # resp.ops_item_summaries[0].title #=> String # resp.ops_item_summaries[0].operational_data #=> Hash # resp.ops_item_summaries[0].operational_data["OpsItemDataKey"].value #=> String # resp.ops_item_summaries[0].operational_data["OpsItemDataKey"].type #=> String, one of "SearchableString", "String" # resp.ops_item_summaries[0].category #=> String # resp.ops_item_summaries[0].severity #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeOpsItems AWS API Documentation # # @overload describe_ops_items(params = {}) # @param [Hash] params ({}) def describe_ops_items(params = {}, options = {}) req = build_request(:describe_ops_items, params) req.send_request(options) end # Get information about a parameter. # # Request results are returned on a best-effort basis. If you specify # `MaxResults` in the request, the response includes information up to # the limit specified. The number of items returned, however, can be # between zero and the value of `MaxResults`. If the service reaches an # internal limit while processing the results, it stops the operation # and returns the matching values up to that point and a `NextToken`. # You can specify the `NextToken` in a subsequent call to get the next # set of results. # # # # @option params [Array] :filters # This data type is deprecated. Instead, use `ParameterFilters`. # # @option params [Array] :parameter_filters # Filters to limit the request results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribeParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeParametersResult#parameters #parameters} => Array<Types::ParameterMetadata> # * {Types::DescribeParametersResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_parameters({ # filters: [ # { # key: "Name", # required, accepts Name, Type, KeyId # values: ["ParametersFilterValue"], # required # }, # ], # parameter_filters: [ # { # key: "ParameterStringFilterKey", # required # option: "ParameterStringQueryOption", # values: ["ParameterStringFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.parameters #=> Array # resp.parameters[0].name #=> String # resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString" # resp.parameters[0].key_id #=> String # resp.parameters[0].last_modified_date #=> Time # resp.parameters[0].last_modified_user #=> String # resp.parameters[0].description #=> String # resp.parameters[0].allowed_pattern #=> String # resp.parameters[0].version #=> Integer # resp.parameters[0].tier #=> String, one of "Standard", "Advanced", "Intelligent-Tiering" # resp.parameters[0].policies #=> Array # resp.parameters[0].policies[0].policy_text #=> String # resp.parameters[0].policies[0].policy_type #=> String # resp.parameters[0].policies[0].policy_status #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeParameters AWS API Documentation # # @overload describe_parameters(params = {}) # @param [Hash] params ({}) def describe_parameters(params = {}, options = {}) req = build_request(:describe_parameters, params) req.send_request(options) end # Lists the patch baselines in your AWS account. # # @option params [Array] :filters # Each element in the array is a structure containing: # # Key: (string, "NAME\_PREFIX" or "OWNER") # # Value: (array of strings, exactly 1 entry, between 1 and 255 # characters) # # @option params [Integer] :max_results # The maximum number of patch baselines to return (per page). # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribePatchBaselinesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribePatchBaselinesResult#baseline_identities #baseline_identities} => Array<Types::PatchBaselineIdentity> # * {Types::DescribePatchBaselinesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_patch_baselines({ # filters: [ # { # key: "PatchOrchestratorFilterKey", # values: ["PatchOrchestratorFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.baseline_identities #=> Array # resp.baseline_identities[0].baseline_id #=> String # resp.baseline_identities[0].baseline_name #=> String # resp.baseline_identities[0].operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS" # resp.baseline_identities[0].baseline_description #=> String # resp.baseline_identities[0].default_baseline #=> Boolean # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchBaselines AWS API Documentation # # @overload describe_patch_baselines(params = {}) # @param [Hash] params ({}) def describe_patch_baselines(params = {}, options = {}) req = build_request(:describe_patch_baselines, params) req.send_request(options) end # Returns high-level aggregated patch compliance state for a patch # group. # # @option params [required, String] :patch_group # The name of the patch group whose patch snapshot should be retrieved. # # @return [Types::DescribePatchGroupStateResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribePatchGroupStateResult#instances #instances} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_installed_patches #instances_with_installed_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_installed_other_patches #instances_with_installed_other_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_installed_pending_reboot_patches #instances_with_installed_pending_reboot_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_installed_rejected_patches #instances_with_installed_rejected_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_missing_patches #instances_with_missing_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_failed_patches #instances_with_failed_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_not_applicable_patches #instances_with_not_applicable_patches} => Integer # * {Types::DescribePatchGroupStateResult#instances_with_unreported_not_applicable_patches #instances_with_unreported_not_applicable_patches} => Integer # # @example Request syntax with placeholder values # # resp = client.describe_patch_group_state({ # patch_group: "PatchGroup", # required # }) # # @example Response structure # # resp.instances #=> Integer # resp.instances_with_installed_patches #=> Integer # resp.instances_with_installed_other_patches #=> Integer # resp.instances_with_installed_pending_reboot_patches #=> Integer # resp.instances_with_installed_rejected_patches #=> Integer # resp.instances_with_missing_patches #=> Integer # resp.instances_with_failed_patches #=> Integer # resp.instances_with_not_applicable_patches #=> Integer # resp.instances_with_unreported_not_applicable_patches #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroupState AWS API Documentation # # @overload describe_patch_group_state(params = {}) # @param [Hash] params ({}) def describe_patch_group_state(params = {}, options = {}) req = build_request(:describe_patch_group_state, params) req.send_request(options) end # Lists all patch groups that have been registered with patch baselines. # # @option params [Integer] :max_results # The maximum number of patch groups to return (per page). # # @option params [Array] :filters # One or more filters. Use a filter to return a more specific list of # results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribePatchGroupsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribePatchGroupsResult#mappings #mappings} => Array<Types::PatchGroupPatchBaselineMapping> # * {Types::DescribePatchGroupsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_patch_groups({ # max_results: 1, # filters: [ # { # key: "PatchOrchestratorFilterKey", # values: ["PatchOrchestratorFilterValue"], # }, # ], # next_token: "NextToken", # }) # # @example Response structure # # resp.mappings #=> Array # resp.mappings[0].patch_group #=> String # resp.mappings[0].baseline_identity.baseline_id #=> String # resp.mappings[0].baseline_identity.baseline_name #=> String # resp.mappings[0].baseline_identity.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS" # resp.mappings[0].baseline_identity.baseline_description #=> String # resp.mappings[0].baseline_identity.default_baseline #=> Boolean # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchGroups AWS API Documentation # # @overload describe_patch_groups(params = {}) # @param [Hash] params ({}) def describe_patch_groups(params = {}, options = {}) req = build_request(:describe_patch_groups, params) req.send_request(options) end # Lists the properties of available patches organized by product, # product family, classification, severity, and other properties of # available patches. You can use the reported properties in the filters # you specify in requests for actions such as CreatePatchBaseline, # UpdatePatchBaseline, DescribeAvailablePatches, and # DescribePatchBaselines. # # The following section lists the properties that can be used in filters # for each major operating system type: # # WINDOWS # # : Valid properties: PRODUCT, PRODUCT\_FAMILY, CLASSIFICATION, # MSRC\_SEVERITY # # AMAZON\_LINUX # # : Valid properties: PRODUCT, CLASSIFICATION, SEVERITY # # AMAZON\_LINUX\_2 # # : Valid properties: PRODUCT, CLASSIFICATION, SEVERITY # # UBUNTU # # : Valid properties: PRODUCT, PRIORITY # # REDHAT\_ENTERPRISE\_LINUX # # : Valid properties: PRODUCT, CLASSIFICATION, SEVERITY # # SUSE # # : Valid properties: PRODUCT, CLASSIFICATION, SEVERITY # # CENTOS # # : Valid properties: PRODUCT, CLASSIFICATION, SEVERITY # # @option params [required, String] :operating_system # The operating system type for which to list patches. # # @option params [required, String] :property # The patch property for which you want to view patch details. # # @option params [String] :patch_set # Indicates whether to list patches for the Windows operating system or # for Microsoft applications. Not applicable for Linux operating # systems. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::DescribePatchPropertiesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribePatchPropertiesResult#properties #properties} => Array<Hash<String,String>> # * {Types::DescribePatchPropertiesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_patch_properties({ # operating_system: "WINDOWS", # required, accepts WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS # property: "PRODUCT", # required, accepts PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY, PRIORITY, SEVERITY # patch_set: "OS", # accepts OS, APPLICATION # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.properties #=> Array # resp.properties[0] #=> Hash # resp.properties[0]["AttributeName"] #=> # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribePatchProperties AWS API Documentation # # @overload describe_patch_properties(params = {}) # @param [Hash] params ({}) def describe_patch_properties(params = {}, options = {}) req = build_request(:describe_patch_properties, params) req.send_request(options) end # Retrieves a list of all active sessions (both connected and # disconnected) or terminated sessions from the past 30 days. # # @option params [required, String] :state # The session status to retrieve a list of sessions for. For example, # "Active". # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Array] :filters # One or more filters to limit the type of sessions returned by the # request. # # @return [Types::DescribeSessionsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeSessionsResponse#sessions #sessions} => Array<Types::Session> # * {Types::DescribeSessionsResponse#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.describe_sessions({ # state: "Active", # required, accepts Active, History # max_results: 1, # next_token: "NextToken", # filters: [ # { # key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Target, Owner, Status # value: "SessionFilterValue", # required # }, # ], # }) # # @example Response structure # # resp.sessions #=> Array # resp.sessions[0].session_id #=> String # resp.sessions[0].target #=> String # resp.sessions[0].status #=> String, one of "Connected", "Connecting", "Disconnected", "Terminated", "Terminating", "Failed" # resp.sessions[0].start_date #=> Time # resp.sessions[0].end_date #=> Time # resp.sessions[0].document_name #=> String # resp.sessions[0].owner #=> String # resp.sessions[0].details #=> String # resp.sessions[0].output_url.s3_output_url #=> String # resp.sessions[0].output_url.cloud_watch_output_url #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DescribeSessions AWS API Documentation # # @overload describe_sessions(params = {}) # @param [Hash] params ({}) def describe_sessions(params = {}, options = {}) req = build_request(:describe_sessions, params) req.send_request(options) end # Get detailed information about a particular Automation execution. # # @option params [required, String] :automation_execution_id # The unique identifier for an existing automation execution to examine. # The execution ID is returned by StartAutomationExecution when the # execution of an Automation document is initiated. # # @return [Types::GetAutomationExecutionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetAutomationExecutionResult#automation_execution #automation_execution} => Types::AutomationExecution # # @example Request syntax with placeholder values # # resp = client.get_automation_execution({ # automation_execution_id: "AutomationExecutionId", # required # }) # # @example Response structure # # resp.automation_execution.automation_execution_id #=> String # resp.automation_execution.document_name #=> String # resp.automation_execution.document_version #=> String # resp.automation_execution.execution_start_time #=> Time # resp.automation_execution.execution_end_time #=> Time # resp.automation_execution.automation_execution_status #=> String, one of "Pending", "InProgress", "Waiting", "Success", "TimedOut", "Cancelling", "Cancelled", "Failed" # resp.automation_execution.step_executions #=> Array # resp.automation_execution.step_executions[0].step_name #=> String # resp.automation_execution.step_executions[0].action #=> String # resp.automation_execution.step_executions[0].timeout_seconds #=> Integer # resp.automation_execution.step_executions[0].on_failure #=> String # resp.automation_execution.step_executions[0].max_attempts #=> Integer # resp.automation_execution.step_executions[0].execution_start_time #=> Time # resp.automation_execution.step_executions[0].execution_end_time #=> Time # resp.automation_execution.step_executions[0].step_status #=> String, one of "Pending", "InProgress", "Waiting", "Success", "TimedOut", "Cancelling", "Cancelled", "Failed" # resp.automation_execution.step_executions[0].response_code #=> String # resp.automation_execution.step_executions[0].inputs #=> Hash # resp.automation_execution.step_executions[0].inputs["String"] #=> String # resp.automation_execution.step_executions[0].outputs #=> Hash # resp.automation_execution.step_executions[0].outputs["AutomationParameterKey"] #=> Array # resp.automation_execution.step_executions[0].outputs["AutomationParameterKey"][0] #=> String # resp.automation_execution.step_executions[0].response #=> String # resp.automation_execution.step_executions[0].failure_message #=> String # resp.automation_execution.step_executions[0].failure_details.failure_stage #=> String # resp.automation_execution.step_executions[0].failure_details.failure_type #=> String # resp.automation_execution.step_executions[0].failure_details.details #=> Hash # resp.automation_execution.step_executions[0].failure_details.details["AutomationParameterKey"] #=> Array # resp.automation_execution.step_executions[0].failure_details.details["AutomationParameterKey"][0] #=> String # resp.automation_execution.step_executions[0].step_execution_id #=> String # resp.automation_execution.step_executions[0].overridden_parameters #=> Hash # resp.automation_execution.step_executions[0].overridden_parameters["AutomationParameterKey"] #=> Array # resp.automation_execution.step_executions[0].overridden_parameters["AutomationParameterKey"][0] #=> String # resp.automation_execution.step_executions[0].is_end #=> Boolean # resp.automation_execution.step_executions[0].next_step #=> String # resp.automation_execution.step_executions[0].is_critical #=> Boolean # resp.automation_execution.step_executions[0].valid_next_steps #=> Array # resp.automation_execution.step_executions[0].valid_next_steps[0] #=> String # resp.automation_execution.step_executions[0].targets #=> Array # resp.automation_execution.step_executions[0].targets[0].key #=> String # resp.automation_execution.step_executions[0].targets[0].values #=> Array # resp.automation_execution.step_executions[0].targets[0].values[0] #=> String # resp.automation_execution.step_executions[0].target_location.accounts #=> Array # resp.automation_execution.step_executions[0].target_location.accounts[0] #=> String # resp.automation_execution.step_executions[0].target_location.regions #=> Array # resp.automation_execution.step_executions[0].target_location.regions[0] #=> String # resp.automation_execution.step_executions[0].target_location.target_location_max_concurrency #=> String # resp.automation_execution.step_executions[0].target_location.target_location_max_errors #=> String # resp.automation_execution.step_executions[0].target_location.execution_role_name #=> String # resp.automation_execution.step_executions_truncated #=> Boolean # resp.automation_execution.parameters #=> Hash # resp.automation_execution.parameters["AutomationParameterKey"] #=> Array # resp.automation_execution.parameters["AutomationParameterKey"][0] #=> String # resp.automation_execution.outputs #=> Hash # resp.automation_execution.outputs["AutomationParameterKey"] #=> Array # resp.automation_execution.outputs["AutomationParameterKey"][0] #=> String # resp.automation_execution.failure_message #=> String # resp.automation_execution.mode #=> String, one of "Auto", "Interactive" # resp.automation_execution.parent_automation_execution_id #=> String # resp.automation_execution.executed_by #=> String # resp.automation_execution.current_step_name #=> String # resp.automation_execution.current_action #=> String # resp.automation_execution.target_parameter_name #=> String # resp.automation_execution.targets #=> Array # resp.automation_execution.targets[0].key #=> String # resp.automation_execution.targets[0].values #=> Array # resp.automation_execution.targets[0].values[0] #=> String # resp.automation_execution.target_maps #=> Array # resp.automation_execution.target_maps[0] #=> Hash # resp.automation_execution.target_maps[0]["TargetMapKey"] #=> Array # resp.automation_execution.target_maps[0]["TargetMapKey"][0] #=> String # resp.automation_execution.resolved_targets.parameter_values #=> Array # resp.automation_execution.resolved_targets.parameter_values[0] #=> String # resp.automation_execution.resolved_targets.truncated #=> Boolean # resp.automation_execution.max_concurrency #=> String # resp.automation_execution.max_errors #=> String # resp.automation_execution.target #=> String # resp.automation_execution.target_locations #=> Array # resp.automation_execution.target_locations[0].accounts #=> Array # resp.automation_execution.target_locations[0].accounts[0] #=> String # resp.automation_execution.target_locations[0].regions #=> Array # resp.automation_execution.target_locations[0].regions[0] #=> String # resp.automation_execution.target_locations[0].target_location_max_concurrency #=> String # resp.automation_execution.target_locations[0].target_location_max_errors #=> String # resp.automation_execution.target_locations[0].execution_role_name #=> String # resp.automation_execution.progress_counters.total_steps #=> Integer # resp.automation_execution.progress_counters.success_steps #=> Integer # resp.automation_execution.progress_counters.failed_steps #=> Integer # resp.automation_execution.progress_counters.cancelled_steps #=> Integer # resp.automation_execution.progress_counters.timed_out_steps #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetAutomationExecution AWS API Documentation # # @overload get_automation_execution(params = {}) # @param [Hash] params ({}) def get_automation_execution(params = {}, options = {}) req = build_request(:get_automation_execution, params) req.send_request(options) end # Gets the state of the AWS Systems Manager Change Calendar at an # optional, specified time. If you specify a time, `GetCalendarState` # returns the state of the calendar at a specific time, and returns the # next time that the Change Calendar state will transition. If you do # not specify a time, `GetCalendarState` assumes the current time. # Change Calendar entries have two possible states: `OPEN` or `CLOSED`. # For more information about Systems Manager Change Calendar, see [AWS # Systems Manager Change Calendar][1] in the *AWS Systems Manager User # Guide*. # # # # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html # # @option params [required, Array] :calendar_names # The names or Amazon Resource Names (ARNs) of the Systems Manager # documents that represent the calendar entries for which you want to # get the state. # # @option params [String] :at_time # (Optional) The specific time for which you want to get calendar state # information, in [ISO 8601][1] format. If you do not add `AtTime`, the # current time is assumed. # # # # [1]: https://en.wikipedia.org/wiki/ISO_8601 # # @return [Types::GetCalendarStateResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetCalendarStateResponse#state #state} => String # * {Types::GetCalendarStateResponse#at_time #at_time} => String # * {Types::GetCalendarStateResponse#next_transition_time #next_transition_time} => String # # @example Request syntax with placeholder values # # resp = client.get_calendar_state({ # calendar_names: ["CalendarNameOrARN"], # required # at_time: "ISO8601String", # }) # # @example Response structure # # resp.state #=> String, one of "OPEN", "CLOSED" # resp.at_time #=> String # resp.next_transition_time #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCalendarState AWS API Documentation # # @overload get_calendar_state(params = {}) # @param [Hash] params ({}) def get_calendar_state(params = {}, options = {}) req = build_request(:get_calendar_state, params) req.send_request(options) end # Returns detailed information about command execution for an invocation # or plugin. # # @option params [required, String] :command_id # (Required) The parent command ID of the invocation plugin. # # @option params [required, String] :instance_id # (Required) The ID of the managed instance targeted by the command. A # managed instance can be an Amazon EC2 instance or an instance in your # hybrid environment that is configured for Systems Manager. # # @option params [String] :plugin_name # (Optional) The name of the plugin for which you want detailed results. # If the document contains only one plugin, the name can be omitted and # the details will be returned. # # @return [Types::GetCommandInvocationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetCommandInvocationResult#command_id #command_id} => String # * {Types::GetCommandInvocationResult#instance_id #instance_id} => String # * {Types::GetCommandInvocationResult#comment #comment} => String # * {Types::GetCommandInvocationResult#document_name #document_name} => String # * {Types::GetCommandInvocationResult#document_version #document_version} => String # * {Types::GetCommandInvocationResult#plugin_name #plugin_name} => String # * {Types::GetCommandInvocationResult#response_code #response_code} => Integer # * {Types::GetCommandInvocationResult#execution_start_date_time #execution_start_date_time} => String # * {Types::GetCommandInvocationResult#execution_elapsed_time #execution_elapsed_time} => String # * {Types::GetCommandInvocationResult#execution_end_date_time #execution_end_date_time} => String # * {Types::GetCommandInvocationResult#status #status} => String # * {Types::GetCommandInvocationResult#status_details #status_details} => String # * {Types::GetCommandInvocationResult#standard_output_content #standard_output_content} => String # * {Types::GetCommandInvocationResult#standard_output_url #standard_output_url} => String # * {Types::GetCommandInvocationResult#standard_error_content #standard_error_content} => String # * {Types::GetCommandInvocationResult#standard_error_url #standard_error_url} => String # * {Types::GetCommandInvocationResult#cloud_watch_output_config #cloud_watch_output_config} => Types::CloudWatchOutputConfig # # @example Request syntax with placeholder values # # resp = client.get_command_invocation({ # command_id: "CommandId", # required # instance_id: "InstanceId", # required # plugin_name: "CommandPluginName", # }) # # @example Response structure # # resp.command_id #=> String # resp.instance_id #=> String # resp.comment #=> String # resp.document_name #=> String # resp.document_version #=> String # resp.plugin_name #=> String # resp.response_code #=> Integer # resp.execution_start_date_time #=> String # resp.execution_elapsed_time #=> String # resp.execution_end_date_time #=> String # resp.status #=> String, one of "Pending", "InProgress", "Delayed", "Success", "Cancelled", "TimedOut", "Failed", "Cancelling" # resp.status_details #=> String # resp.standard_output_content #=> String # resp.standard_output_url #=> String # resp.standard_error_content #=> String # resp.standard_error_url #=> String # resp.cloud_watch_output_config.cloud_watch_log_group_name #=> String # resp.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetCommandInvocation AWS API Documentation # # @overload get_command_invocation(params = {}) # @param [Hash] params ({}) def get_command_invocation(params = {}, options = {}) req = build_request(:get_command_invocation, params) req.send_request(options) end # Retrieves the Session Manager connection status for an instance to # determine whether it is connected and ready to receive Session Manager # connections. # # @option params [required, String] :target # The ID of the instance. # # @return [Types::GetConnectionStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetConnectionStatusResponse#target #target} => String # * {Types::GetConnectionStatusResponse#status #status} => String # # @example Request syntax with placeholder values # # resp = client.get_connection_status({ # target: "SessionTarget", # required # }) # # @example Response structure # # resp.target #=> String # resp.status #=> String, one of "Connected", "NotConnected" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetConnectionStatus AWS API Documentation # # @overload get_connection_status(params = {}) # @param [Hash] params ({}) def get_connection_status(params = {}, options = {}) req = build_request(:get_connection_status, params) req.send_request(options) end # Retrieves the default patch baseline. Note that Systems Manager # supports creating multiple default patch baselines. For example, you # can create a default patch baseline for each operating system. # # If you do not specify an operating system value, the default patch # baseline for Windows is returned. # # @option params [String] :operating_system # Returns the default patch baseline for the specified operating system. # # @return [Types::GetDefaultPatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetDefaultPatchBaselineResult#baseline_id #baseline_id} => String # * {Types::GetDefaultPatchBaselineResult#operating_system #operating_system} => String # # @example Request syntax with placeholder values # # resp = client.get_default_patch_baseline({ # operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS # }) # # @example Response structure # # resp.baseline_id #=> String # resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDefaultPatchBaseline AWS API Documentation # # @overload get_default_patch_baseline(params = {}) # @param [Hash] params ({}) def get_default_patch_baseline(params = {}, options = {}) req = build_request(:get_default_patch_baseline, params) req.send_request(options) end # Retrieves the current snapshot for the patch baseline the instance # uses. This API is primarily used by the AWS-RunPatchBaseline Systems # Manager document. # # @option params [required, String] :instance_id # The ID of the instance for which the appropriate patch snapshot should # be retrieved. # # @option params [required, String] :snapshot_id # The user-defined snapshot ID. # # @return [Types::GetDeployablePatchSnapshotForInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetDeployablePatchSnapshotForInstanceResult#instance_id #instance_id} => String # * {Types::GetDeployablePatchSnapshotForInstanceResult#snapshot_id #snapshot_id} => String # * {Types::GetDeployablePatchSnapshotForInstanceResult#snapshot_download_url #snapshot_download_url} => String # * {Types::GetDeployablePatchSnapshotForInstanceResult#product #product} => String # # @example Request syntax with placeholder values # # resp = client.get_deployable_patch_snapshot_for_instance({ # instance_id: "InstanceId", # required # snapshot_id: "SnapshotId", # required # }) # # @example Response structure # # resp.instance_id #=> String # resp.snapshot_id #=> String # resp.snapshot_download_url #=> String # resp.product #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDeployablePatchSnapshotForInstance AWS API Documentation # # @overload get_deployable_patch_snapshot_for_instance(params = {}) # @param [Hash] params ({}) def get_deployable_patch_snapshot_for_instance(params = {}, options = {}) req = build_request(:get_deployable_patch_snapshot_for_instance, params) req.send_request(options) end # Gets the contents of the specified Systems Manager document. # # @option params [required, String] :name # The name of the Systems Manager document. # # @option params [String] :version_name # An optional field specifying the version of the artifact associated # with the document. For example, "Release 12, Update 6". This value # is unique across all versions of a document, and cannot be changed. # # @option params [String] :document_version # The document version for which you want information. # # @option params [String] :document_format # Returns the document in the specified format. The document format can # be either JSON or YAML. JSON is the default format. # # @return [Types::GetDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetDocumentResult#name #name} => String # * {Types::GetDocumentResult#version_name #version_name} => String # * {Types::GetDocumentResult#document_version #document_version} => String # * {Types::GetDocumentResult#status #status} => String # * {Types::GetDocumentResult#status_information #status_information} => String # * {Types::GetDocumentResult#content #content} => String # * {Types::GetDocumentResult#document_type #document_type} => String # * {Types::GetDocumentResult#document_format #document_format} => String # * {Types::GetDocumentResult#requires #requires} => Array<Types::DocumentRequires> # * {Types::GetDocumentResult#attachments_content #attachments_content} => Array<Types::AttachmentContent> # # @example Request syntax with placeholder values # # resp = client.get_document({ # name: "DocumentARN", # required # version_name: "DocumentVersionName", # document_version: "DocumentVersion", # document_format: "YAML", # accepts YAML, JSON, TEXT # }) # # @example Response structure # # resp.name #=> String # resp.version_name #=> String # resp.document_version #=> String # resp.status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed" # resp.status_information #=> String # resp.content #=> String # resp.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar" # resp.document_format #=> String, one of "YAML", "JSON", "TEXT" # resp.requires #=> Array # resp.requires[0].name #=> String # resp.requires[0].version #=> String # resp.attachments_content #=> Array # resp.attachments_content[0].name #=> String # resp.attachments_content[0].size #=> Integer # resp.attachments_content[0].hash #=> String # resp.attachments_content[0].hash_type #=> String, one of "Sha256" # resp.attachments_content[0].url #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetDocument AWS API Documentation # # @overload get_document(params = {}) # @param [Hash] params ({}) def get_document(params = {}, options = {}) req = build_request(:get_document, params) req.send_request(options) end # Query inventory information. # # @option params [Array] :filters # One or more filters. Use a filter to return a more specific list of # results. # # @option params [Array] :aggregators # Returns counts of inventory types based on one or more expressions. # For example, if you aggregate by using an expression that uses the # `AWS:InstanceInformation.PlatformType` type, you can see a count of # how many Windows and Linux instances exist in your inventoried fleet. # # @option params [Array] :result_attributes # The list of inventory item types to return. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::GetInventoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetInventoryResult#entities #entities} => Array<Types::InventoryResultEntity> # * {Types::GetInventoryResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.get_inventory({ # filters: [ # { # key: "InventoryFilterKey", # required # values: ["InventoryFilterValue"], # required # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists # }, # ], # aggregators: [ # { # expression: "InventoryAggregatorExpression", # aggregators: { # # recursive InventoryAggregatorList # }, # groups: [ # { # name: "InventoryGroupName", # required # filters: [ # required # { # key: "InventoryFilterKey", # required # values: ["InventoryFilterValue"], # required # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists # }, # ], # }, # ], # }, # ], # result_attributes: [ # { # type_name: "InventoryItemTypeName", # required # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.entities #=> Array # resp.entities[0].id #=> String # resp.entities[0].data #=> Hash # resp.entities[0].data["InventoryResultItemKey"].type_name #=> String # resp.entities[0].data["InventoryResultItemKey"].schema_version #=> String # resp.entities[0].data["InventoryResultItemKey"].capture_time #=> String # resp.entities[0].data["InventoryResultItemKey"].content_hash #=> String # resp.entities[0].data["InventoryResultItemKey"].content #=> Array # resp.entities[0].data["InventoryResultItemKey"].content[0] #=> Hash # resp.entities[0].data["InventoryResultItemKey"].content[0]["AttributeName"] #=> # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventory AWS API Documentation # # @overload get_inventory(params = {}) # @param [Hash] params ({}) def get_inventory(params = {}, options = {}) req = build_request(:get_inventory, params) req.send_request(options) end # Return a list of inventory type names for the account, or return a # list of attribute names for a specific Inventory item type. # # @option params [String] :type_name # The type of inventory item to return. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [Boolean] :aggregator # Returns inventory schemas that support aggregation. For example, this # call returns the `AWS:InstanceInformation` type, because it supports # aggregation based on the `PlatformName`, `PlatformType`, and # `PlatformVersion` attributes. # # @option params [Boolean] :sub_type # Returns the sub-type schema for a specified inventory type. # # @return [Types::GetInventorySchemaResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetInventorySchemaResult#schemas #schemas} => Array<Types::InventoryItemSchema> # * {Types::GetInventorySchemaResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.get_inventory_schema({ # type_name: "InventoryItemTypeNameFilter", # next_token: "NextToken", # max_results: 1, # aggregator: false, # sub_type: false, # }) # # @example Response structure # # resp.schemas #=> Array # resp.schemas[0].type_name #=> String # resp.schemas[0].version #=> String # resp.schemas[0].attributes #=> Array # resp.schemas[0].attributes[0].name #=> String # resp.schemas[0].attributes[0].data_type #=> String, one of "string", "number" # resp.schemas[0].display_name #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetInventorySchema AWS API Documentation # # @overload get_inventory_schema(params = {}) # @param [Hash] params ({}) def get_inventory_schema(params = {}, options = {}) req = build_request(:get_inventory_schema, params) req.send_request(options) end # Retrieves a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window for which you want to retrieve # information. # # @return [Types::GetMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetMaintenanceWindowResult#window_id #window_id} => String # * {Types::GetMaintenanceWindowResult#name #name} => String # * {Types::GetMaintenanceWindowResult#description #description} => String # * {Types::GetMaintenanceWindowResult#start_date #start_date} => String # * {Types::GetMaintenanceWindowResult#end_date #end_date} => String # * {Types::GetMaintenanceWindowResult#schedule #schedule} => String # * {Types::GetMaintenanceWindowResult#schedule_timezone #schedule_timezone} => String # * {Types::GetMaintenanceWindowResult#next_execution_time #next_execution_time} => String # * {Types::GetMaintenanceWindowResult#duration #duration} => Integer # * {Types::GetMaintenanceWindowResult#cutoff #cutoff} => Integer # * {Types::GetMaintenanceWindowResult#allow_unassociated_targets #allow_unassociated_targets} => Boolean # * {Types::GetMaintenanceWindowResult#enabled #enabled} => Boolean # * {Types::GetMaintenanceWindowResult#created_date #created_date} => Time # * {Types::GetMaintenanceWindowResult#modified_date #modified_date} => Time # # @example Request syntax with placeholder values # # resp = client.get_maintenance_window({ # window_id: "MaintenanceWindowId", # required # }) # # @example Response structure # # resp.window_id #=> String # resp.name #=> String # resp.description #=> String # resp.start_date #=> String # resp.end_date #=> String # resp.schedule #=> String # resp.schedule_timezone #=> String # resp.next_execution_time #=> String # resp.duration #=> Integer # resp.cutoff #=> Integer # resp.allow_unassociated_targets #=> Boolean # resp.enabled #=> Boolean # resp.created_date #=> Time # resp.modified_date #=> Time # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindow AWS API Documentation # # @overload get_maintenance_window(params = {}) # @param [Hash] params ({}) def get_maintenance_window(params = {}, options = {}) req = build_request(:get_maintenance_window, params) req.send_request(options) end # Retrieves details about a specific a maintenance window execution. # # @option params [required, String] :window_execution_id # The ID of the maintenance window execution that includes the task. # # @return [Types::GetMaintenanceWindowExecutionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetMaintenanceWindowExecutionResult#window_execution_id #window_execution_id} => String # * {Types::GetMaintenanceWindowExecutionResult#task_ids #task_ids} => Array<String> # * {Types::GetMaintenanceWindowExecutionResult#status #status} => String # * {Types::GetMaintenanceWindowExecutionResult#status_details #status_details} => String # * {Types::GetMaintenanceWindowExecutionResult#start_time #start_time} => Time # * {Types::GetMaintenanceWindowExecutionResult#end_time #end_time} => Time # # @example Request syntax with placeholder values # # resp = client.get_maintenance_window_execution({ # window_execution_id: "MaintenanceWindowExecutionId", # required # }) # # @example Response structure # # resp.window_execution_id #=> String # resp.task_ids #=> Array # resp.task_ids[0] #=> String # resp.status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING" # resp.status_details #=> String # resp.start_time #=> Time # resp.end_time #=> Time # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecution AWS API Documentation # # @overload get_maintenance_window_execution(params = {}) # @param [Hash] params ({}) def get_maintenance_window_execution(params = {}, options = {}) req = build_request(:get_maintenance_window_execution, params) req.send_request(options) end # Retrieves the details about a specific task run as part of a # maintenance window execution. # # @option params [required, String] :window_execution_id # The ID of the maintenance window execution that includes the task. # # @option params [required, String] :task_id # The ID of the specific task execution in the maintenance window task # that should be retrieved. # # @return [Types::GetMaintenanceWindowExecutionTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetMaintenanceWindowExecutionTaskResult#window_execution_id #window_execution_id} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#task_execution_id #task_execution_id} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#task_arn #task_arn} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#service_role #service_role} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#type #type} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#task_parameters #task_parameters} => Array<Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>> # * {Types::GetMaintenanceWindowExecutionTaskResult#priority #priority} => Integer # * {Types::GetMaintenanceWindowExecutionTaskResult#max_concurrency #max_concurrency} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#max_errors #max_errors} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#status #status} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#status_details #status_details} => String # * {Types::GetMaintenanceWindowExecutionTaskResult#start_time #start_time} => Time # * {Types::GetMaintenanceWindowExecutionTaskResult#end_time #end_time} => Time # # @example Request syntax with placeholder values # # resp = client.get_maintenance_window_execution_task({ # window_execution_id: "MaintenanceWindowExecutionId", # required # task_id: "MaintenanceWindowExecutionTaskId", # required # }) # # @example Response structure # # resp.window_execution_id #=> String # resp.task_execution_id #=> String # resp.task_arn #=> String # resp.service_role #=> String # resp.type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA" # resp.task_parameters #=> Array # resp.task_parameters[0] #=> Hash # resp.task_parameters[0]["MaintenanceWindowTaskParameterName"].values #=> Array # resp.task_parameters[0]["MaintenanceWindowTaskParameterName"].values[0] #=> String # resp.priority #=> Integer # resp.max_concurrency #=> String # resp.max_errors #=> String # resp.status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING" # resp.status_details #=> String # resp.start_time #=> Time # resp.end_time #=> Time # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTask AWS API Documentation # # @overload get_maintenance_window_execution_task(params = {}) # @param [Hash] params ({}) def get_maintenance_window_execution_task(params = {}, options = {}) req = build_request(:get_maintenance_window_execution_task, params) req.send_request(options) end # Retrieves information about a specific task running on a specific # target. # # @option params [required, String] :window_execution_id # The ID of the maintenance window execution for which the task is a # part. # # @option params [required, String] :task_id # The ID of the specific task in the maintenance window task that should # be retrieved. # # @option params [required, String] :invocation_id # The invocation ID to retrieve. # # @return [Types::GetMaintenanceWindowExecutionTaskInvocationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#window_execution_id #window_execution_id} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#task_execution_id #task_execution_id} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#invocation_id #invocation_id} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#execution_id #execution_id} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#task_type #task_type} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#parameters #parameters} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#status #status} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#status_details #status_details} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#start_time #start_time} => Time # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#end_time #end_time} => Time # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#owner_information #owner_information} => String # * {Types::GetMaintenanceWindowExecutionTaskInvocationResult#window_target_id #window_target_id} => String # # @example Request syntax with placeholder values # # resp = client.get_maintenance_window_execution_task_invocation({ # window_execution_id: "MaintenanceWindowExecutionId", # required # task_id: "MaintenanceWindowExecutionTaskId", # required # invocation_id: "MaintenanceWindowExecutionTaskInvocationId", # required # }) # # @example Response structure # # resp.window_execution_id #=> String # resp.task_execution_id #=> String # resp.invocation_id #=> String # resp.execution_id #=> String # resp.task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA" # resp.parameters #=> String # resp.status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING" # resp.status_details #=> String # resp.start_time #=> Time # resp.end_time #=> Time # resp.owner_information #=> String # resp.window_target_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowExecutionTaskInvocation AWS API Documentation # # @overload get_maintenance_window_execution_task_invocation(params = {}) # @param [Hash] params ({}) def get_maintenance_window_execution_task_invocation(params = {}, options = {}) req = build_request(:get_maintenance_window_execution_task_invocation, params) req.send_request(options) end # Lists the tasks in a maintenance window. # # @option params [required, String] :window_id # The maintenance window ID that includes the task to retrieve. # # @option params [required, String] :window_task_id # The maintenance window task ID to retrieve. # # @return [Types::GetMaintenanceWindowTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetMaintenanceWindowTaskResult#window_id #window_id} => String # * {Types::GetMaintenanceWindowTaskResult#window_task_id #window_task_id} => String # * {Types::GetMaintenanceWindowTaskResult#targets #targets} => Array<Types::Target> # * {Types::GetMaintenanceWindowTaskResult#task_arn #task_arn} => String # * {Types::GetMaintenanceWindowTaskResult#service_role_arn #service_role_arn} => String # * {Types::GetMaintenanceWindowTaskResult#task_type #task_type} => String # * {Types::GetMaintenanceWindowTaskResult#task_parameters #task_parameters} => Hash<String,Types::MaintenanceWindowTaskParameterValueExpression> # * {Types::GetMaintenanceWindowTaskResult#task_invocation_parameters #task_invocation_parameters} => Types::MaintenanceWindowTaskInvocationParameters # * {Types::GetMaintenanceWindowTaskResult#priority #priority} => Integer # * {Types::GetMaintenanceWindowTaskResult#max_concurrency #max_concurrency} => String # * {Types::GetMaintenanceWindowTaskResult#max_errors #max_errors} => String # * {Types::GetMaintenanceWindowTaskResult#logging_info #logging_info} => Types::LoggingInfo # * {Types::GetMaintenanceWindowTaskResult#name #name} => String # * {Types::GetMaintenanceWindowTaskResult#description #description} => String # # @example Request syntax with placeholder values # # resp = client.get_maintenance_window_task({ # window_id: "MaintenanceWindowId", # required # window_task_id: "MaintenanceWindowTaskId", # required # }) # # @example Response structure # # resp.window_id #=> String # resp.window_task_id #=> String # resp.targets #=> Array # resp.targets[0].key #=> String # resp.targets[0].values #=> Array # resp.targets[0].values[0] #=> String # resp.task_arn #=> String # resp.service_role_arn #=> String # resp.task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA" # resp.task_parameters #=> Hash # resp.task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array # resp.task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String # resp.task_invocation_parameters.run_command.comment #=> String # resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_log_group_name #=> String # resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean # resp.task_invocation_parameters.run_command.document_hash #=> String # resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1" # resp.task_invocation_parameters.run_command.document_version #=> String # resp.task_invocation_parameters.run_command.notification_config.notification_arn #=> String # resp.task_invocation_parameters.run_command.notification_config.notification_events #=> Array # resp.task_invocation_parameters.run_command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed" # resp.task_invocation_parameters.run_command.notification_config.notification_type #=> String, one of "Command", "Invocation" # resp.task_invocation_parameters.run_command.output_s3_bucket_name #=> String # resp.task_invocation_parameters.run_command.output_s3_key_prefix #=> String # resp.task_invocation_parameters.run_command.parameters #=> Hash # resp.task_invocation_parameters.run_command.parameters["ParameterName"] #=> Array # resp.task_invocation_parameters.run_command.parameters["ParameterName"][0] #=> String # resp.task_invocation_parameters.run_command.service_role_arn #=> String # resp.task_invocation_parameters.run_command.timeout_seconds #=> Integer # resp.task_invocation_parameters.automation.document_version #=> String # resp.task_invocation_parameters.automation.parameters #=> Hash # resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"] #=> Array # resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"][0] #=> String # resp.task_invocation_parameters.step_functions.input #=> String # resp.task_invocation_parameters.step_functions.name #=> String # resp.task_invocation_parameters.lambda.client_context #=> String # resp.task_invocation_parameters.lambda.qualifier #=> String # resp.task_invocation_parameters.lambda.payload #=> String # resp.priority #=> Integer # resp.max_concurrency #=> String # resp.max_errors #=> String # resp.logging_info.s3_bucket_name #=> String # resp.logging_info.s3_key_prefix #=> String # resp.logging_info.s3_region #=> String # resp.name #=> String # resp.description #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetMaintenanceWindowTask AWS API Documentation # # @overload get_maintenance_window_task(params = {}) # @param [Hash] params ({}) def get_maintenance_window_task(params = {}, options = {}) req = build_request(:get_maintenance_window_task, params) req.send_request(options) end # Get information about an OpsItem by using the ID. You must have # permission in AWS Identity and Access Management (IAM) to view # information about an OpsItem. For more information, see [Getting # Started with OpsCenter][1] in the *AWS Systems Manager User Guide*. # # Operations engineers and IT professionals use OpsCenter to view, # investigate, and remediate operational issues impacting the # performance and health of their AWS resources. For more information, # see [AWS Systems Manager OpsCenter][2] in the *AWS Systems Manager # User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html # # @option params [required, String] :ops_item_id # The ID of the OpsItem that you want to get. # # @return [Types::GetOpsItemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetOpsItemResponse#ops_item #ops_item} => Types::OpsItem # # @example Request syntax with placeholder values # # resp = client.get_ops_item({ # ops_item_id: "OpsItemId", # required # }) # # @example Response structure # # resp.ops_item.created_by #=> String # resp.ops_item.created_time #=> Time # resp.ops_item.description #=> String # resp.ops_item.last_modified_by #=> String # resp.ops_item.last_modified_time #=> Time # resp.ops_item.notifications #=> Array # resp.ops_item.notifications[0].arn #=> String # resp.ops_item.priority #=> Integer # resp.ops_item.related_ops_items #=> Array # resp.ops_item.related_ops_items[0].ops_item_id #=> String # resp.ops_item.status #=> String, one of "Open", "InProgress", "Resolved" # resp.ops_item.ops_item_id #=> String # resp.ops_item.version #=> String # resp.ops_item.title #=> String # resp.ops_item.source #=> String # resp.ops_item.operational_data #=> Hash # resp.ops_item.operational_data["OpsItemDataKey"].value #=> String # resp.ops_item.operational_data["OpsItemDataKey"].type #=> String, one of "SearchableString", "String" # resp.ops_item.category #=> String # resp.ops_item.severity #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem AWS API Documentation # # @overload get_ops_item(params = {}) # @param [Hash] params ({}) def get_ops_item(params = {}, options = {}) req = build_request(:get_ops_item, params) req.send_request(options) end # View a summary of OpsItems based on specified filters and aggregators. # # @option params [String] :sync_name # Specify the name of a resource data sync to get. # # @option params [Array] :filters # Optional filters used to scope down the returned OpsItems. # # @option params [Array] :aggregators # Optional aggregators that return counts of OpsItems based on one or # more expressions. # # @option params [Array] :result_attributes # The OpsItem data type to return. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::GetOpsSummaryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetOpsSummaryResult#entities #entities} => Array<Types::OpsEntity> # * {Types::GetOpsSummaryResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.get_ops_summary({ # sync_name: "ResourceDataSyncName", # filters: [ # { # key: "OpsFilterKey", # required # values: ["OpsFilterValue"], # required # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists # }, # ], # aggregators: [ # { # aggregator_type: "OpsAggregatorType", # type_name: "OpsDataTypeName", # attribute_name: "OpsDataAttributeName", # values: { # "OpsAggregatorValueKey" => "OpsAggregatorValue", # }, # filters: [ # { # key: "OpsFilterKey", # required # values: ["OpsFilterValue"], # required # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists # }, # ], # aggregators: { # # recursive OpsAggregatorList # }, # }, # ], # result_attributes: [ # { # type_name: "OpsDataTypeName", # required # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.entities #=> Array # resp.entities[0].id #=> String # resp.entities[0].data #=> Hash # resp.entities[0].data["OpsEntityItemKey"].capture_time #=> String # resp.entities[0].data["OpsEntityItemKey"].content #=> Array # resp.entities[0].data["OpsEntityItemKey"].content[0] #=> Hash # resp.entities[0].data["OpsEntityItemKey"].content[0]["AttributeName"] #=> # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsSummary AWS API Documentation # # @overload get_ops_summary(params = {}) # @param [Hash] params ({}) def get_ops_summary(params = {}, options = {}) req = build_request(:get_ops_summary, params) req.send_request(options) end # Get information about a parameter by using the parameter name. Don't # confuse this API action with the GetParameters API action. # # @option params [required, String] :name # The name of the parameter you want to query. # # @option params [Boolean] :with_decryption # Return decrypted values for secure string parameters. This flag is # ignored for String and StringList parameter types. # # @return [Types::GetParameterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetParameterResult#parameter #parameter} => Types::Parameter # # @example Request syntax with placeholder values # # resp = client.get_parameter({ # name: "PSParameterName", # required # with_decryption: false, # }) # # @example Response structure # # resp.parameter.name #=> String # resp.parameter.type #=> String, one of "String", "StringList", "SecureString" # resp.parameter.value #=> String # resp.parameter.version #=> Integer # resp.parameter.selector #=> String # resp.parameter.source_result #=> String # resp.parameter.last_modified_date #=> Time # resp.parameter.arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameter AWS API Documentation # # @overload get_parameter(params = {}) # @param [Hash] params ({}) def get_parameter(params = {}, options = {}) req = build_request(:get_parameter, params) req.send_request(options) end # Query a list of all parameters used by the AWS account. # # @option params [required, String] :name # The name of a parameter you want to query. # # @option params [Boolean] :with_decryption # Return decrypted values for secure string parameters. This flag is # ignored for String and StringList parameter types. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::GetParameterHistoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetParameterHistoryResult#parameters #parameters} => Array<Types::ParameterHistory> # * {Types::GetParameterHistoryResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.get_parameter_history({ # name: "PSParameterName", # required # with_decryption: false, # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.parameters #=> Array # resp.parameters[0].name #=> String # resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString" # resp.parameters[0].key_id #=> String # resp.parameters[0].last_modified_date #=> Time # resp.parameters[0].last_modified_user #=> String # resp.parameters[0].description #=> String # resp.parameters[0].value #=> String # resp.parameters[0].allowed_pattern #=> String # resp.parameters[0].version #=> Integer # resp.parameters[0].labels #=> Array # resp.parameters[0].labels[0] #=> String # resp.parameters[0].tier #=> String, one of "Standard", "Advanced", "Intelligent-Tiering" # resp.parameters[0].policies #=> Array # resp.parameters[0].policies[0].policy_text #=> String # resp.parameters[0].policies[0].policy_type #=> String # resp.parameters[0].policies[0].policy_status #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameterHistory AWS API Documentation # # @overload get_parameter_history(params = {}) # @param [Hash] params ({}) def get_parameter_history(params = {}, options = {}) req = build_request(:get_parameter_history, params) req.send_request(options) end # Get details of a parameter. Don't confuse this API action with the # GetParameter API action. # # @option params [required, Array] :names # Names of the parameters for which you want to query information. # # @option params [Boolean] :with_decryption # Return decrypted secure string value. Return decrypted values for # secure string parameters. This flag is ignored for String and # StringList parameter types. # # @return [Types::GetParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetParametersResult#parameters #parameters} => Array<Types::Parameter> # * {Types::GetParametersResult#invalid_parameters #invalid_parameters} => Array<String> # # @example Request syntax with placeholder values # # resp = client.get_parameters({ # names: ["PSParameterName"], # required # with_decryption: false, # }) # # @example Response structure # # resp.parameters #=> Array # resp.parameters[0].name #=> String # resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString" # resp.parameters[0].value #=> String # resp.parameters[0].version #=> Integer # resp.parameters[0].selector #=> String # resp.parameters[0].source_result #=> String # resp.parameters[0].last_modified_date #=> Time # resp.parameters[0].arn #=> String # resp.invalid_parameters #=> Array # resp.invalid_parameters[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParameters AWS API Documentation # # @overload get_parameters(params = {}) # @param [Hash] params ({}) def get_parameters(params = {}, options = {}) req = build_request(:get_parameters, params) req.send_request(options) end # Retrieve information about one or more parameters in a specific # hierarchy. # # Request results are returned on a best-effort basis. If you specify # `MaxResults` in the request, the response includes information up to # the limit specified. The number of items returned, however, can be # between zero and the value of `MaxResults`. If the service reaches an # internal limit while processing the results, it stops the operation # and returns the matching values up to that point and a `NextToken`. # You can specify the `NextToken` in a subsequent call to get the next # set of results. # # # # @option params [required, String] :path # The hierarchy for the parameter. Hierarchies start with a forward # slash (/) and end with the parameter name. A parameter name hierarchy # can have a maximum of 15 levels. Here is an example of a hierarchy: # `/Finance/Prod/IAD/WinServ2016/license33` # # @option params [Boolean] :recursive # Retrieve all parameters within a hierarchy. # # If a user has access to a path, then the user can access all levels of # that path. For example, if a user has permission to access path `/a`, # then the user can also access `/a/b`. Even if a user has explicitly # been denied access in IAM for parameter `/a/b`, they can still call # the GetParametersByPath API action recursively for `/a` and view # `/a/b`. # # @option params [Array] :parameter_filters # Filters to limit the request results. # # @option params [Boolean] :with_decryption # Retrieve all parameters in a hierarchy with their value decrypted. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @return [Types::GetParametersByPathResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetParametersByPathResult#parameters #parameters} => Array<Types::Parameter> # * {Types::GetParametersByPathResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.get_parameters_by_path({ # path: "PSParameterName", # required # recursive: false, # parameter_filters: [ # { # key: "ParameterStringFilterKey", # required # option: "ParameterStringQueryOption", # values: ["ParameterStringFilterValue"], # }, # ], # with_decryption: false, # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.parameters #=> Array # resp.parameters[0].name #=> String # resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString" # resp.parameters[0].value #=> String # resp.parameters[0].version #=> Integer # resp.parameters[0].selector #=> String # resp.parameters[0].source_result #=> String # resp.parameters[0].last_modified_date #=> Time # resp.parameters[0].arn #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetParametersByPath AWS API Documentation # # @overload get_parameters_by_path(params = {}) # @param [Hash] params ({}) def get_parameters_by_path(params = {}, options = {}) req = build_request(:get_parameters_by_path, params) req.send_request(options) end # Retrieves information about a patch baseline. # # @option params [required, String] :baseline_id # The ID of the patch baseline to retrieve. # # @return [Types::GetPatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetPatchBaselineResult#baseline_id #baseline_id} => String # * {Types::GetPatchBaselineResult#name #name} => String # * {Types::GetPatchBaselineResult#operating_system #operating_system} => String # * {Types::GetPatchBaselineResult#global_filters #global_filters} => Types::PatchFilterGroup # * {Types::GetPatchBaselineResult#approval_rules #approval_rules} => Types::PatchRuleGroup # * {Types::GetPatchBaselineResult#approved_patches #approved_patches} => Array<String> # * {Types::GetPatchBaselineResult#approved_patches_compliance_level #approved_patches_compliance_level} => String # * {Types::GetPatchBaselineResult#approved_patches_enable_non_security #approved_patches_enable_non_security} => Boolean # * {Types::GetPatchBaselineResult#rejected_patches #rejected_patches} => Array<String> # * {Types::GetPatchBaselineResult#rejected_patches_action #rejected_patches_action} => String # * {Types::GetPatchBaselineResult#patch_groups #patch_groups} => Array<String> # * {Types::GetPatchBaselineResult#created_date #created_date} => Time # * {Types::GetPatchBaselineResult#modified_date #modified_date} => Time # * {Types::GetPatchBaselineResult#description #description} => String # * {Types::GetPatchBaselineResult#sources #sources} => Array<Types::PatchSource> # # @example Request syntax with placeholder values # # resp = client.get_patch_baseline({ # baseline_id: "BaselineId", # required # }) # # @example Response structure # # resp.baseline_id #=> String # resp.name #=> String # resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS" # resp.global_filters.patch_filters #=> Array # resp.global_filters.patch_filters[0].key #=> String, one of "PATCH_SET", "PRODUCT", "PRODUCT_FAMILY", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY" # resp.global_filters.patch_filters[0].values #=> Array # resp.global_filters.patch_filters[0].values[0] #=> String # resp.approval_rules.patch_rules #=> Array # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters #=> Array # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].key #=> String, one of "PATCH_SET", "PRODUCT", "PRODUCT_FAMILY", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY" # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values #=> Array # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values[0] #=> String # resp.approval_rules.patch_rules[0].compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.approval_rules.patch_rules[0].approve_after_days #=> Integer # resp.approval_rules.patch_rules[0].enable_non_security #=> Boolean # resp.approved_patches #=> Array # resp.approved_patches[0] #=> String # resp.approved_patches_compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.approved_patches_enable_non_security #=> Boolean # resp.rejected_patches #=> Array # resp.rejected_patches[0] #=> String # resp.rejected_patches_action #=> String, one of "ALLOW_AS_DEPENDENCY", "BLOCK" # resp.patch_groups #=> Array # resp.patch_groups[0] #=> String # resp.created_date #=> Time # resp.modified_date #=> Time # resp.description #=> String # resp.sources #=> Array # resp.sources[0].name #=> String # resp.sources[0].products #=> Array # resp.sources[0].products[0] #=> String # resp.sources[0].configuration #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaseline AWS API Documentation # # @overload get_patch_baseline(params = {}) # @param [Hash] params ({}) def get_patch_baseline(params = {}, options = {}) req = build_request(:get_patch_baseline, params) req.send_request(options) end # Retrieves the patch baseline that should be used for the specified # patch group. # # @option params [required, String] :patch_group # The name of the patch group whose patch baseline should be retrieved. # # @option params [String] :operating_system # Returns he operating system rule specified for patch groups using the # patch baseline. # # @return [Types::GetPatchBaselineForPatchGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetPatchBaselineForPatchGroupResult#baseline_id #baseline_id} => String # * {Types::GetPatchBaselineForPatchGroupResult#patch_group #patch_group} => String # * {Types::GetPatchBaselineForPatchGroupResult#operating_system #operating_system} => String # # @example Request syntax with placeholder values # # resp = client.get_patch_baseline_for_patch_group({ # patch_group: "PatchGroup", # required # operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS # }) # # @example Response structure # # resp.baseline_id #=> String # resp.patch_group #=> String # resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetPatchBaselineForPatchGroup AWS API Documentation # # @overload get_patch_baseline_for_patch_group(params = {}) # @param [Hash] params ({}) def get_patch_baseline_for_patch_group(params = {}, options = {}) req = build_request(:get_patch_baseline_for_patch_group, params) req.send_request(options) end # `ServiceSetting` is an account-level setting for an AWS service. This # setting defines how a user interacts with or uses a service or a # feature of a service. For example, if an AWS service charges money to # the account based on feature or service usage, then the AWS service # team might create a default setting of "false". This means the user # can't use this feature unless they change the setting to "true" and # intentionally opt in for a paid feature. # # Services map a `SettingId` object to a setting value. AWS services # teams define the default value for a `SettingId`. You can't create a # new `SettingId`, but you can overwrite the default value if you have # the `ssm:UpdateServiceSetting` permission for the setting. Use the # UpdateServiceSetting API action to change the default setting. Or use # the ResetServiceSetting to change the value back to the original value # defined by the AWS service team. # # Query the current service setting for the account. # # @option params [required, String] :setting_id # The ID of the service setting to get. # # @return [Types::GetServiceSettingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::GetServiceSettingResult#service_setting #service_setting} => Types::ServiceSetting # # @example Request syntax with placeholder values # # resp = client.get_service_setting({ # setting_id: "ServiceSettingId", # required # }) # # @example Response structure # # resp.service_setting.setting_id #=> String # resp.service_setting.setting_value #=> String # resp.service_setting.last_modified_date #=> Time # resp.service_setting.last_modified_user #=> String # resp.service_setting.arn #=> String # resp.service_setting.status #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetServiceSetting AWS API Documentation # # @overload get_service_setting(params = {}) # @param [Hash] params ({}) def get_service_setting(params = {}, options = {}) req = build_request(:get_service_setting, params) req.send_request(options) end # A parameter label is a user-defined alias to help you manage different # versions of a parameter. When you modify a parameter, Systems Manager # automatically saves a new version and increments the version number by # one. A label can help you remember the purpose of a parameter when # there are multiple versions. # # Parameter labels have the following requirements and restrictions. # # * A version of a parameter can have a maximum of 10 labels. # # * You can't attach the same label to different versions of the same # parameter. For example, if version 1 has the label Production, then # you can't attach Production to version 2. # # * You can move a label from one version of a parameter to another. # # * You can't create a label when you create a new parameter. You must # attach a label to a specific version of a parameter. # # * You can't delete a parameter label. If you no longer want to use a # parameter label, then you must move it to a different version of a # parameter. # # * A label can have a maximum of 100 characters. # # * Labels can contain letters (case sensitive), numbers, periods (.), # hyphens (-), or underscores (\_). # # * Labels can't begin with a number, "aws," or "ssm" (not case # sensitive). If a label fails to meet these requirements, then the # label is not associated with a parameter and the system displays it # in the list of InvalidLabels. # # @option params [required, String] :name # The parameter name on which you want to attach one or more labels. # # @option params [Integer] :parameter_version # The specific version of the parameter on which you want to attach one # or more labels. If no version is specified, the system attaches the # label to the latest version. # # @option params [required, Array] :labels # One or more labels to attach to the specified parameter version. # # @return [Types::LabelParameterVersionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::LabelParameterVersionResult#invalid_labels #invalid_labels} => Array<String> # * {Types::LabelParameterVersionResult#parameter_version #parameter_version} => Integer # # @example Request syntax with placeholder values # # resp = client.label_parameter_version({ # name: "PSParameterName", # required # parameter_version: 1, # labels: ["ParameterLabel"], # required # }) # # @example Response structure # # resp.invalid_labels #=> Array # resp.invalid_labels[0] #=> String # resp.parameter_version #=> Integer # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/LabelParameterVersion AWS API Documentation # # @overload label_parameter_version(params = {}) # @param [Hash] params ({}) def label_parameter_version(params = {}, options = {}) req = build_request(:label_parameter_version, params) req.send_request(options) end # Retrieves all versions of an association for a specific association # ID. # # @option params [required, String] :association_id # The association ID for which you want to view all versions. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @return [Types::ListAssociationVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListAssociationVersionsResult#association_versions #association_versions} => Array<Types::AssociationVersionInfo> # * {Types::ListAssociationVersionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_association_versions({ # association_id: "AssociationId", # required # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.association_versions #=> Array # resp.association_versions[0].association_id #=> String # resp.association_versions[0].association_version #=> String # resp.association_versions[0].created_date #=> Time # resp.association_versions[0].name #=> String # resp.association_versions[0].document_version #=> String # resp.association_versions[0].parameters #=> Hash # resp.association_versions[0].parameters["ParameterName"] #=> Array # resp.association_versions[0].parameters["ParameterName"][0] #=> String # resp.association_versions[0].targets #=> Array # resp.association_versions[0].targets[0].key #=> String # resp.association_versions[0].targets[0].values #=> Array # resp.association_versions[0].targets[0].values[0] #=> String # resp.association_versions[0].schedule_expression #=> String # resp.association_versions[0].output_location.s3_location.output_s3_region #=> String # resp.association_versions[0].output_location.s3_location.output_s3_bucket_name #=> String # resp.association_versions[0].output_location.s3_location.output_s3_key_prefix #=> String # resp.association_versions[0].association_name #=> String # resp.association_versions[0].max_errors #=> String # resp.association_versions[0].max_concurrency #=> String # resp.association_versions[0].compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociationVersions AWS API Documentation # # @overload list_association_versions(params = {}) # @param [Hash] params ({}) def list_association_versions(params = {}, options = {}) req = build_request(:list_association_versions, params) req.send_request(options) end # Lists the associations for the specified Systems Manager document or # instance. # # @option params [Array] :association_filter_list # One or more filters. Use a filter to return a more specific list of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::ListAssociationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListAssociationsResult#associations #associations} => Array<Types::Association> # * {Types::ListAssociationsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_associations({ # association_filter_list: [ # { # key: "InstanceId", # required, accepts InstanceId, Name, AssociationId, AssociationStatusName, LastExecutedBefore, LastExecutedAfter, AssociationName # value: "AssociationFilterValue", # required # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.associations #=> Array # resp.associations[0].name #=> String # resp.associations[0].instance_id #=> String # resp.associations[0].association_id #=> String # resp.associations[0].association_version #=> String # resp.associations[0].document_version #=> String # resp.associations[0].targets #=> Array # resp.associations[0].targets[0].key #=> String # resp.associations[0].targets[0].values #=> Array # resp.associations[0].targets[0].values[0] #=> String # resp.associations[0].last_execution_date #=> Time # resp.associations[0].overview.status #=> String # resp.associations[0].overview.detailed_status #=> String # resp.associations[0].overview.association_status_aggregated_count #=> Hash # resp.associations[0].overview.association_status_aggregated_count["StatusName"] #=> Integer # resp.associations[0].schedule_expression #=> String # resp.associations[0].association_name #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListAssociations AWS API Documentation # # @overload list_associations(params = {}) # @param [Hash] params ({}) def list_associations(params = {}, options = {}) req = build_request(:list_associations, params) req.send_request(options) end # An invocation is copy of a command sent to a specific instance. A # command can apply to one or more instances. A command invocation # applies to one instance. For example, if a user runs SendCommand # against three instances, then a command invocation is created for each # requested instance ID. ListCommandInvocations provide status about # command execution. # # @option params [String] :command_id # (Optional) The invocations for a specific command ID. # # @option params [String] :instance_id # (Optional) The command execution details for a specific instance ID. # # @option params [Integer] :max_results # (Optional) The maximum number of items to return for this call. The # call also returns a token that you can specify in a subsequent call to # get the next set of results. # # @option params [String] :next_token # (Optional) The token for the next set of items to return. (You # received this token from a previous call.) # # @option params [Array] :filters # (Optional) One or more filters. Use a filter to return a more specific # list of results. Note that the `DocumentName` filter is not supported # for ListCommandInvocations. # # @option params [Boolean] :details # (Optional) If set this returns the response of the command executions # and any command output. By default this is set to False. # # @return [Types::ListCommandInvocationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCommandInvocationsResult#command_invocations #command_invocations} => Array<Types::CommandInvocation> # * {Types::ListCommandInvocationsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_command_invocations({ # command_id: "CommandId", # instance_id: "InstanceId", # max_results: 1, # next_token: "NextToken", # filters: [ # { # key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status, ExecutionStage, DocumentName # value: "CommandFilterValue", # required # }, # ], # details: false, # }) # # @example Response structure # # resp.command_invocations #=> Array # resp.command_invocations[0].command_id #=> String # resp.command_invocations[0].instance_id #=> String # resp.command_invocations[0].instance_name #=> String # resp.command_invocations[0].comment #=> String # resp.command_invocations[0].document_name #=> String # resp.command_invocations[0].document_version #=> String # resp.command_invocations[0].requested_date_time #=> Time # resp.command_invocations[0].status #=> String, one of "Pending", "InProgress", "Delayed", "Success", "Cancelled", "TimedOut", "Failed", "Cancelling" # resp.command_invocations[0].status_details #=> String # resp.command_invocations[0].trace_output #=> String # resp.command_invocations[0].standard_output_url #=> String # resp.command_invocations[0].standard_error_url #=> String # resp.command_invocations[0].command_plugins #=> Array # resp.command_invocations[0].command_plugins[0].name #=> String # resp.command_invocations[0].command_plugins[0].status #=> String, one of "Pending", "InProgress", "Success", "TimedOut", "Cancelled", "Failed" # resp.command_invocations[0].command_plugins[0].status_details #=> String # resp.command_invocations[0].command_plugins[0].response_code #=> Integer # resp.command_invocations[0].command_plugins[0].response_start_date_time #=> Time # resp.command_invocations[0].command_plugins[0].response_finish_date_time #=> Time # resp.command_invocations[0].command_plugins[0].output #=> String # resp.command_invocations[0].command_plugins[0].standard_output_url #=> String # resp.command_invocations[0].command_plugins[0].standard_error_url #=> String # resp.command_invocations[0].command_plugins[0].output_s3_region #=> String # resp.command_invocations[0].command_plugins[0].output_s3_bucket_name #=> String # resp.command_invocations[0].command_plugins[0].output_s3_key_prefix #=> String # resp.command_invocations[0].service_role #=> String # resp.command_invocations[0].notification_config.notification_arn #=> String # resp.command_invocations[0].notification_config.notification_events #=> Array # resp.command_invocations[0].notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed" # resp.command_invocations[0].notification_config.notification_type #=> String, one of "Command", "Invocation" # resp.command_invocations[0].cloud_watch_output_config.cloud_watch_log_group_name #=> String # resp.command_invocations[0].cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommandInvocations AWS API Documentation # # @overload list_command_invocations(params = {}) # @param [Hash] params ({}) def list_command_invocations(params = {}, options = {}) req = build_request(:list_command_invocations, params) req.send_request(options) end # Lists the commands requested by users of the AWS account. # # @option params [String] :command_id # (Optional) If provided, lists only the specified command. # # @option params [String] :instance_id # (Optional) Lists commands issued against this instance ID. # # @option params [Integer] :max_results # (Optional) The maximum number of items to return for this call. The # call also returns a token that you can specify in a subsequent call to # get the next set of results. # # @option params [String] :next_token # (Optional) The token for the next set of items to return. (You # received this token from a previous call.) # # @option params [Array] :filters # (Optional) One or more filters. Use a filter to return a more specific # list of results. # # @return [Types::ListCommandsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListCommandsResult#commands #commands} => Array<Types::Command> # * {Types::ListCommandsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_commands({ # command_id: "CommandId", # instance_id: "InstanceId", # max_results: 1, # next_token: "NextToken", # filters: [ # { # key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status, ExecutionStage, DocumentName # value: "CommandFilterValue", # required # }, # ], # }) # # @example Response structure # # resp.commands #=> Array # resp.commands[0].command_id #=> String # resp.commands[0].document_name #=> String # resp.commands[0].document_version #=> String # resp.commands[0].comment #=> String # resp.commands[0].expires_after #=> Time # resp.commands[0].parameters #=> Hash # resp.commands[0].parameters["ParameterName"] #=> Array # resp.commands[0].parameters["ParameterName"][0] #=> String # resp.commands[0].instance_ids #=> Array # resp.commands[0].instance_ids[0] #=> String # resp.commands[0].targets #=> Array # resp.commands[0].targets[0].key #=> String # resp.commands[0].targets[0].values #=> Array # resp.commands[0].targets[0].values[0] #=> String # resp.commands[0].requested_date_time #=> Time # resp.commands[0].status #=> String, one of "Pending", "InProgress", "Success", "Cancelled", "Failed", "TimedOut", "Cancelling" # resp.commands[0].status_details #=> String # resp.commands[0].output_s3_region #=> String # resp.commands[0].output_s3_bucket_name #=> String # resp.commands[0].output_s3_key_prefix #=> String # resp.commands[0].max_concurrency #=> String # resp.commands[0].max_errors #=> String # resp.commands[0].target_count #=> Integer # resp.commands[0].completed_count #=> Integer # resp.commands[0].error_count #=> Integer # resp.commands[0].delivery_timed_out_count #=> Integer # resp.commands[0].service_role #=> String # resp.commands[0].notification_config.notification_arn #=> String # resp.commands[0].notification_config.notification_events #=> Array # resp.commands[0].notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed" # resp.commands[0].notification_config.notification_type #=> String, one of "Command", "Invocation" # resp.commands[0].cloud_watch_output_config.cloud_watch_log_group_name #=> String # resp.commands[0].cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListCommands AWS API Documentation # # @overload list_commands(params = {}) # @param [Hash] params ({}) def list_commands(params = {}, options = {}) req = build_request(:list_commands, params) req.send_request(options) end # For a specified resource ID, this API action returns a list of # compliance statuses for different resource types. Currently, you can # only specify one resource ID per call. List results depend on the # criteria specified in the filter. # # @option params [Array] :filters # One or more compliance filters. Use a filter to return a more specific # list of results. # # @option params [Array] :resource_ids # The ID for the resources from which to get compliance information. # Currently, you can only specify one resource ID. # # @option params [Array] :resource_types # The type of resource from which to get compliance information. # Currently, the only supported resource type is `ManagedInstance`. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::ListComplianceItemsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListComplianceItemsResult#compliance_items #compliance_items} => Array<Types::ComplianceItem> # * {Types::ListComplianceItemsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_compliance_items({ # filters: [ # { # key: "ComplianceStringFilterKey", # values: ["ComplianceFilterValue"], # type: "EQUAL", # accepts EQUAL, NOT_EQUAL, BEGIN_WITH, LESS_THAN, GREATER_THAN # }, # ], # resource_ids: ["ComplianceResourceId"], # resource_types: ["ComplianceResourceType"], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.compliance_items #=> Array # resp.compliance_items[0].compliance_type #=> String # resp.compliance_items[0].resource_type #=> String # resp.compliance_items[0].resource_id #=> String # resp.compliance_items[0].id #=> String # resp.compliance_items[0].title #=> String # resp.compliance_items[0].status #=> String, one of "COMPLIANT", "NON_COMPLIANT" # resp.compliance_items[0].severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.compliance_items[0].execution_summary.execution_time #=> Time # resp.compliance_items[0].execution_summary.execution_id #=> String # resp.compliance_items[0].execution_summary.execution_type #=> String # resp.compliance_items[0].details #=> Hash # resp.compliance_items[0].details["AttributeName"] #=> # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceItems AWS API Documentation # # @overload list_compliance_items(params = {}) # @param [Hash] params ({}) def list_compliance_items(params = {}, options = {}) req = build_request(:list_compliance_items, params) req.send_request(options) end # Returns a summary count of compliant and non-compliant resources for a # compliance type. For example, this call can return State Manager # associations, patches, or custom compliance types according to the # filter criteria that you specify. # # @option params [Array] :filters # One or more compliance or inventory filters. Use a filter to return a # more specific list of results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. Currently, you # can specify null or 50. The call also returns a token that you can # specify in a subsequent call to get the next set of results. # # @return [Types::ListComplianceSummariesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListComplianceSummariesResult#compliance_summary_items #compliance_summary_items} => Array<Types::ComplianceSummaryItem> # * {Types::ListComplianceSummariesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_compliance_summaries({ # filters: [ # { # key: "ComplianceStringFilterKey", # values: ["ComplianceFilterValue"], # type: "EQUAL", # accepts EQUAL, NOT_EQUAL, BEGIN_WITH, LESS_THAN, GREATER_THAN # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.compliance_summary_items #=> Array # resp.compliance_summary_items[0].compliance_type #=> String # resp.compliance_summary_items[0].compliant_summary.compliant_count #=> Integer # resp.compliance_summary_items[0].compliant_summary.severity_summary.critical_count #=> Integer # resp.compliance_summary_items[0].compliant_summary.severity_summary.high_count #=> Integer # resp.compliance_summary_items[0].compliant_summary.severity_summary.medium_count #=> Integer # resp.compliance_summary_items[0].compliant_summary.severity_summary.low_count #=> Integer # resp.compliance_summary_items[0].compliant_summary.severity_summary.informational_count #=> Integer # resp.compliance_summary_items[0].compliant_summary.severity_summary.unspecified_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.non_compliant_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.severity_summary.critical_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.severity_summary.high_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.severity_summary.medium_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.severity_summary.low_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.severity_summary.informational_count #=> Integer # resp.compliance_summary_items[0].non_compliant_summary.severity_summary.unspecified_count #=> Integer # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListComplianceSummaries AWS API Documentation # # @overload list_compliance_summaries(params = {}) # @param [Hash] params ({}) def list_compliance_summaries(params = {}, options = {}) req = build_request(:list_compliance_summaries, params) req.send_request(options) end # List all versions for a document. # # @option params [required, String] :name # The name of the document. You can specify an Amazon Resource Name # (ARN). # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::ListDocumentVersionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListDocumentVersionsResult#document_versions #document_versions} => Array<Types::DocumentVersionInfo> # * {Types::ListDocumentVersionsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_document_versions({ # name: "DocumentARN", # required # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.document_versions #=> Array # resp.document_versions[0].name #=> String # resp.document_versions[0].document_version #=> String # resp.document_versions[0].version_name #=> String # resp.document_versions[0].created_date #=> Time # resp.document_versions[0].is_default_version #=> Boolean # resp.document_versions[0].document_format #=> String, one of "YAML", "JSON", "TEXT" # resp.document_versions[0].status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed" # resp.document_versions[0].status_information #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocumentVersions AWS API Documentation # # @overload list_document_versions(params = {}) # @param [Hash] params ({}) def list_document_versions(params = {}, options = {}) req = build_request(:list_document_versions, params) req.send_request(options) end # Describes one or more of your Systems Manager documents. # # @option params [Array] :document_filter_list # One or more filters. Use a filter to return a more specific list of # results. # # @option params [Array] :filters # One or more filters. Use a filter to return a more specific list of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @return [Types::ListDocumentsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListDocumentsResult#document_identifiers #document_identifiers} => Array<Types::DocumentIdentifier> # * {Types::ListDocumentsResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_documents({ # document_filter_list: [ # { # key: "Name", # required, accepts Name, Owner, PlatformTypes, DocumentType # value: "DocumentFilterValue", # required # }, # ], # filters: [ # { # key: "DocumentKeyValuesFilterKey", # values: ["DocumentKeyValuesFilterValue"], # }, # ], # max_results: 1, # next_token: "NextToken", # }) # # @example Response structure # # resp.document_identifiers #=> Array # resp.document_identifiers[0].name #=> String # resp.document_identifiers[0].owner #=> String # resp.document_identifiers[0].version_name #=> String # resp.document_identifiers[0].platform_types #=> Array # resp.document_identifiers[0].platform_types[0] #=> String, one of "Windows", "Linux" # resp.document_identifiers[0].document_version #=> String # resp.document_identifiers[0].document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar" # resp.document_identifiers[0].schema_version #=> String # resp.document_identifiers[0].document_format #=> String, one of "YAML", "JSON", "TEXT" # resp.document_identifiers[0].target_type #=> String # resp.document_identifiers[0].tags #=> Array # resp.document_identifiers[0].tags[0].key #=> String # resp.document_identifiers[0].tags[0].value #=> String # resp.document_identifiers[0].requires #=> Array # resp.document_identifiers[0].requires[0].name #=> String # resp.document_identifiers[0].requires[0].version #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListDocuments AWS API Documentation # # @overload list_documents(params = {}) # @param [Hash] params ({}) def list_documents(params = {}, options = {}) req = build_request(:list_documents, params) req.send_request(options) end # A list of inventory items returned by the request. # # @option params [required, String] :instance_id # The instance ID for which you want inventory information. # # @option params [required, String] :type_name # The type of inventory item for which you want information. # # @option params [Array] :filters # One or more filters. Use a filter to return a more specific list of # results. # # @option params [String] :next_token # The token for the next set of items to return. (You received this # token from a previous call.) # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::ListInventoryEntriesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListInventoryEntriesResult#type_name #type_name} => String # * {Types::ListInventoryEntriesResult#instance_id #instance_id} => String # * {Types::ListInventoryEntriesResult#schema_version #schema_version} => String # * {Types::ListInventoryEntriesResult#capture_time #capture_time} => String # * {Types::ListInventoryEntriesResult#entries #entries} => Array<Hash<String,String>> # * {Types::ListInventoryEntriesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_inventory_entries({ # instance_id: "InstanceId", # required # type_name: "InventoryItemTypeName", # required # filters: [ # { # key: "InventoryFilterKey", # required # values: ["InventoryFilterValue"], # required # type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.type_name #=> String # resp.instance_id #=> String # resp.schema_version #=> String # resp.capture_time #=> String # resp.entries #=> Array # resp.entries[0] #=> Hash # resp.entries[0]["AttributeName"] #=> # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListInventoryEntries AWS API Documentation # # @overload list_inventory_entries(params = {}) # @param [Hash] params ({}) def list_inventory_entries(params = {}, options = {}) req = build_request(:list_inventory_entries, params) req.send_request(options) end # Returns a resource-level summary count. The summary includes # information about compliant and non-compliant statuses and detailed # compliance-item severity counts, according to the filter criteria you # specify. # # @option params [Array] :filters # One or more filters. Use a filter to return a more specific list of # results. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::ListResourceComplianceSummariesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListResourceComplianceSummariesResult#resource_compliance_summary_items #resource_compliance_summary_items} => Array<Types::ResourceComplianceSummaryItem> # * {Types::ListResourceComplianceSummariesResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_resource_compliance_summaries({ # filters: [ # { # key: "ComplianceStringFilterKey", # values: ["ComplianceFilterValue"], # type: "EQUAL", # accepts EQUAL, NOT_EQUAL, BEGIN_WITH, LESS_THAN, GREATER_THAN # }, # ], # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.resource_compliance_summary_items #=> Array # resp.resource_compliance_summary_items[0].compliance_type #=> String # resp.resource_compliance_summary_items[0].resource_type #=> String # resp.resource_compliance_summary_items[0].resource_id #=> String # resp.resource_compliance_summary_items[0].status #=> String, one of "COMPLIANT", "NON_COMPLIANT" # resp.resource_compliance_summary_items[0].overall_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.resource_compliance_summary_items[0].execution_summary.execution_time #=> Time # resp.resource_compliance_summary_items[0].execution_summary.execution_id #=> String # resp.resource_compliance_summary_items[0].execution_summary.execution_type #=> String # resp.resource_compliance_summary_items[0].compliant_summary.compliant_count #=> Integer # resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.critical_count #=> Integer # resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.high_count #=> Integer # resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.medium_count #=> Integer # resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.low_count #=> Integer # resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.informational_count #=> Integer # resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.unspecified_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.non_compliant_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.critical_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.high_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.medium_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.low_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.informational_count #=> Integer # resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.unspecified_count #=> Integer # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceComplianceSummaries AWS API Documentation # # @overload list_resource_compliance_summaries(params = {}) # @param [Hash] params ({}) def list_resource_compliance_summaries(params = {}, options = {}) req = build_request(:list_resource_compliance_summaries, params) req.send_request(options) end # Lists your resource data sync configurations. Includes information # about the last time a sync attempted to start, the last sync status, # and the last time a sync successfully completed. # # The number of sync configurations might be too large to return using a # single call to `ListResourceDataSync`. You can limit the number of # sync configurations returned by using the `MaxResults` parameter. To # determine whether there are more sync configurations to list, check # the value of `NextToken` in the output. If there are more sync # configurations to list, you can request them by specifying the # `NextToken` returned in the call to the parameter of a subsequent # call. # # @option params [String] :sync_type # View a list of resource data syncs according to the sync type. Specify # `SyncToDestination` to view resource data syncs that synchronize data # to an Amazon S3 buckets. Specify `SyncFromSource` to view resource # data syncs from AWS Organizations or from multiple AWS Regions. # # @option params [String] :next_token # A token to start the list. Use this token to get the next set of # results. # # @option params [Integer] :max_results # The maximum number of items to return for this call. The call also # returns a token that you can specify in a subsequent call to get the # next set of results. # # @return [Types::ListResourceDataSyncResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListResourceDataSyncResult#resource_data_sync_items #resource_data_sync_items} => Array<Types::ResourceDataSyncItem> # * {Types::ListResourceDataSyncResult#next_token #next_token} => String # # @example Request syntax with placeholder values # # resp = client.list_resource_data_sync({ # sync_type: "ResourceDataSyncType", # next_token: "NextToken", # max_results: 1, # }) # # @example Response structure # # resp.resource_data_sync_items #=> Array # resp.resource_data_sync_items[0].sync_name #=> String # resp.resource_data_sync_items[0].sync_type #=> String # resp.resource_data_sync_items[0].sync_source.source_type #=> String # resp.resource_data_sync_items[0].sync_source.aws_organizations_source.organization_source_type #=> String # resp.resource_data_sync_items[0].sync_source.aws_organizations_source.organizational_units #=> Array # resp.resource_data_sync_items[0].sync_source.aws_organizations_source.organizational_units[0].organizational_unit_id #=> String # resp.resource_data_sync_items[0].sync_source.source_regions #=> Array # resp.resource_data_sync_items[0].sync_source.source_regions[0] #=> String # resp.resource_data_sync_items[0].sync_source.include_future_regions #=> Boolean # resp.resource_data_sync_items[0].sync_source.state #=> String # resp.resource_data_sync_items[0].s3_destination.bucket_name #=> String # resp.resource_data_sync_items[0].s3_destination.prefix #=> String # resp.resource_data_sync_items[0].s3_destination.sync_format #=> String, one of "JsonSerDe" # resp.resource_data_sync_items[0].s3_destination.region #=> String # resp.resource_data_sync_items[0].s3_destination.awskms_key_arn #=> String # resp.resource_data_sync_items[0].last_sync_time #=> Time # resp.resource_data_sync_items[0].last_successful_sync_time #=> Time # resp.resource_data_sync_items[0].sync_last_modified_time #=> Time # resp.resource_data_sync_items[0].last_status #=> String, one of "Successful", "Failed", "InProgress" # resp.resource_data_sync_items[0].sync_created_time #=> Time # resp.resource_data_sync_items[0].last_sync_status_message #=> String # resp.next_token #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListResourceDataSync AWS API Documentation # # @overload list_resource_data_sync(params = {}) # @param [Hash] params ({}) def list_resource_data_sync(params = {}, options = {}) req = build_request(:list_resource_data_sync, params) req.send_request(options) end # Returns a list of the tags assigned to the specified resource. # # @option params [required, String] :resource_type # Returns a list of tags for a specific resource type. # # @option params [required, String] :resource_id # The resource ID for which you want to see a list of tags. # # @return [Types::ListTagsForResourceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListTagsForResourceResult#tag_list #tag_list} => Array<Types::Tag> # # @example Request syntax with placeholder values # # resp = client.list_tags_for_resource({ # resource_type: "Document", # required, accepts Document, ManagedInstance, MaintenanceWindow, Parameter, PatchBaseline, OpsItem # resource_id: "ResourceId", # required # }) # # @example Response structure # # resp.tag_list #=> Array # resp.tag_list[0].key #=> String # resp.tag_list[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ListTagsForResource AWS API Documentation # # @overload list_tags_for_resource(params = {}) # @param [Hash] params ({}) def list_tags_for_resource(params = {}, options = {}) req = build_request(:list_tags_for_resource, params) req.send_request(options) end # Shares a Systems Manager document publicly or privately. If you share # a document privately, you must specify the AWS user account IDs for # those people who can use the document. If you share a document # publicly, you must specify *All* as the account ID. # # @option params [required, String] :name # The name of the document that you want to share. # # @option params [required, String] :permission_type # The permission type for the document. The permission type can be # *Share*. # # @option params [Array] :account_ids_to_add # The AWS user accounts that should have access to the document. The # account IDs can either be a group of account IDs or *All*. # # @option params [Array] :account_ids_to_remove # The AWS user accounts that should no longer have access to the # document. The AWS user account can either be a group of account IDs or # *All*. This action has a higher priority than *AccountIdsToAdd*. If # you specify an account ID to add and the same ID to remove, the system # removes access to the document. # # @option params [String] :shared_document_version # (Optional) The version of the document to share. If it's not # specified, the system choose the `Default` version to share. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.modify_document_permission({ # name: "DocumentName", # required # permission_type: "Share", # required, accepts Share # account_ids_to_add: ["AccountId"], # account_ids_to_remove: ["AccountId"], # shared_document_version: "SharedDocumentVersion", # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ModifyDocumentPermission AWS API Documentation # # @overload modify_document_permission(params = {}) # @param [Hash] params ({}) def modify_document_permission(params = {}, options = {}) req = build_request(:modify_document_permission, params) req.send_request(options) end # Registers a compliance type and other compliance details on a # designated resource. This action lets you register custom compliance # details with a resource. This call overwrites existing compliance # information on the resource, so you must provide a full list of # compliance items each time that you send the request. # # ComplianceType can be one of the following: # # * ExecutionId: The execution ID when the patch, association, or custom # compliance item was applied. # # * ExecutionType: Specify patch, association, or Custom:`string`. # # * ExecutionTime. The time the patch, association, or custom compliance # item was applied to the instance. # # * Id: The patch, association, or custom compliance ID. # # * Title: A title. # # * Status: The status of the compliance item. For example, `approved` # for patches, or `Failed` for associations. # # * Severity: A patch severity. For example, `critical`. # # * DocumentName: A SSM document name. For example, # AWS-RunPatchBaseline. # # * DocumentVersion: An SSM document version number. For example, 4. # # * Classification: A patch classification. For example, `security # updates`. # # * PatchBaselineId: A patch baseline ID. # # * PatchSeverity: A patch severity. For example, `Critical`. # # * PatchState: A patch state. For example, # `InstancesWithFailedPatches`. # # * PatchGroup: The name of a patch group. # # * InstalledTime: The time the association, patch, or custom compliance # item was applied to the resource. Specify the time by using the # following format: yyyy-MM-dd'T'HH:mm:ss'Z' # # @option params [required, String] :resource_id # Specify an ID for this resource. For a managed instance, this is the # instance ID. # # @option params [required, String] :resource_type # Specify the type of resource. `ManagedInstance` is currently the only # supported resource type. # # @option params [required, String] :compliance_type # Specify the compliance type. For example, specify Association (for a # State Manager association), Patch, or Custom:`string`. # # @option params [required, Types::ComplianceExecutionSummary] :execution_summary # A summary of the call execution that includes an execution ID, the # type of execution (for example, `Command`), and the date/time of the # execution using a datetime object that is saved in the following # format: yyyy-MM-dd'T'HH:mm:ss'Z'. # # @option params [required, Array] :items # Information about the compliance as defined by the resource type. For # example, for a patch compliance type, `Items` includes information # about the PatchSeverity, Classification, etc. # # @option params [String] :item_content_hash # MD5 or SHA-256 content hash. The content hash is used to determine if # existing information should be overwritten or ignored. If the content # hashes match, the request to put compliance information is ignored. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.put_compliance_items({ # resource_id: "ComplianceResourceId", # required # resource_type: "ComplianceResourceType", # required # compliance_type: "ComplianceTypeName", # required # execution_summary: { # required # execution_time: Time.now, # required # execution_id: "ComplianceExecutionId", # execution_type: "ComplianceExecutionType", # }, # items: [ # required # { # id: "ComplianceItemId", # title: "ComplianceItemTitle", # severity: "CRITICAL", # required, accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED # status: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT # details: { # "AttributeName" => "AttributeValue", # }, # }, # ], # item_content_hash: "ComplianceItemContentHash", # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutComplianceItems AWS API Documentation # # @overload put_compliance_items(params = {}) # @param [Hash] params ({}) def put_compliance_items(params = {}, options = {}) req = build_request(:put_compliance_items, params) req.send_request(options) end # Bulk update custom inventory items on one more instance. The request # adds an inventory item, if it doesn't already exist, or updates an # inventory item, if it does exist. # # @option params [required, String] :instance_id # An instance ID where you want to add or update inventory items. # # @option params [required, Array] :items # The inventory items that you want to add or update on instances. # # @return [Types::PutInventoryResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::PutInventoryResult#message #message} => String # # @example Request syntax with placeholder values # # resp = client.put_inventory({ # instance_id: "InstanceId", # required # items: [ # required # { # type_name: "InventoryItemTypeName", # required # schema_version: "InventoryItemSchemaVersion", # required # capture_time: "InventoryItemCaptureTime", # required # content_hash: "InventoryItemContentHash", # content: [ # { # "AttributeName" => "AttributeValue", # }, # ], # context: { # "AttributeName" => "AttributeValue", # }, # }, # ], # }) # # @example Response structure # # resp.message #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutInventory AWS API Documentation # # @overload put_inventory(params = {}) # @param [Hash] params ({}) def put_inventory(params = {}, options = {}) req = build_request(:put_inventory, params) req.send_request(options) end # Add a parameter to the system. # # @option params [required, String] :name # The fully qualified name of the parameter that you want to add to the # system. The fully qualified name includes the complete hierarchy of # the parameter path and name. For example: # `/Dev/DBServer/MySQL/db-string13` # # Naming Constraints: # # * Parameter names are case sensitive. # # * A parameter name must be unique within an AWS Region # # * A parameter name can't be prefixed with "aws" or "ssm" # (case-insensitive). # # * Parameter names can include only the following symbols and letters: # `a-zA-Z0-9_.-/` # # * A parameter name can't include spaces. # # * Parameter hierarchies are limited to a maximum depth of fifteen # levels. # # For additional information about valid values for parameter names, see # [Requirements and Constraints for Parameter Names][1] in the *AWS # Systems Manager User Guide*. # # The maximum length constraint listed below includes capacity for # additional system attributes that are not part of the name. The # maximum length for the fully qualified parameter name is 1011 # characters, including the full length of the parameter ARN. For # example, the following fully qualified parameter name is 65 # characters, not 20 characters: # # `arn:aws:ssm:us-east-2:111122223333:parameter/ExampleParameterName` # # # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html # # @option params [String] :description # Information about the parameter that you want to add to the system. # Optional but recommended. # # Do not enter personally identifiable information in this field. # # @option params [required, String] :value # The parameter value that you want to add to the system. Standard # parameters have a value limit of 4 KB. Advanced parameters have a # value limit of 8 KB. # # @option params [required, String] :type # The type of parameter that you want to add to the system. # # Items in a `StringList` must be separated by a comma (,). You can't # use other punctuation or special character to escape items in the # list. If you have a parameter value that requires a comma, then use # the `String` data type. # # `SecureString` is not currently supported for AWS CloudFormation # templates or in the China Regions. # # # # @option params [String] :key_id # The KMS Key ID that you want to use to encrypt a parameter. Either the # default AWS Key Management Service (AWS KMS) key automatically # assigned to your AWS account or a custom key. Required for parameters # that use the `SecureString` data type. # # If you don't specify a key ID, the system uses the default key # associated with your AWS account. # # * To use your default AWS KMS key, choose the `SecureString` data # type, and do *not* specify the `Key ID` when you create the # parameter. The system automatically populates `Key ID` with your # default KMS key. # # * To use a custom KMS key, choose the `SecureString` data type with # the `Key ID` parameter. # # @option params [Boolean] :overwrite # Overwrite an existing parameter. If not specified, will default to # "false". # # @option params [String] :allowed_pattern # A regular expression used to validate the parameter value. For # example, for String types with values restricted to numbers, you can # specify the following: AllowedPattern=^\\d+$ # # @option params [Array] :tags # Optional metadata that you assign to a resource. Tags enable you to # categorize a resource in different ways, such as by purpose, owner, or # environment. For example, you might want to tag a Systems Manager # parameter to identify the type of resource to which it applies, the # environment, or the type of configuration data referenced by the # parameter. In this case, you could specify the following key # name/value pairs: # # * `Key=Resource,Value=S3bucket` # # * `Key=OS,Value=Windows` # # * `Key=ParameterType,Value=LicenseKey` # # To add tags to an existing Systems Manager parameter, use the # AddTagsToResource action. # # # # @option params [String] :tier # The parameter tier to assign to a parameter. # # Parameter Store offers a standard tier and an advanced tier for # parameters. Standard parameters have a content size limit of 4 KB and # can't be configured to use parameter policies. You can create a # maximum of 10,000 standard parameters for each Region in an AWS # account. Standard parameters are offered at no additional cost. # # Advanced parameters have a content size limit of 8 KB and can be # configured to use parameter policies. You can create a maximum of # 100,000 advanced parameters for each Region in an AWS account. # Advanced parameters incur a charge. For more information, see [About # Advanced Parameters][1] in the *AWS Systems Manager User Guide*. # # You can change a standard parameter to an advanced parameter any time. # But you can't revert an advanced parameter to a standard parameter. # Reverting an advanced parameter to a standard parameter would result # in data loss because the system would truncate the size of the # parameter from 8 KB to 4 KB. Reverting would also remove any policies # attached to the parameter. Lastly, advanced parameters use a different # form of encryption than standard parameters. # # If you no longer need an advanced parameter, or if you no longer want # to incur charges for an advanced parameter, you must delete it and # recreate it as a new standard parameter. # # **Using the Default Tier Configuration** # # In `PutParameter` requests, you can specify the tier to create the # parameter in. Whenever you specify a tier in the request, Parameter # Store creates or updates the parameter according to that request. # However, if you do not specify a tier in a request, Parameter Store # assigns the tier based on the current Parameter Store default tier # configuration. # # The default tier when you begin using Parameter Store is the # standard-parameter tier. If you use the advanced-parameter tier, you # can specify one of the following as the default: # # * **Advanced**\: With this option, Parameter Store evaluates all # requests as advanced parameters. # # * **Intelligent-Tiering**\: With this option, Parameter Store # evaluates each request to determine if the parameter is standard or # advanced. # # If the request doesn't include any options that require an advanced # parameter, the parameter is created in the standard-parameter tier. # If one or more options requiring an advanced parameter are included # in the request, Parameter Store create a parameter in the # advanced-parameter tier. # # This approach helps control your parameter-related costs by always # creating standard parameters unless an advanced parameter is # necessary. # # Options that require an advanced parameter include the following: # # * The content size of the parameter is more than 4 KB. # # * The parameter uses a parameter policy. # # * More than 10,000 parameters already exist in your AWS account in the # current Region. # # For more information about configuring the default tier option, see # [Specifying a Default Parameter Tier][2] in the *AWS Systems Manager # User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/ps-default-tier.html # # @option params [String] :policies # One or more policies to apply to a parameter. This action takes a JSON # array. Parameter Store supports the following policy types: # # Expiration: This policy deletes the parameter after it expires. When # you create the policy, you specify the expiration date. You can update # the expiration date and time by updating the policy. Updating the # *parameter* does not affect the expiration date and time. When the # expiration time is reached, Parameter Store deletes the parameter. # # ExpirationNotification: This policy triggers an event in Amazon # CloudWatch Events that notifies you about the expiration. By using # this policy, you can receive notification before or after the # expiration time is reached, in units of days or hours. # # NoChangeNotification: This policy triggers a CloudWatch event if a # parameter has not been modified for a specified period of time. This # policy type is useful when, for example, a secret needs to be changed # within a period of time, but it has not been changed. # # All existing policies are preserved until you send new policies or an # empty policy. For more information about parameter policies, see # [Working with Parameter Policies][1]. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-policies.html # # @return [Types::PutParameterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::PutParameterResult#version #version} => Integer # * {Types::PutParameterResult#tier #tier} => String # # @example Request syntax with placeholder values # # resp = client.put_parameter({ # name: "PSParameterName", # required # description: "ParameterDescription", # value: "PSParameterValue", # required # type: "String", # required, accepts String, StringList, SecureString # key_id: "ParameterKeyId", # overwrite: false, # allowed_pattern: "AllowedPattern", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # tier: "Standard", # accepts Standard, Advanced, Intelligent-Tiering # policies: "ParameterPolicies", # }) # # @example Response structure # # resp.version #=> Integer # resp.tier #=> String, one of "Standard", "Advanced", "Intelligent-Tiering" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutParameter AWS API Documentation # # @overload put_parameter(params = {}) # @param [Hash] params ({}) def put_parameter(params = {}, options = {}) req = build_request(:put_parameter, params) req.send_request(options) end # Defines the default patch baseline for the relevant operating system. # # To reset the AWS predefined patch baseline as the default, specify the # full patch baseline ARN as the baseline ID value. For example, for # CentOS, specify # `arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed` # instead of `pb-0574b43a65ea646ed`. # # @option params [required, String] :baseline_id # The ID of the patch baseline that should be the default patch # baseline. # # @return [Types::RegisterDefaultPatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RegisterDefaultPatchBaselineResult#baseline_id #baseline_id} => String # # @example Request syntax with placeholder values # # resp = client.register_default_patch_baseline({ # baseline_id: "BaselineId", # required # }) # # @example Response structure # # resp.baseline_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterDefaultPatchBaseline AWS API Documentation # # @overload register_default_patch_baseline(params = {}) # @param [Hash] params ({}) def register_default_patch_baseline(params = {}, options = {}) req = build_request(:register_default_patch_baseline, params) req.send_request(options) end # Registers a patch baseline for a patch group. # # @option params [required, String] :baseline_id # The ID of the patch baseline to register the patch group with. # # @option params [required, String] :patch_group # The name of the patch group that should be registered with the patch # baseline. # # @return [Types::RegisterPatchBaselineForPatchGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RegisterPatchBaselineForPatchGroupResult#baseline_id #baseline_id} => String # * {Types::RegisterPatchBaselineForPatchGroupResult#patch_group #patch_group} => String # # @example Request syntax with placeholder values # # resp = client.register_patch_baseline_for_patch_group({ # baseline_id: "BaselineId", # required # patch_group: "PatchGroup", # required # }) # # @example Response structure # # resp.baseline_id #=> String # resp.patch_group #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterPatchBaselineForPatchGroup AWS API Documentation # # @overload register_patch_baseline_for_patch_group(params = {}) # @param [Hash] params ({}) def register_patch_baseline_for_patch_group(params = {}, options = {}) req = build_request(:register_patch_baseline_for_patch_group, params) req.send_request(options) end # Registers a target with a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window the target should be registered with. # # @option params [required, String] :resource_type # The type of target being registered with the maintenance window. # # @option params [required, Array] :targets # The targets to register with the maintenance window. In other words, # the instances to run commands on when the maintenance window runs. # # You can specify targets using instance IDs, resource group names, or # tags that have been applied to instances. # # **Example 1**\: Specify instance IDs # # `Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3 ` # # **Example 2**\: Use tag key-pairs applied to instances # # `Key=tag:my-tag-key,Values=my-tag-value-1,my-tag-value-2 ` # # **Example 3**\: Use tag-keys applied to instances # # `Key=tag-key,Values=my-tag-key-1,my-tag-key-2 ` # # **Example 4**\: Use resource group names # # `Key=resource-groups:Name,Values=resource-group-name ` # # **Example 5**\: Use filters for resource group types # # `Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 # ` # # For `Key=resource-groups:ResourceTypeFilters`, specify resource types # in the following format # # `Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC # ` # # # # For more information about these examples formats, including the best # use case for each one, see [Examples: Register Targets with a # Maintenance Window][1] in the *AWS Systems Manager User Guide*. # # # # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html # # @option params [String] :owner_information # User-provided value that will be included in any CloudWatch events # raised while running tasks for these targets in this maintenance # window. # # @option params [String] :name # An optional name for the target. # # @option params [String] :description # An optional description for the target. # # @option params [String] :client_token # User-provided idempotency token. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @return [Types::RegisterTargetWithMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RegisterTargetWithMaintenanceWindowResult#window_target_id #window_target_id} => String # # @example Request syntax with placeholder values # # resp = client.register_target_with_maintenance_window({ # window_id: "MaintenanceWindowId", # required # resource_type: "INSTANCE", # required, accepts INSTANCE, RESOURCE_GROUP # targets: [ # required # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # owner_information: "OwnerInformation", # name: "MaintenanceWindowName", # description: "MaintenanceWindowDescription", # client_token: "ClientToken", # }) # # @example Response structure # # resp.window_target_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTargetWithMaintenanceWindow AWS API Documentation # # @overload register_target_with_maintenance_window(params = {}) # @param [Hash] params ({}) def register_target_with_maintenance_window(params = {}, options = {}) req = build_request(:register_target_with_maintenance_window, params) req.send_request(options) end # Adds a new task to a maintenance window. # # @option params [required, String] :window_id # The ID of the maintenance window the task should be added to. # # @option params [required, Array] :targets # The targets (either instances or maintenance window targets). # # Specify instances using the following format: # # `Key=InstanceIds,Values=,` # # Specify maintenance window targets using the following format: # # `Key=WindowTargetIds;,Values=,` # # @option params [required, String] :task_arn # The ARN of the task to run. # # @option params [String] :service_role_arn # The ARN of the IAM service role for Systems Manager to assume when # running a maintenance window task. If you do not specify a service # role ARN, Systems Manager uses your account's service-linked role. If # no service-linked role for Systems Manager exists in your account, it # is created when you run `RegisterTaskWithMaintenanceWindow`. # # For more information, see the following topics in the in the *AWS # Systems Manager User Guide*\: # # * [Service-Linked Role Permissions for Systems Manager][1] # # * [Should I Use a Service-Linked Role or a Custom Service Role to Run # Maintenance Window Tasks? ][2] # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role # # @option params [required, String] :task_type # The type of task being registered. # # @option params [Hash] :task_parameters # The parameters that should be passed to the task when it is run. # # `TaskParameters` has been deprecated. To specify parameters to pass to # a task when it runs, instead use the `Parameters` option in the # `TaskInvocationParameters` structure. For information about how # Systems Manager handles these options for the supported maintenance # window task types, see MaintenanceWindowTaskInvocationParameters. # # # # @option params [Types::MaintenanceWindowTaskInvocationParameters] :task_invocation_parameters # The parameters that the task should use during execution. Populate # only the fields that match the task type. All other fields should be # empty. # # @option params [Integer] :priority # The priority of the task in the maintenance window, the lower the # number the higher the priority. Tasks in a maintenance window are # scheduled in priority order with tasks that have the same priority # scheduled in parallel. # # @option params [required, String] :max_concurrency # The maximum number of targets this task can be run for in parallel. # # @option params [required, String] :max_errors # The maximum number of errors allowed before this task stops being # scheduled. # # @option params [Types::LoggingInfo] :logging_info # A structure containing information about an Amazon S3 bucket to write # instance-level logs to. # # `LoggingInfo` has been deprecated. To specify an S3 bucket to contain # logs, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` # options in the `TaskInvocationParameters` structure. For information # about how Systems Manager handles these options for the supported # maintenance window task types, see # MaintenanceWindowTaskInvocationParameters. # # # # @option params [String] :name # An optional name for the task. # # @option params [String] :description # An optional description for the task. # # @option params [String] :client_token # User-provided idempotency token. # # **A suitable default value is auto-generated.** You should normally # not need to pass this option.** # # @return [Types::RegisterTaskWithMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RegisterTaskWithMaintenanceWindowResult#window_task_id #window_task_id} => String # # @example Request syntax with placeholder values # # resp = client.register_task_with_maintenance_window({ # window_id: "MaintenanceWindowId", # required # targets: [ # required # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # task_arn: "MaintenanceWindowTaskArn", # required # service_role_arn: "ServiceRole", # task_type: "RUN_COMMAND", # required, accepts RUN_COMMAND, AUTOMATION, STEP_FUNCTIONS, LAMBDA # task_parameters: { # "MaintenanceWindowTaskParameterName" => { # values: ["MaintenanceWindowTaskParameterValue"], # }, # }, # task_invocation_parameters: { # run_command: { # comment: "Comment", # cloud_watch_output_config: { # cloud_watch_log_group_name: "CloudWatchLogGroupName", # cloud_watch_output_enabled: false, # }, # document_hash: "DocumentHash", # document_hash_type: "Sha256", # accepts Sha256, Sha1 # document_version: "DocumentVersion", # notification_config: { # notification_arn: "NotificationArn", # notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed # notification_type: "Command", # accepts Command, Invocation # }, # output_s3_bucket_name: "S3BucketName", # output_s3_key_prefix: "S3KeyPrefix", # parameters: { # "ParameterName" => ["ParameterValue"], # }, # service_role_arn: "ServiceRole", # timeout_seconds: 1, # }, # automation: { # document_version: "DocumentVersion", # parameters: { # "AutomationParameterKey" => ["AutomationParameterValue"], # }, # }, # step_functions: { # input: "MaintenanceWindowStepFunctionsInput", # name: "MaintenanceWindowStepFunctionsName", # }, # lambda: { # client_context: "MaintenanceWindowLambdaClientContext", # qualifier: "MaintenanceWindowLambdaQualifier", # payload: "data", # }, # }, # priority: 1, # max_concurrency: "MaxConcurrency", # required # max_errors: "MaxErrors", # required # logging_info: { # s3_bucket_name: "S3BucketName", # required # s3_key_prefix: "S3KeyPrefix", # s3_region: "S3Region", # required # }, # name: "MaintenanceWindowName", # description: "MaintenanceWindowDescription", # client_token: "ClientToken", # }) # # @example Response structure # # resp.window_task_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RegisterTaskWithMaintenanceWindow AWS API Documentation # # @overload register_task_with_maintenance_window(params = {}) # @param [Hash] params ({}) def register_task_with_maintenance_window(params = {}, options = {}) req = build_request(:register_task_with_maintenance_window, params) req.send_request(options) end # Removes tag keys from the specified resource. # # @option params [required, String] :resource_type # The type of resource from which you want to remove a tag. # # The ManagedInstance type for this API action is only for on-premises # managed instances. Specify the name of the managed instance in the # following format: mi-ID\_number. For example, mi-1a2b3c4d5e6f. # # # # @option params [required, String] :resource_id # The ID of the resource from which you want to remove tags. For # example: # # ManagedInstance: mi-012345abcde # # MaintenanceWindow: mw-012345abcde # # PatchBaseline: pb-012345abcde # # For the Document and Parameter values, use the name of the resource. # # The ManagedInstance type for this API action is only for on-premises # managed instances. Specify the name of the managed instance in the # following format: mi-ID\_number. For example, mi-1a2b3c4d5e6f. # # # # @option params [required, Array] :tag_keys # Tag keys that you want to remove from the specified resource. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.remove_tags_from_resource({ # resource_type: "Document", # required, accepts Document, ManagedInstance, MaintenanceWindow, Parameter, PatchBaseline, OpsItem # resource_id: "ResourceId", # required # tag_keys: ["TagKey"], # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/RemoveTagsFromResource AWS API Documentation # # @overload remove_tags_from_resource(params = {}) # @param [Hash] params ({}) def remove_tags_from_resource(params = {}, options = {}) req = build_request(:remove_tags_from_resource, params) req.send_request(options) end # `ServiceSetting` is an account-level setting for an AWS service. This # setting defines how a user interacts with or uses a service or a # feature of a service. For example, if an AWS service charges money to # the account based on feature or service usage, then the AWS service # team might create a default setting of "false". This means the user # can't use this feature unless they change the setting to "true" and # intentionally opt in for a paid feature. # # Services map a `SettingId` object to a setting value. AWS services # teams define the default value for a `SettingId`. You can't create a # new `SettingId`, but you can overwrite the default value if you have # the `ssm:UpdateServiceSetting` permission for the setting. Use the # GetServiceSetting API action to view the current value. Use the # UpdateServiceSetting API action to change the default setting. # # Reset the service setting for the account to the default value as # provisioned by the AWS service team. # # @option params [required, String] :setting_id # The ID of the service setting to reset. # # @return [Types::ResetServiceSettingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ResetServiceSettingResult#service_setting #service_setting} => Types::ServiceSetting # # @example Request syntax with placeholder values # # resp = client.reset_service_setting({ # setting_id: "ServiceSettingId", # required # }) # # @example Response structure # # resp.service_setting.setting_id #=> String # resp.service_setting.setting_value #=> String # resp.service_setting.last_modified_date #=> Time # resp.service_setting.last_modified_user #=> String # resp.service_setting.arn #=> String # resp.service_setting.status #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResetServiceSetting AWS API Documentation # # @overload reset_service_setting(params = {}) # @param [Hash] params ({}) def reset_service_setting(params = {}, options = {}) req = build_request(:reset_service_setting, params) req.send_request(options) end # Reconnects a session to an instance after it has been disconnected. # Connections can be resumed for disconnected sessions, but not # terminated sessions. # # This command is primarily for use by client machines to automatically # reconnect during intermittent network issues. It is not intended for # any other use. # # # # @option params [required, String] :session_id # The ID of the disconnected session to resume. # # @return [Types::ResumeSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ResumeSessionResponse#session_id #session_id} => String # * {Types::ResumeSessionResponse#token_value #token_value} => String # * {Types::ResumeSessionResponse#stream_url #stream_url} => String # # @example Request syntax with placeholder values # # resp = client.resume_session({ # session_id: "SessionId", # required # }) # # @example Response structure # # resp.session_id #=> String # resp.token_value #=> String # resp.stream_url #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/ResumeSession AWS API Documentation # # @overload resume_session(params = {}) # @param [Hash] params ({}) def resume_session(params = {}, options = {}) req = build_request(:resume_session, params) req.send_request(options) end # Sends a signal to an Automation execution to change the current # behavior or status of the execution. # # @option params [required, String] :automation_execution_id # The unique identifier for an existing Automation execution that you # want to send the signal to. # # @option params [required, String] :signal_type # The type of signal to send to an Automation execution. # # @option params [Hash] :payload # The data sent with the signal. The data schema depends on the type of # signal used in the request. # # For `Approve` and `Reject` signal types, the payload is an optional # comment that you can send with the signal type. For example: # # `Comment="Looks good"` # # For `StartStep` and `Resume` signal types, you must send the name of # the Automation step to start or resume as the payload. For example: # # `StepName="step1"` # # For the `StopStep` signal type, you must send the step execution ID as # the payload. For example: # # `StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"` # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.send_automation_signal({ # automation_execution_id: "AutomationExecutionId", # required # signal_type: "Approve", # required, accepts Approve, Reject, StartStep, StopStep, Resume # payload: { # "AutomationParameterKey" => ["AutomationParameterValue"], # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendAutomationSignal AWS API Documentation # # @overload send_automation_signal(params = {}) # @param [Hash] params ({}) def send_automation_signal(params = {}, options = {}) req = build_request(:send_automation_signal, params) req.send_request(options) end # Runs commands on one or more managed instances. # # @option params [Array] :instance_ids # The instance IDs where the command should run. You can specify a # maximum of 50 IDs. If you prefer not to list individual instance IDs, # you can instead send commands to a fleet of instances using the # Targets parameter, which accepts EC2 tags. For more information about # how to use targets, see [Sending Commands to a Fleet][1] in the *AWS # Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html # # @option params [Array] :targets # (Optional) An array of search criteria that targets instances using a # Key,Value combination that you specify. Targets is required if you # don't provide one or more instance IDs in the call. For more # information about how to use targets, see [Sending Commands to a # Fleet][1] in the *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html # # @option params [required, String] :document_name # Required. The name of the Systems Manager document to run. This can be # a public document or a custom document. # # @option params [String] :document_version # The SSM document version to use in the request. You can specify # $DEFAULT, $LATEST, or a specific version number. If you run commands # by using the AWS CLI, then you must escape the first two options by # using a backslash. If you specify a version number, then you don't # need to use the backslash. For example: # # --document-version "\\$DEFAULT" # # --document-version "\\$LATEST" # # --document-version "3" # # @option params [String] :document_hash # The Sha256 or Sha1 hash created by the system when the document was # created. # # Sha1 hashes have been deprecated. # # # # @option params [String] :document_hash_type # Sha256 or Sha1. # # Sha1 hashes have been deprecated. # # # # @option params [Integer] :timeout_seconds # If this time is reached and the command has not already started # running, it will not run. # # @option params [String] :comment # User-specified information about the command, such as a brief # description of what the command should do. # # @option params [Hash] :parameters # The required and optional parameters specified in the document being # run. # # @option params [String] :output_s3_region # (Deprecated) You can no longer specify this parameter. The system # ignores it. Instead, Systems Manager automatically determines the # Amazon S3 bucket region. # # @option params [String] :output_s3_bucket_name # The name of the S3 bucket where command execution responses should be # stored. # # @option params [String] :output_s3_key_prefix # The directory structure within the S3 bucket where the responses # should be stored. # # @option params [String] :max_concurrency # (Optional) The maximum number of instances that are allowed to run the # command at the same time. You can specify a number such as 10 or a # percentage such as 10%. The default value is 50. For more information # about how to use MaxConcurrency, see [Using Concurrency Controls][1] # in the *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity # # @option params [String] :max_errors # The maximum number of errors allowed without the command failing. When # the command fails one more time beyond the value of MaxErrors, the # systems stops sending the command to additional targets. You can # specify a number like 10 or a percentage like 10%. The default value # is 0. For more information about how to use MaxErrors, see [Using # Error Controls][1] in the *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors # # @option params [String] :service_role_arn # The ARN of the IAM service role to use to publish Amazon Simple # Notification Service (Amazon SNS) notifications for Run Command # commands. # # @option params [Types::NotificationConfig] :notification_config # Configurations for sending notifications. # # @option params [Types::CloudWatchOutputConfig] :cloud_watch_output_config # Enables Systems Manager to send Run Command output to Amazon # CloudWatch Logs. # # @return [Types::SendCommandResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::SendCommandResult#command #command} => Types::Command # # @example Request syntax with placeholder values # # resp = client.send_command({ # instance_ids: ["InstanceId"], # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # document_name: "DocumentARN", # required # document_version: "DocumentVersion", # document_hash: "DocumentHash", # document_hash_type: "Sha256", # accepts Sha256, Sha1 # timeout_seconds: 1, # comment: "Comment", # parameters: { # "ParameterName" => ["ParameterValue"], # }, # output_s3_region: "S3Region", # output_s3_bucket_name: "S3BucketName", # output_s3_key_prefix: "S3KeyPrefix", # max_concurrency: "MaxConcurrency", # max_errors: "MaxErrors", # service_role_arn: "ServiceRole", # notification_config: { # notification_arn: "NotificationArn", # notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed # notification_type: "Command", # accepts Command, Invocation # }, # cloud_watch_output_config: { # cloud_watch_log_group_name: "CloudWatchLogGroupName", # cloud_watch_output_enabled: false, # }, # }) # # @example Response structure # # resp.command.command_id #=> String # resp.command.document_name #=> String # resp.command.document_version #=> String # resp.command.comment #=> String # resp.command.expires_after #=> Time # resp.command.parameters #=> Hash # resp.command.parameters["ParameterName"] #=> Array # resp.command.parameters["ParameterName"][0] #=> String # resp.command.instance_ids #=> Array # resp.command.instance_ids[0] #=> String # resp.command.targets #=> Array # resp.command.targets[0].key #=> String # resp.command.targets[0].values #=> Array # resp.command.targets[0].values[0] #=> String # resp.command.requested_date_time #=> Time # resp.command.status #=> String, one of "Pending", "InProgress", "Success", "Cancelled", "Failed", "TimedOut", "Cancelling" # resp.command.status_details #=> String # resp.command.output_s3_region #=> String # resp.command.output_s3_bucket_name #=> String # resp.command.output_s3_key_prefix #=> String # resp.command.max_concurrency #=> String # resp.command.max_errors #=> String # resp.command.target_count #=> Integer # resp.command.completed_count #=> Integer # resp.command.error_count #=> Integer # resp.command.delivery_timed_out_count #=> Integer # resp.command.service_role #=> String # resp.command.notification_config.notification_arn #=> String # resp.command.notification_config.notification_events #=> Array # resp.command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed" # resp.command.notification_config.notification_type #=> String, one of "Command", "Invocation" # resp.command.cloud_watch_output_config.cloud_watch_log_group_name #=> String # resp.command.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/SendCommand AWS API Documentation # # @overload send_command(params = {}) # @param [Hash] params ({}) def send_command(params = {}, options = {}) req = build_request(:send_command, params) req.send_request(options) end # Use this API action to run an association immediately and only one # time. This action can be helpful when troubleshooting associations. # # @option params [required, Array] :association_ids # The association IDs that you want to run immediately and only one # time. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.start_associations_once({ # association_ids: ["AssociationId"], # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAssociationsOnce AWS API Documentation # # @overload start_associations_once(params = {}) # @param [Hash] params ({}) def start_associations_once(params = {}, options = {}) req = build_request(:start_associations_once, params) req.send_request(options) end # Initiates execution of an Automation document. # # @option params [required, String] :document_name # The name of the Automation document to use for this execution. # # @option params [String] :document_version # The version of the Automation document to use for this execution. # # @option params [Hash] :parameters # A key-value map of execution parameters, which match the declared # parameters in the Automation document. # # @option params [String] :client_token # User-provided idempotency token. The token must be unique, is case # insensitive, enforces the UUID format, and can't be reused. # # @option params [String] :mode # The execution mode of the automation. Valid modes include the # following: Auto and Interactive. The default mode is Auto. # # @option params [String] :target_parameter_name # The name of the parameter used as the target resource for the # rate-controlled execution. Required if you specify targets. # # @option params [Array] :targets # A key-value mapping to target resources. Required if you specify # TargetParameterName. # # @option params [Array] :target_maps # A key-value mapping of document parameters to target resources. Both # Targets and TargetMaps cannot be specified together. # # @option params [String] :max_concurrency # The maximum number of targets allowed to run this task in parallel. # You can specify a number, such as 10, or a percentage, such as 10%. # The default value is 10. # # @option params [String] :max_errors # The number of errors that are allowed before the system stops running # the automation on additional targets. You can specify either an # absolute number of errors, for example 10, or a percentage of the # target set, for example 10%. If you specify 3, for example, the system # stops running the automation when the fourth error is received. If you # specify 0, then the system stops running the automation on additional # targets after the first error result is returned. If you run an # automation on 50 resources and set max-errors to 10%, then the system # stops running the automation on additional targets when the sixth # error is received. # # Executions that are already running an automation when max-errors is # reached are allowed to complete, but some of these executions may fail # as well. If you need to ensure that there won't be more than # max-errors failed executions, set max-concurrency to 1 so the # executions proceed one at a time. # # @option params [Array] :target_locations # A location is a combination of AWS Regions and/or AWS accounts where # you want to run the Automation. Use this action to start an Automation # in multiple Regions and multiple accounts. For more information, see # [Executing Automations in Multiple AWS Regions and Accounts][1] in the # *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html # # @return [Types::StartAutomationExecutionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::StartAutomationExecutionResult#automation_execution_id #automation_execution_id} => String # # @example Request syntax with placeholder values # # resp = client.start_automation_execution({ # document_name: "DocumentARN", # required # document_version: "DocumentVersion", # parameters: { # "AutomationParameterKey" => ["AutomationParameterValue"], # }, # client_token: "IdempotencyToken", # mode: "Auto", # accepts Auto, Interactive # target_parameter_name: "AutomationParameterKey", # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # target_maps: [ # { # "TargetMapKey" => ["TargetMapValue"], # }, # ], # max_concurrency: "MaxConcurrency", # max_errors: "MaxErrors", # target_locations: [ # { # accounts: ["Account"], # regions: ["Region"], # target_location_max_concurrency: "MaxConcurrency", # target_location_max_errors: "MaxErrors", # execution_role_name: "ExecutionRoleName", # }, # ], # }) # # @example Response structure # # resp.automation_execution_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartAutomationExecution AWS API Documentation # # @overload start_automation_execution(params = {}) # @param [Hash] params ({}) def start_automation_execution(params = {}, options = {}) req = build_request(:start_automation_execution, params) req.send_request(options) end # Initiates a connection to a target (for example, an instance) for a # Session Manager session. Returns a URL and token that can be used to # open a WebSocket connection for sending input and receiving outputs. # # AWS CLI usage: `start-session` is an interactive command that requires # the Session Manager plugin to be installed on the client machine # making the call. For information, see [ Install the Session Manager # Plugin for the AWS CLI][1] in the *AWS Systems Manager User Guide*. # # AWS Tools for PowerShell usage: Start-SSMSession is not currently # supported by AWS Tools for PowerShell on Windows local machines. # # # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html # # @option params [required, String] :target # The instance to connect to for the session. # # @option params [String] :document_name # The name of the SSM document to define the parameters and plugin # settings for the session. For example, `SSM-SessionManagerRunShell`. # If no document name is provided, a shell to the instance is launched # by default. # # @option params [Hash] :parameters # Reserved for future use. # # @return [Types::StartSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::StartSessionResponse#session_id #session_id} => String # * {Types::StartSessionResponse#token_value #token_value} => String # * {Types::StartSessionResponse#stream_url #stream_url} => String # # @example Request syntax with placeholder values # # resp = client.start_session({ # target: "SessionTarget", # required # document_name: "DocumentARN", # parameters: { # "SessionManagerParameterName" => ["SessionManagerParameterValue"], # }, # }) # # @example Response structure # # resp.session_id #=> String # resp.token_value #=> String # resp.stream_url #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StartSession AWS API Documentation # # @overload start_session(params = {}) # @param [Hash] params ({}) def start_session(params = {}, options = {}) req = build_request(:start_session, params) req.send_request(options) end # Stop an Automation that is currently running. # # @option params [required, String] :automation_execution_id # The execution ID of the Automation to stop. # # @option params [String] :type # The stop request type. Valid types include the following: Cancel and # Complete. The default type is Cancel. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.stop_automation_execution({ # automation_execution_id: "AutomationExecutionId", # required # type: "Complete", # accepts Complete, Cancel # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/StopAutomationExecution AWS API Documentation # # @overload stop_automation_execution(params = {}) # @param [Hash] params ({}) def stop_automation_execution(params = {}, options = {}) req = build_request(:stop_automation_execution, params) req.send_request(options) end # Permanently ends a session and closes the data connection between the # Session Manager client and SSM Agent on the instance. A terminated # session cannot be resumed. # # @option params [required, String] :session_id # The ID of the session to terminate. # # @return [Types::TerminateSessionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::TerminateSessionResponse#session_id #session_id} => String # # @example Request syntax with placeholder values # # resp = client.terminate_session({ # session_id: "SessionId", # required # }) # # @example Response structure # # resp.session_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/TerminateSession AWS API Documentation # # @overload terminate_session(params = {}) # @param [Hash] params ({}) def terminate_session(params = {}, options = {}) req = build_request(:terminate_session, params) req.send_request(options) end # Updates an association. You can update the association name and # version, the document version, schedule, parameters, and Amazon S3 # output. # # In order to call this API action, your IAM user account, group, or # role must be configured with permission to call the # DescribeAssociation API action. If you don't have permission to call # DescribeAssociation, then you receive the following error: `An error # occurred (AccessDeniedException) when calling the UpdateAssociation # operation: User: is not authorized to perform: # ssm:DescribeAssociation on resource: ` # # When you update an association, the association immediately runs # against the specified targets. # # @option params [required, String] :association_id # The ID of the association you want to update. # # @option params [Hash] :parameters # The parameters you want to update for the association. If you create a # parameter using Parameter Store, you can reference the parameter using # \\\{\\\{ssm:parameter-name\\}\\} # # @option params [String] :document_version # The document version you want update for the association. # # @option params [String] :schedule_expression # The cron expression used to schedule the association that you want to # update. # # @option params [Types::InstanceAssociationOutputLocation] :output_location # An Amazon S3 bucket where you want to store the results of this # request. # # @option params [String] :name # The name of the SSM document that contains the configuration # information for the instance. You can specify Command or Automation # documents. # # You can specify AWS-predefined documents, documents you created, or a # document that is shared with you from another account. # # For SSM documents that are shared with you from other AWS accounts, # you must specify the complete SSM document ARN, in the following # format: # # `arn:aws:ssm:region:account-id:document/document-name ` # # For example: # # `arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document` # # For AWS-predefined documents and SSM documents you created in your # account, you only need to specify the document name. For example, # `AWS-ApplyPatchBaseline` or `My-Document`. # # @option params [Array] :targets # The targets of the association. # # @option params [String] :association_name # The name of the association that you want to update. # # @option params [String] :association_version # This parameter is provided for concurrency control purposes. You must # specify the latest association version in the service. If you want to # ensure that this request succeeds, either specify `$LATEST`, or omit # this parameter. # # @option params [String] :automation_target_parameter_name # Specify the target for the association. This target is required for # associations that use an Automation document and target resources by # using rate controls. # # @option params [String] :max_errors # The number of errors that are allowed before the system stops sending # requests to run the association on additional targets. You can specify # either an absolute number of errors, for example 10, or a percentage # of the target set, for example 10%. If you specify 3, for example, the # system stops sending requests when the fourth error is received. If # you specify 0, then the system stops sending requests after the first # error is returned. If you run an association on 50 instances and set # MaxError to 10%, then the system stops sending the request when the # sixth error is received. # # Executions that are already running an association when MaxErrors is # reached are allowed to complete, but some of these executions may fail # as well. If you need to ensure that there won't be more than # max-errors failed executions, set MaxConcurrency to 1 so that # executions proceed one at a time. # # @option params [String] :max_concurrency # The maximum number of targets allowed to run the association at the # same time. You can specify a number, for example 10, or a percentage # of the target set, for example 10%. The default value is 100%, which # means all targets run the association at the same time. # # If a new instance starts and attempts to run an association while # Systems Manager is running MaxConcurrency associations, the # association is allowed to run. During the next association interval, # the new instance will process its association within the limit # specified for MaxConcurrency. # # @option params [String] :compliance_severity # The severity level to assign to the association. # # @return [Types::UpdateAssociationResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateAssociationResult#association_description #association_description} => Types::AssociationDescription # # @example Request syntax with placeholder values # # resp = client.update_association({ # association_id: "AssociationId", # required # parameters: { # "ParameterName" => ["ParameterValue"], # }, # document_version: "DocumentVersion", # schedule_expression: "ScheduleExpression", # output_location: { # s3_location: { # output_s3_region: "S3Region", # output_s3_bucket_name: "S3BucketName", # output_s3_key_prefix: "S3KeyPrefix", # }, # }, # name: "DocumentARN", # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # association_name: "AssociationName", # association_version: "AssociationVersion", # automation_target_parameter_name: "AutomationTargetParameterName", # max_errors: "MaxErrors", # max_concurrency: "MaxConcurrency", # compliance_severity: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, UNSPECIFIED # }) # # @example Response structure # # resp.association_description.name #=> String # resp.association_description.instance_id #=> String # resp.association_description.association_version #=> String # resp.association_description.date #=> Time # resp.association_description.last_update_association_date #=> Time # resp.association_description.status.date #=> Time # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed" # resp.association_description.status.message #=> String # resp.association_description.status.additional_info #=> String # resp.association_description.overview.status #=> String # resp.association_description.overview.detailed_status #=> String # resp.association_description.overview.association_status_aggregated_count #=> Hash # resp.association_description.overview.association_status_aggregated_count["StatusName"] #=> Integer # resp.association_description.document_version #=> String # resp.association_description.automation_target_parameter_name #=> String # resp.association_description.parameters #=> Hash # resp.association_description.parameters["ParameterName"] #=> Array # resp.association_description.parameters["ParameterName"][0] #=> String # resp.association_description.association_id #=> String # resp.association_description.targets #=> Array # resp.association_description.targets[0].key #=> String # resp.association_description.targets[0].values #=> Array # resp.association_description.targets[0].values[0] #=> String # resp.association_description.schedule_expression #=> String # resp.association_description.output_location.s3_location.output_s3_region #=> String # resp.association_description.output_location.s3_location.output_s3_bucket_name #=> String # resp.association_description.output_location.s3_location.output_s3_key_prefix #=> String # resp.association_description.last_execution_date #=> Time # resp.association_description.last_successful_execution_date #=> Time # resp.association_description.association_name #=> String # resp.association_description.max_errors #=> String # resp.association_description.max_concurrency #=> String # resp.association_description.compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociation AWS API Documentation # # @overload update_association(params = {}) # @param [Hash] params ({}) def update_association(params = {}, options = {}) req = build_request(:update_association, params) req.send_request(options) end # Updates the status of the Systems Manager document associated with the # specified instance. # # @option params [required, String] :name # The name of the Systems Manager document. # # @option params [required, String] :instance_id # The ID of the instance. # # @option params [required, Types::AssociationStatus] :association_status # The association status. # # @return [Types::UpdateAssociationStatusResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateAssociationStatusResult#association_description #association_description} => Types::AssociationDescription # # @example Request syntax with placeholder values # # resp = client.update_association_status({ # name: "DocumentARN", # required # instance_id: "InstanceId", # required # association_status: { # required # date: Time.now, # required # name: "Pending", # required, accepts Pending, Success, Failed # message: "StatusMessage", # required # additional_info: "StatusAdditionalInfo", # }, # }) # # @example Response structure # # resp.association_description.name #=> String # resp.association_description.instance_id #=> String # resp.association_description.association_version #=> String # resp.association_description.date #=> Time # resp.association_description.last_update_association_date #=> Time # resp.association_description.status.date #=> Time # resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed" # resp.association_description.status.message #=> String # resp.association_description.status.additional_info #=> String # resp.association_description.overview.status #=> String # resp.association_description.overview.detailed_status #=> String # resp.association_description.overview.association_status_aggregated_count #=> Hash # resp.association_description.overview.association_status_aggregated_count["StatusName"] #=> Integer # resp.association_description.document_version #=> String # resp.association_description.automation_target_parameter_name #=> String # resp.association_description.parameters #=> Hash # resp.association_description.parameters["ParameterName"] #=> Array # resp.association_description.parameters["ParameterName"][0] #=> String # resp.association_description.association_id #=> String # resp.association_description.targets #=> Array # resp.association_description.targets[0].key #=> String # resp.association_description.targets[0].values #=> Array # resp.association_description.targets[0].values[0] #=> String # resp.association_description.schedule_expression #=> String # resp.association_description.output_location.s3_location.output_s3_region #=> String # resp.association_description.output_location.s3_location.output_s3_bucket_name #=> String # resp.association_description.output_location.s3_location.output_s3_key_prefix #=> String # resp.association_description.last_execution_date #=> Time # resp.association_description.last_successful_execution_date #=> Time # resp.association_description.association_name #=> String # resp.association_description.max_errors #=> String # resp.association_description.max_concurrency #=> String # resp.association_description.compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED" # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateAssociationStatus AWS API Documentation # # @overload update_association_status(params = {}) # @param [Hash] params ({}) def update_association_status(params = {}, options = {}) req = build_request(:update_association_status, params) req.send_request(options) end # Updates one or more values for an SSM document. # # @option params [required, String] :content # A valid JSON or YAML string. # # @option params [Array] :attachments # A list of key and value pairs that describe attachments to a version # of a document. # # @option params [required, String] :name # The name of the document that you want to update. # # @option params [String] :version_name # An optional field specifying the version of the artifact you are # updating with the document. For example, "Release 12, Update 6". # This value is unique across all versions of a document, and cannot be # changed. # # @option params [String] :document_version # (Required) The version of the document that you want to update. # # @option params [String] :document_format # Specify the document format for the new document version. Systems # Manager supports JSON and YAML documents. JSON is the default format. # # @option params [String] :target_type # Specify a new target type for the document. # # @return [Types::UpdateDocumentResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateDocumentResult#document_description #document_description} => Types::DocumentDescription # # @example Request syntax with placeholder values # # resp = client.update_document({ # content: "DocumentContent", # required # attachments: [ # { # key: "SourceUrl", # accepts SourceUrl, S3FileUrl # values: ["AttachmentsSourceValue"], # name: "AttachmentIdentifier", # }, # ], # name: "DocumentName", # required # version_name: "DocumentVersionName", # document_version: "DocumentVersion", # document_format: "YAML", # accepts YAML, JSON, TEXT # target_type: "TargetType", # }) # # @example Response structure # # resp.document_description.sha_1 #=> String # resp.document_description.hash #=> String # resp.document_description.hash_type #=> String, one of "Sha256", "Sha1" # resp.document_description.name #=> String # resp.document_description.version_name #=> String # resp.document_description.owner #=> String # resp.document_description.created_date #=> Time # resp.document_description.status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed" # resp.document_description.status_information #=> String # resp.document_description.document_version #=> String # resp.document_description.description #=> String # resp.document_description.parameters #=> Array # resp.document_description.parameters[0].name #=> String # resp.document_description.parameters[0].type #=> String, one of "String", "StringList" # resp.document_description.parameters[0].description #=> String # resp.document_description.parameters[0].default_value #=> String # resp.document_description.platform_types #=> Array # resp.document_description.platform_types[0] #=> String, one of "Windows", "Linux" # resp.document_description.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar" # resp.document_description.schema_version #=> String # resp.document_description.latest_version #=> String # resp.document_description.default_version #=> String # resp.document_description.document_format #=> String, one of "YAML", "JSON", "TEXT" # resp.document_description.target_type #=> String # resp.document_description.tags #=> Array # resp.document_description.tags[0].key #=> String # resp.document_description.tags[0].value #=> String # resp.document_description.attachments_information #=> Array # resp.document_description.attachments_information[0].name #=> String # resp.document_description.requires #=> Array # resp.document_description.requires[0].name #=> String # resp.document_description.requires[0].version #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocument AWS API Documentation # # @overload update_document(params = {}) # @param [Hash] params ({}) def update_document(params = {}, options = {}) req = build_request(:update_document, params) req.send_request(options) end # Set the default version of a document. # # @option params [required, String] :name # The name of a custom document that you want to set as the default # version. # # @option params [required, String] :document_version # The version of a custom document that you want to set as the default # version. # # @return [Types::UpdateDocumentDefaultVersionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateDocumentDefaultVersionResult#description #description} => Types::DocumentDefaultVersionDescription # # @example Request syntax with placeholder values # # resp = client.update_document_default_version({ # name: "DocumentName", # required # document_version: "DocumentVersionNumber", # required # }) # # @example Response structure # # resp.description.name #=> String # resp.description.default_version #=> String # resp.description.default_version_name #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateDocumentDefaultVersion AWS API Documentation # # @overload update_document_default_version(params = {}) # @param [Hash] params ({}) def update_document_default_version(params = {}, options = {}) req = build_request(:update_document_default_version, params) req.send_request(options) end # Updates an existing maintenance window. Only specified parameters are # modified. # # The value you specify for `Duration` determines the specific end time # for the maintenance window based on the time it begins. No maintenance # window tasks are permitted to start after the resulting endtime minus # the number of hours you specify for `Cutoff`. For example, if the # maintenance window starts at 3 PM, the duration is three hours, and # the value you specify for `Cutoff` is one hour, no maintenance window # tasks can start after 5 PM. # # # # @option params [required, String] :window_id # The ID of the maintenance window to update. # # @option params [String] :name # The name of the maintenance window. # # @option params [String] :description # An optional description for the update request. # # @option params [String] :start_date # The time zone that the scheduled maintenance window executions are # based on, in Internet Assigned Numbers Authority (IANA) format. For # example: "America/Los\_Angeles", "etc/UTC", or "Asia/Seoul". For # more information, see the [Time Zone Database][1] on the IANA website. # # # # [1]: https://www.iana.org/time-zones # # @option params [String] :end_date # The date and time, in ISO-8601 Extended format, for when you want the # maintenance window to become inactive. EndDate allows you to set a # date and time in the future when the maintenance window will no longer # run. # # @option params [String] :schedule # The schedule of the maintenance window in the form of a cron or rate # expression. # # @option params [String] :schedule_timezone # The time zone that the scheduled maintenance window executions are # based on, in Internet Assigned Numbers Authority (IANA) format. For # example: "America/Los\_Angeles", "etc/UTC", or "Asia/Seoul". For # more information, see the [Time Zone Database][1] on the IANA website. # # # # [1]: https://www.iana.org/time-zones # # @option params [Integer] :duration # The duration of the maintenance window in hours. # # @option params [Integer] :cutoff # The number of hours before the end of the maintenance window that # Systems Manager stops scheduling new tasks for execution. # # @option params [Boolean] :allow_unassociated_targets # Whether targets must be registered with the maintenance window before # tasks can be defined for those targets. # # @option params [Boolean] :enabled # Whether the maintenance window is enabled. # # @option params [Boolean] :replace # If True, then all fields that are required by the # CreateMaintenanceWindow action are also required for this API request. # Optional fields that are not specified are set to null. # # @return [Types::UpdateMaintenanceWindowResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateMaintenanceWindowResult#window_id #window_id} => String # * {Types::UpdateMaintenanceWindowResult#name #name} => String # * {Types::UpdateMaintenanceWindowResult#description #description} => String # * {Types::UpdateMaintenanceWindowResult#start_date #start_date} => String # * {Types::UpdateMaintenanceWindowResult#end_date #end_date} => String # * {Types::UpdateMaintenanceWindowResult#schedule #schedule} => String # * {Types::UpdateMaintenanceWindowResult#schedule_timezone #schedule_timezone} => String # * {Types::UpdateMaintenanceWindowResult#duration #duration} => Integer # * {Types::UpdateMaintenanceWindowResult#cutoff #cutoff} => Integer # * {Types::UpdateMaintenanceWindowResult#allow_unassociated_targets #allow_unassociated_targets} => Boolean # * {Types::UpdateMaintenanceWindowResult#enabled #enabled} => Boolean # # @example Request syntax with placeholder values # # resp = client.update_maintenance_window({ # window_id: "MaintenanceWindowId", # required # name: "MaintenanceWindowName", # description: "MaintenanceWindowDescription", # start_date: "MaintenanceWindowStringDateTime", # end_date: "MaintenanceWindowStringDateTime", # schedule: "MaintenanceWindowSchedule", # schedule_timezone: "MaintenanceWindowTimezone", # duration: 1, # cutoff: 1, # allow_unassociated_targets: false, # enabled: false, # replace: false, # }) # # @example Response structure # # resp.window_id #=> String # resp.name #=> String # resp.description #=> String # resp.start_date #=> String # resp.end_date #=> String # resp.schedule #=> String # resp.schedule_timezone #=> String # resp.duration #=> Integer # resp.cutoff #=> Integer # resp.allow_unassociated_targets #=> Boolean # resp.enabled #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindow AWS API Documentation # # @overload update_maintenance_window(params = {}) # @param [Hash] params ({}) def update_maintenance_window(params = {}, options = {}) req = build_request(:update_maintenance_window, params) req.send_request(options) end # Modifies the target of an existing maintenance window. You can change # the following: # # * Name # # * Description # # * Owner # # * IDs for an ID target # # * Tags for a Tag target # # * From any supported tag type to another. The three supported tag # types are ID target, Tag target, and resource group. For more # information, see Target. # # If a parameter is null, then the corresponding field is not modified. # # # # @option params [required, String] :window_id # The maintenance window ID with which to modify the target. # # @option params [required, String] :window_target_id # The target ID to modify. # # @option params [Array] :targets # The targets to add or replace. # # @option params [String] :owner_information # User-provided value that will be included in any CloudWatch events # raised while running tasks for these targets in this maintenance # window. # # @option params [String] :name # A name for the update. # # @option params [String] :description # An optional description for the update. # # @option params [Boolean] :replace # If True, then all fields that are required by the # RegisterTargetWithMaintenanceWindow action are also required for this # API request. Optional fields that are not specified are set to null. # # @return [Types::UpdateMaintenanceWindowTargetResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateMaintenanceWindowTargetResult#window_id #window_id} => String # * {Types::UpdateMaintenanceWindowTargetResult#window_target_id #window_target_id} => String # * {Types::UpdateMaintenanceWindowTargetResult#targets #targets} => Array<Types::Target> # * {Types::UpdateMaintenanceWindowTargetResult#owner_information #owner_information} => String # * {Types::UpdateMaintenanceWindowTargetResult#name #name} => String # * {Types::UpdateMaintenanceWindowTargetResult#description #description} => String # # @example Request syntax with placeholder values # # resp = client.update_maintenance_window_target({ # window_id: "MaintenanceWindowId", # required # window_target_id: "MaintenanceWindowTargetId", # required # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # owner_information: "OwnerInformation", # name: "MaintenanceWindowName", # description: "MaintenanceWindowDescription", # replace: false, # }) # # @example Response structure # # resp.window_id #=> String # resp.window_target_id #=> String # resp.targets #=> Array # resp.targets[0].key #=> String # resp.targets[0].values #=> Array # resp.targets[0].values[0] #=> String # resp.owner_information #=> String # resp.name #=> String # resp.description #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTarget AWS API Documentation # # @overload update_maintenance_window_target(params = {}) # @param [Hash] params ({}) def update_maintenance_window_target(params = {}, options = {}) req = build_request(:update_maintenance_window_target, params) req.send_request(options) end # Modifies a task assigned to a maintenance window. You can't change # the task type, but you can change the following values: # # * TaskARN. For example, you can change a RUN\_COMMAND task from # AWS-RunPowerShellScript to AWS-RunShellScript. # # * ServiceRoleArn # # * TaskInvocationParameters # # * Priority # # * MaxConcurrency # # * MaxErrors # # If a parameter is null, then the corresponding field is not modified. # Also, if you set Replace to true, then all fields required by the # RegisterTaskWithMaintenanceWindow action are required for this # request. Optional fields that aren't specified are set to null. # # @option params [required, String] :window_id # The maintenance window ID that contains the task to modify. # # @option params [required, String] :window_task_id # The task ID to modify. # # @option params [Array] :targets # The targets (either instances or tags) to modify. Instances are # specified using Key=instanceids,Values=instanceID\_1,instanceID\_2. # Tags are specified using Key=tag\_name,Values=tag\_value. # # @option params [String] :task_arn # The task ARN to modify. # # @option params [String] :service_role_arn # The ARN of the IAM service role for Systems Manager to assume when # running a maintenance window task. If you do not specify a service # role ARN, Systems Manager uses your account's service-linked role. If # no service-linked role for Systems Manager exists in your account, it # is created when you run `RegisterTaskWithMaintenanceWindow`. # # For more information, see the following topics in the in the *AWS # Systems Manager User Guide*\: # # * [Service-Linked Role Permissions for Systems Manager][1] # # * [Should I Use a Service-Linked Role or a Custom Service Role to Run # Maintenance Window Tasks? ][2] # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role # # @option params [Hash] :task_parameters # The parameters to modify. # # `TaskParameters` has been deprecated. To specify parameters to pass to # a task when it runs, instead use the `Parameters` option in the # `TaskInvocationParameters` structure. For information about how # Systems Manager handles these options for the supported maintenance # window task types, see MaintenanceWindowTaskInvocationParameters. # # # # The map has the following format: # # Key: string, between 1 and 255 characters # # Value: an array of strings, each string is between 1 and 255 # characters # # @option params [Types::MaintenanceWindowTaskInvocationParameters] :task_invocation_parameters # The parameters that the task should use during execution. Populate # only the fields that match the task type. All other fields should be # empty. # # @option params [Integer] :priority # The new task priority to specify. The lower the number, the higher the # priority. Tasks that have the same priority are scheduled in parallel. # # @option params [String] :max_concurrency # The new `MaxConcurrency` value you want to specify. `MaxConcurrency` # is the number of targets that are allowed to run this task in # parallel. # # @option params [String] :max_errors # The new `MaxErrors` value to specify. `MaxErrors` is the maximum # number of errors that are allowed before the task stops being # scheduled. # # @option params [Types::LoggingInfo] :logging_info # The new logging location in Amazon S3 to specify. # # `LoggingInfo` has been deprecated. To specify an S3 bucket to contain # logs, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` # options in the `TaskInvocationParameters` structure. For information # about how Systems Manager handles these options for the supported # maintenance window task types, see # MaintenanceWindowTaskInvocationParameters. # # # # @option params [String] :name # The new task name to specify. # # @option params [String] :description # The new task description to specify. # # @option params [Boolean] :replace # If True, then all fields that are required by the # RegisterTaskWithMaintenanceWndow action are also required for this API # request. Optional fields that are not specified are set to null. # # @return [Types::UpdateMaintenanceWindowTaskResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateMaintenanceWindowTaskResult#window_id #window_id} => String # * {Types::UpdateMaintenanceWindowTaskResult#window_task_id #window_task_id} => String # * {Types::UpdateMaintenanceWindowTaskResult#targets #targets} => Array<Types::Target> # * {Types::UpdateMaintenanceWindowTaskResult#task_arn #task_arn} => String # * {Types::UpdateMaintenanceWindowTaskResult#service_role_arn #service_role_arn} => String # * {Types::UpdateMaintenanceWindowTaskResult#task_parameters #task_parameters} => Hash<String,Types::MaintenanceWindowTaskParameterValueExpression> # * {Types::UpdateMaintenanceWindowTaskResult#task_invocation_parameters #task_invocation_parameters} => Types::MaintenanceWindowTaskInvocationParameters # * {Types::UpdateMaintenanceWindowTaskResult#priority #priority} => Integer # * {Types::UpdateMaintenanceWindowTaskResult#max_concurrency #max_concurrency} => String # * {Types::UpdateMaintenanceWindowTaskResult#max_errors #max_errors} => String # * {Types::UpdateMaintenanceWindowTaskResult#logging_info #logging_info} => Types::LoggingInfo # * {Types::UpdateMaintenanceWindowTaskResult#name #name} => String # * {Types::UpdateMaintenanceWindowTaskResult#description #description} => String # # @example Request syntax with placeholder values # # resp = client.update_maintenance_window_task({ # window_id: "MaintenanceWindowId", # required # window_task_id: "MaintenanceWindowTaskId", # required # targets: [ # { # key: "TargetKey", # values: ["TargetValue"], # }, # ], # task_arn: "MaintenanceWindowTaskArn", # service_role_arn: "ServiceRole", # task_parameters: { # "MaintenanceWindowTaskParameterName" => { # values: ["MaintenanceWindowTaskParameterValue"], # }, # }, # task_invocation_parameters: { # run_command: { # comment: "Comment", # cloud_watch_output_config: { # cloud_watch_log_group_name: "CloudWatchLogGroupName", # cloud_watch_output_enabled: false, # }, # document_hash: "DocumentHash", # document_hash_type: "Sha256", # accepts Sha256, Sha1 # document_version: "DocumentVersion", # notification_config: { # notification_arn: "NotificationArn", # notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed # notification_type: "Command", # accepts Command, Invocation # }, # output_s3_bucket_name: "S3BucketName", # output_s3_key_prefix: "S3KeyPrefix", # parameters: { # "ParameterName" => ["ParameterValue"], # }, # service_role_arn: "ServiceRole", # timeout_seconds: 1, # }, # automation: { # document_version: "DocumentVersion", # parameters: { # "AutomationParameterKey" => ["AutomationParameterValue"], # }, # }, # step_functions: { # input: "MaintenanceWindowStepFunctionsInput", # name: "MaintenanceWindowStepFunctionsName", # }, # lambda: { # client_context: "MaintenanceWindowLambdaClientContext", # qualifier: "MaintenanceWindowLambdaQualifier", # payload: "data", # }, # }, # priority: 1, # max_concurrency: "MaxConcurrency", # max_errors: "MaxErrors", # logging_info: { # s3_bucket_name: "S3BucketName", # required # s3_key_prefix: "S3KeyPrefix", # s3_region: "S3Region", # required # }, # name: "MaintenanceWindowName", # description: "MaintenanceWindowDescription", # replace: false, # }) # # @example Response structure # # resp.window_id #=> String # resp.window_task_id #=> String # resp.targets #=> Array # resp.targets[0].key #=> String # resp.targets[0].values #=> Array # resp.targets[0].values[0] #=> String # resp.task_arn #=> String # resp.service_role_arn #=> String # resp.task_parameters #=> Hash # resp.task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array # resp.task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String # resp.task_invocation_parameters.run_command.comment #=> String # resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_log_group_name #=> String # resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean # resp.task_invocation_parameters.run_command.document_hash #=> String # resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1" # resp.task_invocation_parameters.run_command.document_version #=> String # resp.task_invocation_parameters.run_command.notification_config.notification_arn #=> String # resp.task_invocation_parameters.run_command.notification_config.notification_events #=> Array # resp.task_invocation_parameters.run_command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed" # resp.task_invocation_parameters.run_command.notification_config.notification_type #=> String, one of "Command", "Invocation" # resp.task_invocation_parameters.run_command.output_s3_bucket_name #=> String # resp.task_invocation_parameters.run_command.output_s3_key_prefix #=> String # resp.task_invocation_parameters.run_command.parameters #=> Hash # resp.task_invocation_parameters.run_command.parameters["ParameterName"] #=> Array # resp.task_invocation_parameters.run_command.parameters["ParameterName"][0] #=> String # resp.task_invocation_parameters.run_command.service_role_arn #=> String # resp.task_invocation_parameters.run_command.timeout_seconds #=> Integer # resp.task_invocation_parameters.automation.document_version #=> String # resp.task_invocation_parameters.automation.parameters #=> Hash # resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"] #=> Array # resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"][0] #=> String # resp.task_invocation_parameters.step_functions.input #=> String # resp.task_invocation_parameters.step_functions.name #=> String # resp.task_invocation_parameters.lambda.client_context #=> String # resp.task_invocation_parameters.lambda.qualifier #=> String # resp.task_invocation_parameters.lambda.payload #=> String # resp.priority #=> Integer # resp.max_concurrency #=> String # resp.max_errors #=> String # resp.logging_info.s3_bucket_name #=> String # resp.logging_info.s3_key_prefix #=> String # resp.logging_info.s3_region #=> String # resp.name #=> String # resp.description #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateMaintenanceWindowTask AWS API Documentation # # @overload update_maintenance_window_task(params = {}) # @param [Hash] params ({}) def update_maintenance_window_task(params = {}, options = {}) req = build_request(:update_maintenance_window_task, params) req.send_request(options) end # Assigns or changes an Amazon Identity and Access Management (IAM) role # for the managed instance. # # @option params [required, String] :instance_id # The ID of the managed instance where you want to update the role. # # @option params [required, String] :iam_role # The IAM role you want to assign or change. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_managed_instance_role({ # instance_id: "ManagedInstanceId", # required # iam_role: "IamRole", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateManagedInstanceRole AWS API Documentation # # @overload update_managed_instance_role(params = {}) # @param [Hash] params ({}) def update_managed_instance_role(params = {}, options = {}) req = build_request(:update_managed_instance_role, params) req.send_request(options) end # Edit or change an OpsItem. You must have permission in AWS Identity # and Access Management (IAM) to update an OpsItem. For more # information, see [Getting Started with OpsCenter][1] in the *AWS # Systems Manager User Guide*. # # Operations engineers and IT professionals use OpsCenter to view, # investigate, and remediate operational issues impacting the # performance and health of their AWS resources. For more information, # see [AWS Systems Manager OpsCenter][2] in the *AWS Systems Manager # User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html # [2]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html # # @option params [String] :description # Update the information about the OpsItem. Provide enough information # so that users reading this OpsItem for the first time understand the # issue. # # @option params [Hash] :operational_data # Add new keys or edit existing key-value pairs of the OperationalData # map in the OpsItem object. # # Operational data is custom data that provides useful reference details # about the OpsItem. For example, you can specify log files, error # strings, license keys, troubleshooting tips, or other relevant data. # You enter operational data as key-value pairs. The key has a maximum # length of 128 characters. The value has a maximum size of 20 KB. # # Operational data keys *can't* begin with the following: amazon, aws, # amzn, ssm, /amazon, /aws, /amzn, /ssm. # # You can choose to make the data searchable by other users in the # account or you can restrict search access. Searchable data means that # all users with access to the OpsItem Overview page (as provided by the # DescribeOpsItems API action) can view and search on the specified # data. Operational data that is not searchable is only viewable by # users who have access to the OpsItem (as provided by the GetOpsItem # API action). # # Use the `/aws/resources` key in OperationalData to specify a related # resource in the request. Use the `/aws/automations` key in # OperationalData to associate an Automation runbook with the OpsItem. # To view AWS CLI example commands that use these keys, see [Creating # OpsItems Manually][1] in the *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems # # @option params [Array] :operational_data_to_delete # Keys that you want to remove from the OperationalData map. # # @option params [Array] :notifications # The Amazon Resource Name (ARN) of an SNS topic where notifications are # sent when this OpsItem is edited or changed. # # @option params [Integer] :priority # The importance of this OpsItem in relation to other OpsItems in the # system. # # @option params [Array] :related_ops_items # One or more OpsItems that share something in common with the current # OpsItems. For example, related OpsItems can include OpsItems with # similar error messages, impacted resources, or statuses for the # impacted resource. # # @option params [String] :status # The OpsItem status. Status can be `Open`, `In Progress`, or # `Resolved`. For more information, see [Editing OpsItem Details][1] in # the *AWS Systems Manager User Guide*. # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html # # @option params [required, String] :ops_item_id # The ID of the OpsItem. # # @option params [String] :title # A short heading that describes the nature of the OpsItem and the # impacted resource. # # @option params [String] :category # Specify a new category for an OpsItem. # # @option params [String] :severity # Specify a new severity for an OpsItem. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_ops_item({ # description: "OpsItemDescription", # operational_data: { # "OpsItemDataKey" => { # value: "OpsItemDataValueString", # type: "SearchableString", # accepts SearchableString, String # }, # }, # operational_data_to_delete: ["String"], # notifications: [ # { # arn: "String", # }, # ], # priority: 1, # related_ops_items: [ # { # ops_item_id: "String", # required # }, # ], # status: "Open", # accepts Open, InProgress, Resolved # ops_item_id: "OpsItemId", # required # title: "OpsItemTitle", # category: "OpsItemCategory", # severity: "OpsItemSeverity", # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem AWS API Documentation # # @overload update_ops_item(params = {}) # @param [Hash] params ({}) def update_ops_item(params = {}, options = {}) req = build_request(:update_ops_item, params) req.send_request(options) end # Modifies an existing patch baseline. Fields not specified in the # request are left unchanged. # # For information about valid key and value pairs in `PatchFilters` for # each supported operating system type, see [PatchFilter][1]. # # # # # # [1]: http://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html # # @option params [required, String] :baseline_id # The ID of the patch baseline to update. # # @option params [String] :name # The name of the patch baseline. # # @option params [Types::PatchFilterGroup] :global_filters # A set of global filters used to include patches in the baseline. # # @option params [Types::PatchRuleGroup] :approval_rules # A set of rules used to include patches in the baseline. # # @option params [Array] :approved_patches # A list of explicitly approved patches for the baseline. # # For information about accepted formats for lists of approved patches # and rejected patches, see [Package Name Formats for Approved and # Rejected Patch Lists][1] in the *AWS Systems Manager User Guide*. # # # # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html # # @option params [String] :approved_patches_compliance_level # Assigns a new compliance severity level to an existing patch baseline. # # @option params [Boolean] :approved_patches_enable_non_security # Indicates whether the list of approved patches includes non-security # updates that should be applied to the instances. The default value is # 'false'. Applies to Linux instances only. # # @option params [Array] :rejected_patches # A list of explicitly rejected patches for the baseline. # # For information about accepted formats for lists of approved patches # and rejected patches, see [Package Name Formats for Approved and # Rejected Patch Lists][1] in the *AWS Systems Manager User Guide*. # # # # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html # # @option params [String] :rejected_patches_action # The action for Patch Manager to take on patches included in the # RejectedPackages list. # # * **ALLOW\_AS\_DEPENDENCY**\: A package in the Rejected patches list # is installed only if it is a dependency of another package. It is # considered compliant with the patch baseline, and its status is # reported as *InstalledOther*. This is the default action if no # option is specified. # # * **BLOCK**\: Packages in the RejectedPatches list, and packages that # include them as dependencies, are not installed under any # circumstances. If a package was installed before it was added to the # Rejected patches list, it is considered non-compliant with the patch # baseline, and its status is reported as *InstalledRejected*. # # @option params [String] :description # A description of the patch baseline. # # @option params [Array] :sources # Information about the patches to use to update the instances, # including target operating systems and source repositories. Applies to # Linux instances only. # # @option params [Boolean] :replace # If True, then all fields that are required by the CreatePatchBaseline # action are also required for this API request. Optional fields that # are not specified are set to null. # # @return [Types::UpdatePatchBaselineResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdatePatchBaselineResult#baseline_id #baseline_id} => String # * {Types::UpdatePatchBaselineResult#name #name} => String # * {Types::UpdatePatchBaselineResult#operating_system #operating_system} => String # * {Types::UpdatePatchBaselineResult#global_filters #global_filters} => Types::PatchFilterGroup # * {Types::UpdatePatchBaselineResult#approval_rules #approval_rules} => Types::PatchRuleGroup # * {Types::UpdatePatchBaselineResult#approved_patches #approved_patches} => Array<String> # * {Types::UpdatePatchBaselineResult#approved_patches_compliance_level #approved_patches_compliance_level} => String # * {Types::UpdatePatchBaselineResult#approved_patches_enable_non_security #approved_patches_enable_non_security} => Boolean # * {Types::UpdatePatchBaselineResult#rejected_patches #rejected_patches} => Array<String> # * {Types::UpdatePatchBaselineResult#rejected_patches_action #rejected_patches_action} => String # * {Types::UpdatePatchBaselineResult#created_date #created_date} => Time # * {Types::UpdatePatchBaselineResult#modified_date #modified_date} => Time # * {Types::UpdatePatchBaselineResult#description #description} => String # * {Types::UpdatePatchBaselineResult#sources #sources} => Array<Types::PatchSource> # # @example Request syntax with placeholder values # # resp = client.update_patch_baseline({ # baseline_id: "BaselineId", # required # name: "BaselineName", # global_filters: { # patch_filters: [ # required # { # key: "PATCH_SET", # required, accepts PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY # values: ["PatchFilterValue"], # required # }, # ], # }, # approval_rules: { # patch_rules: [ # required # { # patch_filter_group: { # required # patch_filters: [ # required # { # key: "PATCH_SET", # required, accepts PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY # values: ["PatchFilterValue"], # required # }, # ], # }, # compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED # approve_after_days: 1, # required # enable_non_security: false, # }, # ], # }, # approved_patches: ["PatchId"], # approved_patches_compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED # approved_patches_enable_non_security: false, # rejected_patches: ["PatchId"], # rejected_patches_action: "ALLOW_AS_DEPENDENCY", # accepts ALLOW_AS_DEPENDENCY, BLOCK # description: "BaselineDescription", # sources: [ # { # name: "PatchSourceName", # required # products: ["PatchSourceProduct"], # required # configuration: "PatchSourceConfiguration", # required # }, # ], # replace: false, # }) # # @example Response structure # # resp.baseline_id #=> String # resp.name #=> String # resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS" # resp.global_filters.patch_filters #=> Array # resp.global_filters.patch_filters[0].key #=> String, one of "PATCH_SET", "PRODUCT", "PRODUCT_FAMILY", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY" # resp.global_filters.patch_filters[0].values #=> Array # resp.global_filters.patch_filters[0].values[0] #=> String # resp.approval_rules.patch_rules #=> Array # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters #=> Array # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].key #=> String, one of "PATCH_SET", "PRODUCT", "PRODUCT_FAMILY", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY" # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values #=> Array # resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values[0] #=> String # resp.approval_rules.patch_rules[0].compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.approval_rules.patch_rules[0].approve_after_days #=> Integer # resp.approval_rules.patch_rules[0].enable_non_security #=> Boolean # resp.approved_patches #=> Array # resp.approved_patches[0] #=> String # resp.approved_patches_compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED" # resp.approved_patches_enable_non_security #=> Boolean # resp.rejected_patches #=> Array # resp.rejected_patches[0] #=> String # resp.rejected_patches_action #=> String, one of "ALLOW_AS_DEPENDENCY", "BLOCK" # resp.created_date #=> Time # resp.modified_date #=> Time # resp.description #=> String # resp.sources #=> Array # resp.sources[0].name #=> String # resp.sources[0].products #=> Array # resp.sources[0].products[0] #=> String # resp.sources[0].configuration #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdatePatchBaseline AWS API Documentation # # @overload update_patch_baseline(params = {}) # @param [Hash] params ({}) def update_patch_baseline(params = {}, options = {}) req = build_request(:update_patch_baseline, params) req.send_request(options) end # Update a resource data sync. After you create a resource data sync for # a Region, you can't change the account options for that sync. For # example, if you create a sync in the us-east-2 (Ohio) Region and you # choose the Include only the current account option, you can't edit # that sync later and choose the Include all accounts from my AWS # Organizations configuration option. Instead, you must delete the first # resource data sync, and create a new one. # # @option params [required, String] :sync_name # The name of the resource data sync you want to update. # # @option params [required, String] :sync_type # The type of resource data sync. If `SyncType` is `SyncToDestination`, # then the resource data sync synchronizes data to an Amazon S3 bucket. # If the `SyncType` is `SyncFromSource` then the resource data sync # synchronizes data from AWS Organizations or from multiple AWS Regions. # # @option params [required, Types::ResourceDataSyncSource] :sync_source # Specify information about the data sources to synchronize. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_resource_data_sync({ # sync_name: "ResourceDataSyncName", # required # sync_type: "ResourceDataSyncType", # required # sync_source: { # required # source_type: "ResourceDataSyncSourceType", # required # aws_organizations_source: { # organization_source_type: "ResourceDataSyncOrganizationSourceType", # required # organizational_units: [ # { # organizational_unit_id: "ResourceDataSyncOrganizationalUnitId", # }, # ], # }, # source_regions: ["ResourceDataSyncSourceRegion"], # required # include_future_regions: false, # }, # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateResourceDataSync AWS API Documentation # # @overload update_resource_data_sync(params = {}) # @param [Hash] params ({}) def update_resource_data_sync(params = {}, options = {}) req = build_request(:update_resource_data_sync, params) req.send_request(options) end # `ServiceSetting` is an account-level setting for an AWS service. This # setting defines how a user interacts with or uses a service or a # feature of a service. For example, if an AWS service charges money to # the account based on feature or service usage, then the AWS service # team might create a default setting of "false". This means the user # can't use this feature unless they change the setting to "true" and # intentionally opt in for a paid feature. # # Services map a `SettingId` object to a setting value. AWS services # teams define the default value for a `SettingId`. You can't create a # new `SettingId`, but you can overwrite the default value if you have # the `ssm:UpdateServiceSetting` permission for the setting. Use the # GetServiceSetting API action to view the current value. Or, use the # ResetServiceSetting to change the value back to the original value # defined by the AWS service team. # # Update the service setting for the account. # # @option params [required, String] :setting_id # The ID of the service setting to update. # # @option params [required, String] :setting_value # The new value to specify for the service setting. # # @return [Struct] Returns an empty {Seahorse::Client::Response response}. # # @example Request syntax with placeholder values # # resp = client.update_service_setting({ # setting_id: "ServiceSettingId", # required # setting_value: "ServiceSettingValue", # required # }) # # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateServiceSetting AWS API Documentation # # @overload update_service_setting(params = {}) # @param [Hash] params ({}) def update_service_setting(params = {}, options = {}) req = build_request(:update_service_setting, params) req.send_request(options) end # @!endgroup # @param params ({}) # @api private def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-ssm' context[:gem_version] = '1.67.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated def waiter_names [] end class << self # @api private attr_reader :identifier # @api private def errors_module Errors end end end end