Class: Aws::SSM::Client

Inherits:
Seahorse::Client::Base
  • Object
show all
Includes:
ClientStubs
Defined in:
lib/aws-sdk-ssm/client.rb

Class Attribute Summary collapse

API Operations collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    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`

    • The ‘:access_key_id`, `:secret_access_key`, and `:session_token` options.

    • ENV, ENV

    • ‘~/.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.

  • :region (required, String)

    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:

  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to ‘true`, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to `false`.

  • :client_side_monitoring (Boolean) — default: false

    When ‘true`, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "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.

  • :client_side_monitoring_port (Integer) — default: 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.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When ‘true`, an attempt is made to coerce request parameters into the required types.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    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.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 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.

  • :endpoint_discovery (Boolean) — default: false

    When set to ‘true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the ‘:logger` at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, ‘default’ is used.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function.

  • :retry_jitter (Symbol) — default: :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 www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 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.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.

  • :secret_access_key (String)
  • :session_token (String)
  • :simple_json (Boolean) — default: 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.

  • :stub_responses (Boolean) — default: 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.

  • :validate_params (Boolean) — default: true

    When ‘true`, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like ‘proxy.com:123’.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before rasing a ‘Timeout::Error`.

  • :http_read_timeout (Integer) — default: 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.

  • :http_idle_timeout (Float) — default: 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.

  • :http_continue_timeout (Float) — default: 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.

  • :http_wire_trace (Boolean) — default: false

    When ‘true`, HTTP debug output will be sent to the `:logger`.

  • :ssl_verify_peer (Boolean) — default: true

    When ‘true`, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    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.

  • :ssl_ca_directory (String)

    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.



261
262
263
# File 'lib/aws-sdk-ssm/client.rb', line 261

def initialize(*args)
  super
end

Class Attribute Details

.identifierObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



8959
8960
8961
# File 'lib/aws-sdk-ssm/client.rb', line 8959

def identifier
  @identifier
end

Class Method Details

.errors_moduleObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



8962
8963
8964
# File 'lib/aws-sdk-ssm/client.rb', line 8962

def errors_module
  Errors
end

Instance Method Details

#add_tags_to_resource(params = {}) ⇒ Struct

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] in the *Amazon EC2 User Guide*.

[1]: docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html

Examples:

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
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_type (required, String)

    Specifies the type of resource you are tagging.

    <note markdown=“1”> 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.

    </note>
    
  • :resource_id (required, String)

    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.

    <note markdown=“1”> 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.

    </note>
    
  • :tags (required, Array<Types::Tag>)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



348
349
350
351
# File 'lib/aws-sdk-ssm/client.rb', line 348

def add_tags_to_resource(params = {}, options = {})
  req = build_request(:add_tags_to_resource, params)
  req.send_request(options)
end

#build_request(operation_name, params = {}) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Parameters:

  • params ({}) (defaults to: {})


8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
# File 'lib/aws-sdk-ssm/client.rb', line 8937

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.58.0'
  Seahorse::Client::Request.new(handlers, context)
end

#cancel_command(params = {}) ⇒ Struct

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.

Examples:

Request syntax with placeholder values


resp = client.cancel_command({
  command_id: "CommandId", # required
  instance_ids: ["InstanceId"],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :command_id (required, String)

    The ID of the command you want to cancel.

  • :instance_ids (Array<String>) — default: 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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



378
379
380
381
# File 'lib/aws-sdk-ssm/client.rb', line 378

def cancel_command(params = {}, options = {})
  req = build_request(:cancel_command, params)
  req.send_request(options)
end

#cancel_maintenance_window_execution(params = {}) ⇒ Types::CancelMaintenanceWindowExecutionResult

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.)

Examples:

Request syntax with placeholder values


resp = client.cancel_maintenance_window_execution({
  window_execution_id: "MaintenanceWindowExecutionId", # required
})

Response structure


resp.window_execution_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

    The ID of the maintenance window execution to stop.

Returns:

See Also:



408
409
410
411
# File 'lib/aws-sdk-ssm/client.rb', line 408

def cancel_maintenance_window_execution(params = {}, options = {})
  req = build_request(:cancel_maintenance_window_execution, params)
  req.send_request(options)
end

#create_activation(params = {}) ⇒ Types::CreateActivationResult

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]: docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-managedinstances.html

Examples:

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
    },
  ],
})

Response structure


resp.activation_id #=> String
resp.activation_code #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    A user-defined description of the resource that you want to register with Amazon EC2.

    Do not enter personally identifiable information in this field.

  • :default_instance_name (String)

    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.

  • :iam_role (required, String)

    The Amazon Identity and Access Management (IAM) role that you want to assign to the managed instance.

  • :registration_limit (Integer)

    Specify the maximum number of managed instances you want to register. The default value is 1 instance.

  • :expiration_date (Time, DateTime, Date, Integer, String)

    The date by which this activation request should expire. The default value is 24 hours.

  • :tags (Array<Types::Tag>)

    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.

Returns:

See Also:



505
506
507
508
# File 'lib/aws-sdk-ssm/client.rb', line 505

def create_activation(params = {}, options = {})
  req = build_request(:create_activation, params)
  req.send_request(options)
end

#create_association(params = {}) ⇒ Types::CreateAssociationResult

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.

Examples:

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
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    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`.

  • :document_version (String)

    The document version you want to associate with the target(s). Can be a specific version or the default version.

  • :instance_id (String)

    The instance ID.

    <note markdown=“1”> ‘InstanceId` has been deprecated. To specify an instance ID for an association, use the `Targets` parameter. 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.

    </note>
    
  • :parameters (Hash<String,Array>)

    The parameters for the runtime configuration of the document.

  • :targets (Array<Types::Target>)

    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`.

  • :schedule_expression (String)

    A cron expression when the association will be applied to the target(s).

  • :output_location (Types::InstanceAssociationOutputLocation)

    An Amazon S3 bucket where you want to store the output details of the request.

  • :association_name (String)

    Specify a descriptive name for the association.

  • :automation_target_parameter_name (String)

    Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

  • :max_errors (String)

    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.

  • :max_concurrency (String)

    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.

  • :compliance_severity (String)

    The severity level to assign to the association.

Returns:

See Also:



689
690
691
692
# File 'lib/aws-sdk-ssm/client.rb', line 689

def create_association(params = {}, options = {})
  req = build_request(:create_association, params)
  req.send_request(options)
end

#create_association_batch(params = {}) ⇒ Types::CreateAssociationBatchResult

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.

Examples:

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
    },
  ],
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

Returns:

See Also:



810
811
812
813
# File 'lib/aws-sdk-ssm/client.rb', line 810

def create_association_batch(params = {}, options = {})
  req = build_request(:create_association_batch, params)
  req.send_request(options)
end

#create_document(params = {}) ⇒ Types::CreateDocumentResult

Creates a Systems Manager document.

After you create a document, you can use CreateAssociation to associate it with one or more running instances.

Examples:

Request syntax with placeholder values


resp = client.create_document({
  content: "DocumentContent", # required
  attachments: [
    {
      key: "SourceUrl", # accepts SourceUrl
      values: ["AttachmentsSourceValue"],
    },
  ],
  name: "DocumentName", # required
  version_name: "DocumentVersionName",
  document_type: "Command", # accepts Command, Policy, Automation, Session, Package
  document_format: "YAML", # accepts YAML, JSON
  target_type: "TargetType",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

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"
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"
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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :content (required, String)

    A valid JSON or YAML string.

  • :attachments (Array<Types::AttachmentsSource>)

    A list of key and value pairs that describe attachments to a version of a document.

  • :name (required, String)

    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`

  • :version_name (String)

    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.

  • :document_type (String)

    The type of document to create. Valid document types include: ‘Command`, `Policy`, `Automation`, `Session`, and `Package`.

  • :document_format (String)

    Specify the document format for the request. The document format can be either JSON or YAML. JSON is the default format.

  • :target_type (String)

    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] in the *AWS CloudFormation User Guide*.

    [1]: docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

  • :tags (Array<Types::Tag>)

    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`

    <note markdown=“1”> To add tags to an existing SSM document, use the AddTagsToResource action.

    </note>
    

Returns:

See Also:



945
946
947
948
# File 'lib/aws-sdk-ssm/client.rb', line 945

def create_document(params = {}, options = {})
  req = build_request(:create_document, params)
  req.send_request(options)
end

#create_maintenance_window(params = {}) ⇒ Types::CreateMaintenanceWindowResult

Creates a new maintenance window.

<note markdown=“1”> 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.

</note>

Examples:

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
    },
  ],
})

Response structure


resp.window_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the maintenance window.

  • :description (String)

    An optional description for the maintenance window. We recommend specifying a description to help you organize your maintenance windows.

  • :start_date (String)

    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.

  • :end_date (String)

    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.

  • :schedule (required, String)

    The schedule of the maintenance window in the form of a cron or rate expression.

  • :schedule_timezone (String)

    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] on the IANA website.

    [1]: www.iana.org/time-zones

  • :duration (required, Integer)

    The duration of the maintenance window in hours.

  • :cutoff (required, Integer)

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

  • :allow_unassociated_targets (required, Boolean)

    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.

  • :client_token (String)

    User-provided idempotency token.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :tags (Array<Types::Tag>)

    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`

    <note markdown=“1”> To add tags to an existing maintenance window, use the AddTagsToResource action.

    </note>
    

Returns:

See Also:



1070
1071
1072
1073
# File 'lib/aws-sdk-ssm/client.rb', line 1070

def create_maintenance_window(params = {}, options = {})
  req = build_request(:create_maintenance_window, params)
  req.send_request(options)
end

#create_ops_item(params = {}) ⇒ Types::CreateOpsItemResponse

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] 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] in the *AWS Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html

Examples:

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
    },
  ],
})

Response structure


resp.ops_item_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (required, String)

    Information about the OpsItem.

  • :operational_data (Hash<String,Types::OpsItemDataValue>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems

  • :notifications (Array<Types::OpsItemNotification>)

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

  • :priority (Integer)

    The importance of this OpsItem in relation to other OpsItems in the system.

  • :related_ops_items (Array<Types::RelatedOpsItem>)

    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.

  • :source (required, String)

    The origin of the OpsItem, such as Amazon EC2 or AWS Systems Manager.

  • :title (required, String)

    A short heading that describes the nature of the OpsItem and the impacted resource.

  • :tags (Array<Types::Tag>)

    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] in the *AWS Systems Manager User Guide*.

    Tags use a key-value pair. For example:

    ‘Key=Department,Value=Finance`

    <note markdown=“1”> To add tags to an existing OpsItem, use the AddTagsToResource action.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html#OpsCenter-getting-started-user-permissions

Returns:

See Also:



1204
1205
1206
1207
# File 'lib/aws-sdk-ssm/client.rb', line 1204

def create_ops_item(params = {}, options = {})
  req = build_request(:create_ops_item, params)
  req.send_request(options)
end

#create_patch_baseline(params = {}) ⇒ Types::CreatePatchBaselineResult

Creates a patch baseline.

<note markdown=“1”> For information about valid key and value pairs in ‘PatchFilters` for each supported operating system type, see [PatchFilter].

</note>

[1]: docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html

Examples:

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
    },
  ],
})

Response structure


resp.baseline_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :operating_system (String)

    Defines the operating system the patch baseline applies to. The Default value is WINDOWS.

  • :name (required, String)

    The name of the patch baseline.

  • :global_filters (Types::PatchFilterGroup)

    A set of global filters used to include patches in the baseline.

  • :approval_rules (Types::PatchRuleGroup)

    A set of rules used to include patches in the baseline.

  • :approved_patches (Array<String>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html

  • :approved_patches_compliance_level (String)

    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.

  • :approved_patches_enable_non_security (Boolean)

    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.

  • :rejected_patches (Array<String>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html

  • :rejected_patches_action (String)

    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.

  • :description (String)

    A description of the patch baseline.

  • :sources (Array<Types::PatchSource>)

    Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

  • :client_token (String)

    User-provided idempotency token.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

  • :tags (Array<Types::Tag>)

    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`

    <note markdown=“1”> To add tags to an existing patch baseline, use the AddTagsToResource action.

    </note>
    

Returns:

See Also:



1376
1377
1378
1379
# File 'lib/aws-sdk-ssm/client.rb', line 1376

def create_patch_baseline(params = {}, options = {})
  req = build_request(:create_patch_baseline, params)
  req.send_request(options)
end

#create_resource_data_sync(params = {}) ⇒ Struct

Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the Amazon S3 bucket. To check the status of the 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. For more information, see

Configuring Resource Data Sync for Inventory][1

in the *AWS Systems

Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html

Examples:

Request syntax with placeholder values


resp = client.create_resource_data_sync({
  sync_name: "ResourceDataSyncName", # required
  s3_destination: { # required
    bucket_name: "ResourceDataSyncS3BucketName", # required
    prefix: "ResourceDataSyncS3Prefix",
    sync_format: "JsonSerDe", # required, accepts JsonSerDe
    region: "ResourceDataSyncS3Region", # required
    awskms_key_arn: "ResourceDataSyncAWSKMSKeyARN",
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :sync_name (required, String)

    A name for the configuration.

  • :s3_destination (required, Types::ResourceDataSyncS3Destination)

    Amazon S3 configuration details for the sync.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1423
1424
1425
1426
# File 'lib/aws-sdk-ssm/client.rb', line 1423

def create_resource_data_sync(params = {}, options = {})
  req = build_request(:create_resource_data_sync, params)
  req.send_request(options)
end

#delete_activation(params = {}) ⇒ Struct

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.

Examples:

Request syntax with placeholder values


resp = client.delete_activation({
  activation_id: "ActivationId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :activation_id (required, String)

    The ID of the activation that you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1449
1450
1451
1452
# File 'lib/aws-sdk-ssm/client.rb', line 1449

def delete_activation(params = {}, options = {})
  req = build_request(:delete_activation, params)
  req.send_request(options)
end

#delete_association(params = {}) ⇒ Struct

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.

Examples:

Request syntax with placeholder values


resp = client.delete_association({
  name: "DocumentARN",
  instance_id: "InstanceId",
  association_id: "AssociationId",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (String)

    The name of the Systems Manager document.

  • :instance_id (String)

    The ID of the instance.

  • :association_id (String)

    The association ID that you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1486
1487
1488
1489
# File 'lib/aws-sdk-ssm/client.rb', line 1486

def delete_association(params = {}, options = {})
  req = build_request(:delete_association, params)
  req.send_request(options)
end

#delete_document(params = {}) ⇒ Struct

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.

Examples:

Request syntax with placeholder values


resp = client.delete_document({
  name: "DocumentName", # required
  document_version: "DocumentVersion",
  version_name: "DocumentVersionName",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the document.

  • :document_version (String)

    The version of the document that you want to delete. If not provided, all versions of the document are deleted.

  • :version_name (String)

    The version name of the document that you want to delete. If not provided, all versions of the document are deleted.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1523
1524
1525
1526
# File 'lib/aws-sdk-ssm/client.rb', line 1523

def delete_document(params = {}, options = {})
  req = build_request(:delete_document, params)
  req.send_request(options)
end

#delete_inventory(params = {}) ⇒ Types::DeleteInventoryResult

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.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :type_name (required, String)

    The name of the custom inventory type for which you want to delete either all previously collected data, or the inventory type itself.

  • :schema_delete_option (String)

    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.

  • :dry_run (Boolean)

    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.

  • :client_token (String)

    User-provided idempotency token.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

Returns:

See Also:



1593
1594
1595
1596
# File 'lib/aws-sdk-ssm/client.rb', line 1593

def delete_inventory(params = {}, options = {})
  req = build_request(:delete_inventory, params)
  req.send_request(options)
end

#delete_maintenance_window(params = {}) ⇒ Types::DeleteMaintenanceWindowResult

Deletes a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.delete_maintenance_window({
  window_id: "MaintenanceWindowId", # required
})

Response structure


resp.window_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window to delete.

Returns:

See Also:



1621
1622
1623
1624
# File 'lib/aws-sdk-ssm/client.rb', line 1621

def delete_maintenance_window(params = {}, options = {})
  req = build_request(:delete_maintenance_window, params)
  req.send_request(options)
end

#delete_parameter(params = {}) ⇒ Struct

Delete a parameter from the system.

Examples:

Request syntax with placeholder values


resp = client.delete_parameter({
  name: "PSParameterName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the parameter to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1643
1644
1645
1646
# File 'lib/aws-sdk-ssm/client.rb', line 1643

def delete_parameter(params = {}, options = {})
  req = build_request(:delete_parameter, params)
  req.send_request(options)
end

#delete_parameters(params = {}) ⇒ Types::DeleteParametersResult

Delete a list of parameters.

Examples:

Request syntax with placeholder values


resp = client.delete_parameters({
  names: ["PSParameterName"], # required
})

Response structure


resp.deleted_parameters #=> Array
resp.deleted_parameters[0] #=> String
resp.invalid_parameters #=> Array
resp.invalid_parameters[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :names (required, Array<String>)

    The names of the parameters to delete.

Returns:

See Also:



1675
1676
1677
1678
# File 'lib/aws-sdk-ssm/client.rb', line 1675

def delete_parameters(params = {}, options = {})
  req = build_request(:delete_parameters, params)
  req.send_request(options)
end

#delete_patch_baseline(params = {}) ⇒ Types::DeletePatchBaselineResult

Deletes a patch baseline.

Examples:

Request syntax with placeholder values


resp = client.delete_patch_baseline({
  baseline_id: "BaselineId", # required
})

Response structure


resp.baseline_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to delete.

Returns:

See Also:



1703
1704
1705
1706
# File 'lib/aws-sdk-ssm/client.rb', line 1703

def delete_patch_baseline(params = {}, options = {})
  req = build_request(:delete_patch_baseline, params)
  req.send_request(options)
end

#delete_resource_data_sync(params = {}) ⇒ Struct

Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to inventory data on managed instances are no longer synced with the target Amazon S3 bucket. Deleting a sync configuration does not delete data in the target Amazon S3 bucket.

Examples:

Request syntax with placeholder values


resp = client.delete_resource_data_sync({
  sync_name: "ResourceDataSyncName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :sync_name (required, String)

    The name of the configuration to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1728
1729
1730
1731
# File 'lib/aws-sdk-ssm/client.rb', line 1728

def delete_resource_data_sync(params = {}, options = {})
  req = build_request(:delete_resource_data_sync, params)
  req.send_request(options)
end

#deregister_managed_instance(params = {}) ⇒ Struct

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.

Examples:

Request syntax with placeholder values


resp = client.deregister_managed_instance({
  instance_id: "ManagedInstanceId", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID assigned to the managed instance when you registered it using the activation process.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1754
1755
1756
1757
# File 'lib/aws-sdk-ssm/client.rb', line 1754

def deregister_managed_instance(params = {}, options = {})
  req = build_request(:deregister_managed_instance, params)
  req.send_request(options)
end

#deregister_patch_baseline_for_patch_group(params = {}) ⇒ Types::DeregisterPatchBaselineForPatchGroupResult

Removes a patch group from a patch baseline.

Examples:

Request syntax with placeholder values


resp = client.deregister_patch_baseline_for_patch_group({
  baseline_id: "BaselineId", # required
  patch_group: "PatchGroup", # required
})

Response structure


resp.baseline_id #=> String
resp.patch_group #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to deregister the patch group from.

  • :patch_group (required, String)

    The name of the patch group that should be deregistered from the patch baseline.

Returns:

See Also:



1789
1790
1791
1792
# File 'lib/aws-sdk-ssm/client.rb', line 1789

def deregister_patch_baseline_for_patch_group(params = {}, options = {})
  req = build_request(:deregister_patch_baseline_for_patch_group, params)
  req.send_request(options)
end

#deregister_target_from_maintenance_window(params = {}) ⇒ Types::DeregisterTargetFromMaintenanceWindowResult

Removes a target from a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.deregister_target_from_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  window_target_id: "MaintenanceWindowTargetId", # required
  safe: false,
})

Response structure


resp.window_id #=> String
resp.window_target_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window the target should be removed from.

  • :window_target_id (required, String)

    The ID of the target definition to remove.

  • :safe (Boolean)

    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.

Returns:

See Also:



1829
1830
1831
1832
# File 'lib/aws-sdk-ssm/client.rb', line 1829

def deregister_target_from_maintenance_window(params = {}, options = {})
  req = build_request(:deregister_target_from_maintenance_window, params)
  req.send_request(options)
end

#deregister_task_from_maintenance_window(params = {}) ⇒ Types::DeregisterTaskFromMaintenanceWindowResult

Removes a task from a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.deregister_task_from_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  window_task_id: "MaintenanceWindowTaskId", # required
})

Response structure


resp.window_id #=> String
resp.window_task_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window the task should be removed from.

  • :window_task_id (required, String)

    The ID of the task to remove from the maintenance window.

Returns:

See Also:



1863
1864
1865
1866
# File 'lib/aws-sdk-ssm/client.rb', line 1863

def deregister_task_from_maintenance_window(params = {}, options = {})
  req = build_request(:deregister_task_from_maintenance_window, params)
  req.send_request(options)
end

#describe_activations(params = {}) ⇒ Types::DescribeActivationsResult

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.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::DescribeActivationsFilter>)

    A filter to view information about your activations.

  • :max_results (Integer)

    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.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

Returns:

See Also:



1924
1925
1926
1927
# File 'lib/aws-sdk-ssm/client.rb', line 1924

def describe_activations(params = {}, options = {})
  req = build_request(:describe_activations, params)
  req.send_request(options)
end

#describe_association(params = {}) ⇒ Types::DescribeAssociationResult

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.

Examples:

Request syntax with placeholder values


resp = client.describe_association({
  name: "DocumentARN",
  instance_id: "InstanceId",
  association_id: "AssociationId",
  association_version: "AssociationVersion",
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (String)

    The name of the Systems Manager document.

  • :instance_id (String)

    The instance ID.

  • :association_id (String)

    The association ID for which you want information.

  • :association_version (String)

    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.

Returns:

See Also:



2005
2006
2007
2008
# File 'lib/aws-sdk-ssm/client.rb', line 2005

def describe_association(params = {}, options = {})
  req = build_request(:describe_association, params)
  req.send_request(options)
end

#describe_association_execution_targets(params = {}) ⇒ Types::DescribeAssociationExecutionTargetsResult

Use this API action to view information about a specific execution of a specific association.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_id (required, String)

    The association ID that includes the execution for which you want to view details.

  • :execution_id (required, String)

    The execution ID for which you want to view details.

  • :filters (Array<Types::AssociationExecutionTargetsFilter>)

    Filters for the request. You can specify the following filters and values.

    Status (EQUAL)

    ResourceId (EQUAL)

    ResourceType (EQUAL)

  • :max_results (Integer)

    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.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

Returns:

See Also:



2078
2079
2080
2081
# File 'lib/aws-sdk-ssm/client.rb', line 2078

def describe_association_execution_targets(params = {}, options = {})
  req = build_request(:describe_association_execution_targets, params)
  req.send_request(options)
end

#describe_association_executions(params = {}) ⇒ Types::DescribeAssociationExecutionsResult

Use this API action to view all executions for a specific association ID.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_id (required, String)

    The association ID for which you want to view execution history details.

  • :filters (Array<Types::AssociationExecutionFilter>)

    Filters for the request. You can specify the following filters and values.

    ExecutionId (EQUAL)

    Status (EQUAL)

    CreatedTime (EQUAL, GREATER_THAN, LESS_THAN)

  • :max_results (Integer)

    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.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

Returns:

See Also:



2146
2147
2148
2149
# File 'lib/aws-sdk-ssm/client.rb', line 2146

def describe_association_executions(params = {}, options = {})
  req = build_request(:describe_association_executions, params)
  req.send_request(options)
end

#describe_automation_executions(params = {}) ⇒ Types::DescribeAutomationExecutionsResult

Provides details about all active and terminated Automation executions.

Examples:

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",
})

Response structure


resp. #=> Array
resp.[0].automation_execution_id #=> String
resp.[0].document_name #=> String
resp.[0].document_version #=> String
resp.[0].automation_execution_status #=> String, one of "Pending", "InProgress", "Waiting", "Success", "TimedOut", "Cancelling", "Cancelled", "Failed"
resp.[0].execution_start_time #=> Time
resp.[0].execution_end_time #=> Time
resp.[0].executed_by #=> String
resp.[0].log_file #=> String
resp.[0].outputs #=> Hash
resp.[0].outputs["AutomationParameterKey"] #=> Array
resp.[0].outputs["AutomationParameterKey"][0] #=> String
resp.[0].mode #=> String, one of "Auto", "Interactive"
resp.[0].parent_automation_execution_id #=> String
resp.[0].current_step_name #=> String
resp.[0].current_action #=> String
resp.[0].failure_message #=> String
resp.[0].target_parameter_name #=> String
resp.[0].targets #=> Array
resp.[0].targets[0].key #=> String
resp.[0].targets[0].values #=> Array
resp.[0].targets[0].values[0] #=> String
resp.[0].target_maps #=> Array
resp.[0].target_maps[0] #=> Hash
resp.[0].target_maps[0]["TargetMapKey"] #=> Array
resp.[0].target_maps[0]["TargetMapKey"][0] #=> String
resp.[0].resolved_targets.parameter_values #=> Array
resp.[0].resolved_targets.parameter_values[0] #=> String
resp.[0].resolved_targets.truncated #=> Boolean
resp.[0].max_concurrency #=> String
resp.[0].max_errors #=> String
resp.[0].target #=> String
resp.[0].automation_type #=> String, one of "CrossAccount", "Local"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::AutomationExecutionFilter>)

    Filters used to limit the scope of executions that are requested.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



2225
2226
2227
2228
# File 'lib/aws-sdk-ssm/client.rb', line 2225

def describe_automation_executions(params = {}, options = {})
  req = build_request(:describe_automation_executions, params)
  req.send_request(options)
end

#describe_automation_step_executions(params = {}) ⇒ Types::DescribeAutomationStepExecutionsResult

Information about all active and terminated step executions in an Automation workflow.

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :automation_execution_id (required, String)

    The Automation execution ID for which you want step execution descriptions.

  • :filters (Array<Types::StepExecutionFilter>)

    One or more filters to limit the number of step executions returned by the request.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    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.

  • :reverse_order (Boolean)

    A boolean that indicates whether to list step executions in reverse order by start time. The default value is false.

Returns:

See Also:



2324
2325
2326
2327
# File 'lib/aws-sdk-ssm/client.rb', line 2324

def describe_automation_step_executions(params = {}, options = {})
  req = build_request(:describe_automation_step_executions, params)
  req.send_request(options)
end

#describe_available_patches(params = {}) ⇒ Types::DescribeAvailablePatchesResult

Lists all patches eligible to be included in a patch baseline.

Examples:

Request syntax with placeholder values


resp = client.describe_available_patches({
  filters: [
    {
      key: "PatchOrchestratorFilterKey",
      values: ["PatchOrchestratorFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::PatchOrchestratorFilter>)

    Filters used to scope down the returned patches.

  • :max_results (Integer)

    The maximum number of patches to return (per page).

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



2381
2382
2383
2384
# File 'lib/aws-sdk-ssm/client.rb', line 2381

def describe_available_patches(params = {}, options = {})
  req = build_request(:describe_available_patches, params)
  req.send_request(options)
end

#describe_document(params = {}) ⇒ Types::DescribeDocumentResult

Describes the specified Systems Manager document.

Examples:

Request syntax with placeholder values


resp = client.describe_document({
  name: "DocumentARN", # required
  document_version: "DocumentVersion",
  version_name: "DocumentVersionName",
})

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"
resp.document.schema_version #=> String
resp.document.latest_version #=> String
resp.document.default_version #=> String
resp.document.document_format #=> String, one of "YAML", "JSON"
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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the Systems Manager document.

  • :document_version (String)

    The document version for which you want information. Can be a specific version or the default version.

  • :version_name (String)

    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.

Returns:

See Also:



2448
2449
2450
2451
# File 'lib/aws-sdk-ssm/client.rb', line 2448

def describe_document(params = {}, options = {})
  req = build_request(:describe_document, params)
  req.send_request(options)
end

#describe_document_permission(params = {}) ⇒ Types::DescribeDocumentPermissionResponse

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).

Examples:

Request syntax with placeholder values


resp = client.describe_document_permission({
  name: "DocumentName", # required
  permission_type: "Share", # required, accepts Share
})

Response structure


resp. #=> Array
resp.[0] #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the document for which you are the owner.

  • :permission_type (required, String)

    The permission type for the document. The permission type can be Share.

Returns:

See Also:



2485
2486
2487
2488
# File 'lib/aws-sdk-ssm/client.rb', line 2485

def describe_document_permission(params = {}, options = {})
  req = build_request(:describe_document_permission, params)
  req.send_request(options)
end

#describe_effective_instance_associations(params = {}) ⇒ Types::DescribeEffectiveInstanceAssociationsResult

All associations for the instance(s).

Examples:

Request syntax with placeholder values


resp = client.describe_effective_instance_associations({
  instance_id: "InstanceId", # required
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The instance ID for which you want to view all associations.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



2530
2531
2532
2533
# File 'lib/aws-sdk-ssm/client.rb', line 2530

def describe_effective_instance_associations(params = {}, options = {})
  req = build_request(:describe_effective_instance_associations, params)
  req.send_request(options)
end

#describe_effective_patches_for_patch_baseline(params = {}) ⇒ Types::DescribeEffectivePatchesForPatchBaselineResult

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.

Examples:

Request syntax with placeholder values


resp = client.describe_effective_patches_for_patch_baseline({
  baseline_id: "BaselineId", # required
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to retrieve the effective patches for.

  • :max_results (Integer)

    The maximum number of patches to return (per page).

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



2587
2588
2589
2590
# File 'lib/aws-sdk-ssm/client.rb', line 2587

def describe_effective_patches_for_patch_baseline(params = {}, options = {})
  req = build_request(:describe_effective_patches_for_patch_baseline, params)
  req.send_request(options)
end

#describe_instance_associations_status(params = {}) ⇒ Types::DescribeInstanceAssociationsStatusResult

The status of the associations for the instance(s).

Examples:

Request syntax with placeholder values


resp = client.describe_instance_associations_status({
  instance_id: "InstanceId", # required
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The instance IDs for which you want association status information.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



2640
2641
2642
2643
# File 'lib/aws-sdk-ssm/client.rb', line 2640

def describe_instance_associations_status(params = {}, options = {})
  req = build_request(:describe_instance_associations_status, params)
  req.send_request(options)
end

#describe_instance_information(params = {}) ⇒ Types::DescribeInstanceInformationResult

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.

<note markdown=“1”> 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.

</note>

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_information_filter_list (Array<Types::InstanceInformationFilter>)

    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.

  • :filters (Array<Types::InstanceInformationStringFilter>)

    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.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



2737
2738
2739
2740
# File 'lib/aws-sdk-ssm/client.rb', line 2737

def describe_instance_information(params = {}, options = {})
  req = build_request(:describe_instance_information, params)
  req.send_request(options)
end

#describe_instance_patch_states(params = {}) ⇒ Types::DescribeInstancePatchStatesResult

Retrieves the high-level patch state of one or more instances.

Examples:

Request syntax with placeholder values


resp = client.describe_instance_patch_states({
  instance_ids: ["InstanceId"], # required
  next_token: "NextToken",
  max_results: 1,
})

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_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.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_ids (required, Array<String>)

    The ID of the instance whose patch state information should be retrieved.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    The maximum number of instances to return (per page).

Returns:

See Also:



2793
2794
2795
2796
# File 'lib/aws-sdk-ssm/client.rb', line 2793

def describe_instance_patch_states(params = {}, options = {})
  req = build_request(:describe_instance_patch_states, params)
  req.send_request(options)
end

#describe_instance_patch_states_for_patch_group(params = {}) ⇒ Types::DescribeInstancePatchStatesForPatchGroupResult

Retrieves the high-level patch state for the instances in the specified patch group.

Examples:

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,
})

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_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.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :patch_group (required, String)

    The name of the patch group for which the patch state information should be retrieved.

  • :filters (Array<Types::InstancePatchStateFilter>)

    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”)

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    The maximum number of patches to return (per page).

Returns:

See Also:



2866
2867
2868
2869
# File 'lib/aws-sdk-ssm/client.rb', line 2866

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

#describe_instance_patches(params = {}) ⇒ Types::DescribeInstancePatchesResult

Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance.

Examples:

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,
})

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_REJECTED", "MISSING", "NOT_APPLICABLE", "FAILED"
resp.patches[0].installed_time #=> Time
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the instance whose patch state information should be retrieved.

  • :filters (Array<Types::PatchOrchestratorFilter>)

    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`.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    The maximum number of patches to return (per page).

Returns:

See Also:



2925
2926
2927
2928
# File 'lib/aws-sdk-ssm/client.rb', line 2925

def describe_instance_patches(params = {}, options = {})
  req = build_request(:describe_instance_patches, params)
  req.send_request(options)
end

#describe_inventory_deletions(params = {}) ⇒ Types::DescribeInventoryDeletionsResult

Describes a specific delete inventory operation.

Examples:

Request syntax with placeholder values


resp = client.describe_inventory_deletions({
  deletion_id: "InventoryDeletionId",
  next_token: "NextToken",
  max_results: 1,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :deletion_id (String)

    Specify the delete inventory ID for which you want information. This ID was returned by the ‘DeleteInventory` action.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

  • :max_results (Integer)

    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.

Returns:

See Also:



2979
2980
2981
2982
# File 'lib/aws-sdk-ssm/client.rb', line 2979

def describe_inventory_deletions(params = {}, options = {})
  req = build_request(:describe_inventory_deletions, params)
  req.send_request(options)
end

#describe_maintenance_window_execution_task_invocations(params = {}) ⇒ Types::DescribeMaintenanceWindowExecutionTaskInvocationsResult

Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

    The ID of the maintenance window execution the task is part of.

  • :task_id (required, String)

    The ID of the specific task in the maintenance window task that should be retrieved.

  • :filters (Array<Types::MaintenanceWindowFilter>)

    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.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3049
3050
3051
3052
# File 'lib/aws-sdk-ssm/client.rb', line 3049

def describe_maintenance_window_execution_task_invocations(params = {}, options = {})
  req = build_request(:describe_maintenance_window_execution_task_invocations, params)
  req.send_request(options)
end

#describe_maintenance_window_execution_tasks(params = {}) ⇒ Types::DescribeMaintenanceWindowExecutionTasksResult

For a given maintenance window execution, lists the tasks that were run.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

    The ID of the maintenance window execution whose task executions should be retrieved.

  • :filters (Array<Types::MaintenanceWindowFilter>)

    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.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3111
3112
3113
3114
# File 'lib/aws-sdk-ssm/client.rb', line 3111

def describe_maintenance_window_execution_tasks(params = {}, options = {})
  req = build_request(:describe_maintenance_window_execution_tasks, params)
  req.send_request(options)
end

#describe_maintenance_window_executions(params = {}) ⇒ Types::DescribeMaintenanceWindowExecutionsResult

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.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window whose executions should be retrieved.

  • :filters (Array<Types::MaintenanceWindowFilter>)

    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.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3177
3178
3179
3180
# File 'lib/aws-sdk-ssm/client.rb', line 3177

def describe_maintenance_window_executions(params = {}, options = {})
  req = build_request(:describe_maintenance_window_executions, params)
  req.send_request(options)
end

#describe_maintenance_window_schedule(params = {}) ⇒ Types::DescribeMaintenanceWindowScheduleResult

Retrieves information about upcoming executions of a maintenance window.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (String)

    The ID of the maintenance window to retrieve information about.

  • :targets (Array<Types::Target>)

    The instance ID or key/value pair to retrieve information about.

  • :resource_type (String)

    The type of resource you want to retrieve information about. For example, “INSTANCE”.

  • :filters (Array<Types::PatchOrchestratorFilter>)

    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.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3247
3248
3249
3250
# File 'lib/aws-sdk-ssm/client.rb', line 3247

def describe_maintenance_window_schedule(params = {}, options = {})
  req = build_request(:describe_maintenance_window_schedule, params)
  req.send_request(options)
end

#describe_maintenance_window_targets(params = {}) ⇒ Types::DescribeMaintenanceWindowTargetsResult

Lists the targets registered with the maintenance window.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window whose targets should be retrieved.

  • :filters (Array<Types::MaintenanceWindowFilter>)

    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.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3309
3310
3311
3312
# File 'lib/aws-sdk-ssm/client.rb', line 3309

def describe_maintenance_window_targets(params = {}, options = {})
  req = build_request(:describe_maintenance_window_targets, params)
  req.send_request(options)
end

#describe_maintenance_window_tasks(params = {}) ⇒ Types::DescribeMaintenanceWindowTasksResult

Lists the tasks in a maintenance window.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window whose tasks should be retrieved.

  • :filters (Array<Types::MaintenanceWindowFilter>)

    Optional filters used to narrow down the scope of the returned tasks. The supported filter keys are WindowTaskId, TaskArn, Priority, and TaskType.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3381
3382
3383
3384
# File 'lib/aws-sdk-ssm/client.rb', line 3381

def describe_maintenance_window_tasks(params = {}, options = {})
  req = build_request(:describe_maintenance_window_tasks, params)
  req.send_request(options)
end

#describe_maintenance_windows(params = {}) ⇒ Types::DescribeMaintenanceWindowsResult

Retrieves the maintenance windows in an AWS account.

Examples:

Request syntax with placeholder values


resp = client.describe_maintenance_windows({
  filters: [
    {
      key: "MaintenanceWindowFilterKey",
      values: ["MaintenanceWindowFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::MaintenanceWindowFilter>)

    Optional filters used to narrow down the scope of the returned maintenance windows. Supported filter keys are Name and Enabled.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3440
3441
3442
3443
# File 'lib/aws-sdk-ssm/client.rb', line 3440

def describe_maintenance_windows(params = {}, options = {})
  req = build_request(:describe_maintenance_windows, params)
  req.send_request(options)
end

#describe_maintenance_windows_for_target(params = {}) ⇒ Types::DescribeMaintenanceWindowsForTargetResult

Retrieves information about the maintenance window targets or tasks that an instance is associated with.

Examples:

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",
})

Response structure


resp.window_identities #=> Array
resp.window_identities[0].window_id #=> String
resp.window_identities[0].name #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :targets (required, Array<Types::Target>)

    The instance ID or key/value pair to retrieve information about.

  • :resource_type (required, String)

    The type of resource you want to retrieve information about. For example, “INSTANCE”.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3494
3495
3496
3497
# File 'lib/aws-sdk-ssm/client.rb', line 3494

def describe_maintenance_windows_for_target(params = {}, options = {})
  req = build_request(:describe_maintenance_windows_for_target, params)
  req.send_request(options)
end

#describe_ops_items(params = {}) ⇒ Types::DescribeOpsItemsResponse

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] 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] in the *AWS Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html

Examples:

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
      values: ["OpsItemFilterValue"], # required
      operator: "Equal", # required, accepts Equal, Contains, GreaterThan, LessThan
    },
  ],
  max_results: 1,
  next_token: "String",
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :ops_item_filters (Array<Types::OpsItemFilter>)

    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”\}

  • :max_results (Integer)

    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.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

Returns:

See Also:



3623
3624
3625
3626
# File 'lib/aws-sdk-ssm/client.rb', line 3623

def describe_ops_items(params = {}, options = {})
  req = build_request(:describe_ops_items, params)
  req.send_request(options)
end

#describe_parameters(params = {}) ⇒ Types::DescribeParametersResult

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.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::ParametersFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :parameter_filters (Array<Types::ParameterStringFilter>)

    Filters to limit the request results.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3702
3703
3704
3705
# File 'lib/aws-sdk-ssm/client.rb', line 3702

def describe_parameters(params = {}, options = {})
  req = build_request(:describe_parameters, params)
  req.send_request(options)
end

#describe_patch_baselines(params = {}) ⇒ Types::DescribePatchBaselinesResult

Lists the patch baselines in your AWS account.

Examples:

Request syntax with placeholder values


resp = client.describe_patch_baselines({
  filters: [
    {
      key: "PatchOrchestratorFilterKey",
      values: ["PatchOrchestratorFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::PatchOrchestratorFilter>)

    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)

  • :max_results (Integer)

    The maximum number of patch baselines to return (per page).

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3756
3757
3758
3759
# File 'lib/aws-sdk-ssm/client.rb', line 3756

def describe_patch_baselines(params = {}, options = {})
  req = build_request(:describe_patch_baselines, params)
  req.send_request(options)
end

#describe_patch_group_state(params = {}) ⇒ Types::DescribePatchGroupStateResult

Returns high-level aggregated patch compliance state for a patch group.

Examples:

Request syntax with placeholder values


resp = client.describe_patch_group_state({
  patch_group: "PatchGroup", # required
})

Response structure


resp.instances #=> Integer
resp.instances_with_installed_patches #=> Integer
resp.instances_with_installed_other_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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :patch_group (required, String)

    The name of the patch group whose patch snapshot should be retrieved.

Returns:

See Also:



3799
3800
3801
3802
# File 'lib/aws-sdk-ssm/client.rb', line 3799

def describe_patch_group_state(params = {}, options = {})
  req = build_request(:describe_patch_group_state, params)
  req.send_request(options)
end

#describe_patch_groups(params = {}) ⇒ Types::DescribePatchGroupsResult

Lists all patch groups that have been registered with patch baselines.

Examples:

Request syntax with placeholder values


resp = client.describe_patch_groups({
  max_results: 1,
  filters: [
    {
      key: "PatchOrchestratorFilterKey",
      values: ["PatchOrchestratorFilterValue"],
    },
  ],
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of patch groups to return (per page).

  • :filters (Array<Types::PatchOrchestratorFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3850
3851
3852
3853
# File 'lib/aws-sdk-ssm/client.rb', line 3850

def describe_patch_groups(params = {}, options = {})
  req = build_request(:describe_patch_groups, params)
  req.send_request(options)
end

#describe_patch_properties(params = {}) ⇒ Types::DescribePatchPropertiesResult

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

Examples:

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",
})

Response structure


resp.properties #=> Array
resp.properties[0] #=> Hash
resp.properties[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :operating_system (required, String)

    The operating system type for which to list patches.

  • :property (required, String)

    The patch property for which you want to view patch details.

  • :patch_set (String)

    Indicates whether to list patches for the Windows operating system or for Microsoft applications. Not applicable for Linux operating systems.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



3940
3941
3942
3943
# File 'lib/aws-sdk-ssm/client.rb', line 3940

def describe_patch_properties(params = {}, options = {})
  req = build_request(:describe_patch_properties, params)
  req.send_request(options)
end

#describe_sessions(params = {}) ⇒ Types::DescribeSessionsResponse

Retrieves a list of all active sessions (both connected and disconnected) or terminated sessions from the past 30 days.

Examples:

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
    },
  ],
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :state (required, String)

    The session status to retrieve a list of sessions for. For example, “Active”.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :filters (Array<Types::SessionFilter>)

    One or more filters to limit the type of sessions returned by the request.

Returns:

See Also:



4003
4004
4005
4006
# File 'lib/aws-sdk-ssm/client.rb', line 4003

def describe_sessions(params = {}, options = {})
  req = build_request(:describe_sessions, params)
  req.send_request(options)
end

#get_automation_execution(params = {}) ⇒ Types::GetAutomationExecutionResult

Get detailed information about a particular Automation execution.

Examples:

Request syntax with placeholder values


resp = client.get_automation_execution({
  automation_execution_id: "AutomationExecutionId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :automation_execution_id (required, String)

    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.

Returns:

See Also:



4121
4122
4123
4124
# File 'lib/aws-sdk-ssm/client.rb', line 4121

def get_automation_execution(params = {}, options = {})
  req = build_request(:get_automation_execution, params)
  req.send_request(options)
end

#get_command_invocation(params = {}) ⇒ Types::GetCommandInvocationResult

Returns detailed information about command execution for an invocation or plugin.

Examples:

Request syntax with placeholder values


resp = client.get_command_invocation({
  command_id: "CommandId", # required
  instance_id: "InstanceId", # required
  plugin_name: "CommandPluginName",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :command_id (required, String) — default: Required

    The parent command ID of the invocation plugin.

  • :instance_id (required, String) — default: 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.

  • :plugin_name (String) — default: 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.

Returns:

See Also:



4195
4196
4197
4198
# File 'lib/aws-sdk-ssm/client.rb', line 4195

def get_command_invocation(params = {}, options = {})
  req = build_request(:get_command_invocation, params)
  req.send_request(options)
end

#get_connection_status(params = {}) ⇒ Types::GetConnectionStatusResponse

Retrieves the Session Manager connection status for an instance to determine whether it is connected and ready to receive Session Manager connections.

Examples:

Request syntax with placeholder values


resp = client.get_connection_status({
  target: "SessionTarget", # required
})

Response structure


resp.target #=> String
resp.status #=> String, one of "Connected", "NotConnected"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :target (required, String)

    The ID of the instance.

Returns:

See Also:



4227
4228
4229
4230
# File 'lib/aws-sdk-ssm/client.rb', line 4227

def get_connection_status(params = {}, options = {})
  req = build_request(:get_connection_status, params)
  req.send_request(options)
end

#get_default_patch_baseline(params = {}) ⇒ Types::GetDefaultPatchBaselineResult

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.

Examples:

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
})

Response structure


resp.baseline_id #=> String
resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :operating_system (String)

    Returns the default patch baseline for the specified operating system.

Returns:

See Also:



4262
4263
4264
4265
# File 'lib/aws-sdk-ssm/client.rb', line 4262

def get_default_patch_baseline(params = {}, options = {})
  req = build_request(:get_default_patch_baseline, params)
  req.send_request(options)
end

#get_deployable_patch_snapshot_for_instance(params = {}) ⇒ Types::GetDeployablePatchSnapshotForInstanceResult

Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.

Examples:

Request syntax with placeholder values


resp = client.get_deployable_patch_snapshot_for_instance({
  instance_id: "InstanceId", # required
  snapshot_id: "SnapshotId", # required
})

Response structure


resp.instance_id #=> String
resp.snapshot_id #=> String
resp.snapshot_download_url #=> String
resp.product #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the instance for which the appropriate patch snapshot should be retrieved.

  • :snapshot_id (required, String)

    The user-defined snapshot ID.

Returns:

See Also:



4303
4304
4305
4306
# File 'lib/aws-sdk-ssm/client.rb', line 4303

def get_deployable_patch_snapshot_for_instance(params = {}, options = {})
  req = build_request(:get_deployable_patch_snapshot_for_instance, params)
  req.send_request(options)
end

#get_document(params = {}) ⇒ Types::GetDocumentResult

Gets the contents of the specified Systems Manager document.

Examples:

Request syntax with placeholder values


resp = client.get_document({
  name: "DocumentARN", # required
  version_name: "DocumentVersionName",
  document_version: "DocumentVersion",
  document_format: "YAML", # accepts YAML, JSON
})

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"
resp.document_format #=> String, one of "YAML", "JSON"
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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the Systems Manager document.

  • :version_name (String)

    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.

  • :document_version (String)

    The document version for which you want information.

  • :document_format (String)

    Returns the document in the specified format. The document format can be either JSON or YAML. JSON is the default format.

Returns:

See Also:



4367
4368
4369
4370
# File 'lib/aws-sdk-ssm/client.rb', line 4367

def get_document(params = {}, options = {})
  req = build_request(:get_document, params)
  req.send_request(options)
end

#get_inventory(params = {}) ⇒ Types::GetInventoryResult

Query inventory information.

Examples:

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,
})

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"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::InventoryFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :aggregators (Array<Types::InventoryAggregator>)

    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.

  • :result_attributes (Array<Types::ResultAttribute>)

    The list of inventory item types to return.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    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.

Returns:

See Also:



4458
4459
4460
4461
# File 'lib/aws-sdk-ssm/client.rb', line 4458

def get_inventory(params = {}, options = {})
  req = build_request(:get_inventory, params)
  req.send_request(options)
end

#get_inventory_schema(params = {}) ⇒ Types::GetInventorySchemaResult

Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type.

Examples:

Request syntax with placeholder values


resp = client.get_inventory_schema({
  type_name: "InventoryItemTypeNameFilter",
  next_token: "NextToken",
  max_results: 1,
  aggregator: false,
  sub_type: false,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :type_name (String)

    The type of inventory item to return.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    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.

  • :aggregator (Boolean)

    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.

  • :sub_type (Boolean)

    Returns the sub-type schema for a specified inventory type.

Returns:

See Also:



4517
4518
4519
4520
# File 'lib/aws-sdk-ssm/client.rb', line 4517

def get_inventory_schema(params = {}, options = {})
  req = build_request(:get_inventory_schema, params)
  req.send_request(options)
end

#get_maintenance_window(params = {}) ⇒ Types::GetMaintenanceWindowResult

Retrieves a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.get_maintenance_window({
  window_id: "MaintenanceWindowId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window for which you want to retrieve information.

Returns:

See Also:



4572
4573
4574
4575
# File 'lib/aws-sdk-ssm/client.rb', line 4572

def get_maintenance_window(params = {}, options = {})
  req = build_request(:get_maintenance_window, params)
  req.send_request(options)
end

#get_maintenance_window_execution(params = {}) ⇒ Types::GetMaintenanceWindowExecutionResult

Retrieves details about a specific a maintenance window execution.

Examples:

Request syntax with placeholder values


resp = client.get_maintenance_window_execution({
  window_execution_id: "MaintenanceWindowExecutionId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

    The ID of the maintenance window execution that includes the task.

Returns:

See Also:



4611
4612
4613
4614
# File 'lib/aws-sdk-ssm/client.rb', line 4611

def get_maintenance_window_execution(params = {}, options = {})
  req = build_request(:get_maintenance_window_execution, params)
  req.send_request(options)
end

#get_maintenance_window_execution_task(params = {}) ⇒ Types::GetMaintenanceWindowExecutionTaskResult

Retrieves the details about a specific task run as part of a maintenance window execution.

Examples:

Request syntax with placeholder values


resp = client.get_maintenance_window_execution_task({
  window_execution_id: "MaintenanceWindowExecutionId", # required
  task_id: "MaintenanceWindowExecutionTaskId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

    The ID of the maintenance window execution that includes the task.

  • :task_id (required, String)

    The ID of the specific task execution in the maintenance window task that should be retrieved.

Returns:

See Also:



4672
4673
4674
4675
# File 'lib/aws-sdk-ssm/client.rb', line 4672

def get_maintenance_window_execution_task(params = {}, options = {})
  req = build_request(:get_maintenance_window_execution_task, params)
  req.send_request(options)
end

#get_maintenance_window_execution_task_invocation(params = {}) ⇒ Types::GetMaintenanceWindowExecutionTaskInvocationResult

Retrieves information about a specific task running on a specific target.

Examples:

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
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

    The ID of the maintenance window execution for which the task is a part.

  • :task_id (required, String)

    The ID of the specific task in the maintenance window task that should be retrieved.

  • :invocation_id (required, String)

    The invocation ID to retrieve.

Returns:

See Also:



4733
4734
4735
4736
# File 'lib/aws-sdk-ssm/client.rb', line 4733

def get_maintenance_window_execution_task_invocation(params = {}, options = {})
  req = build_request(:get_maintenance_window_execution_task_invocation, params)
  req.send_request(options)
end

#get_maintenance_window_task(params = {}) ⇒ Types::GetMaintenanceWindowTaskResult

Lists the tasks in a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.get_maintenance_window_task({
  window_id: "MaintenanceWindowId", # required
  window_task_id: "MaintenanceWindowTaskId", # required
})

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.document_hash #=> String
resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1"
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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The maintenance window ID that includes the task to retrieve.

  • :window_task_id (required, String)

    The maintenance window task ID to retrieve.

Returns:

See Also:



4820
4821
4822
4823
# File 'lib/aws-sdk-ssm/client.rb', line 4820

def get_maintenance_window_task(params = {}, options = {})
  req = build_request(:get_maintenance_window_task, params)
  req.send_request(options)
end

#get_ops_item(params = {}) ⇒ Types::GetOpsItemResponse

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] 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] in the *AWS Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html

Examples:

Request syntax with placeholder values


resp = client.get_ops_item({
  ops_item_id: "OpsItemId", # required
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :ops_item_id (required, String)

    The ID of the OpsItem that you want to get.

Returns:

See Also:



4879
4880
4881
4882
# File 'lib/aws-sdk-ssm/client.rb', line 4879

def get_ops_item(params = {}, options = {})
  req = build_request(:get_ops_item, params)
  req.send_request(options)
end

#get_ops_summary(params = {}) ⇒ Types::GetOpsSummaryResult

View a summary of OpsItems based on specified filters and aggregators.

Examples:

Request syntax with placeholder values


resp = client.get_ops_summary({
  filters: [
    {
      key: "OpsFilterKey", # required
      values: ["OpsFilterValue"], # required
      type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists
    },
  ],
  aggregators: [ # required
    {
      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
      },
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.entities #=> Array
resp.entities[0].id #=> String
resp.entities[0].data #=> Hash
resp.entities[0].data["OpsEntityItemKey"].content #=> Array
resp.entities[0].data["OpsEntityItemKey"].content[0] #=> Hash
resp.entities[0].data["OpsEntityItemKey"].content[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::OpsFilter>)

    Optional filters used to scope down the returned OpsItems.

  • :aggregators (required, Array<Types::OpsAggregator>)

    Optional aggregators that return counts of OpsItems based on one or more expressions.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

  • :max_results (Integer)

    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.

Returns:

See Also:



4955
4956
4957
4958
# File 'lib/aws-sdk-ssm/client.rb', line 4955

def get_ops_summary(params = {}, options = {})
  req = build_request(:get_ops_summary, params)
  req.send_request(options)
end

#get_parameter(params = {}) ⇒ Types::GetParameterResult

Get information about a parameter by using the parameter name. Don’t confuse this API action with the GetParameters API action.

Examples:

Request syntax with placeholder values


resp = client.get_parameter({
  name: "PSParameterName", # required
  with_decryption: false,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the parameter you want to query.

  • :with_decryption (Boolean)

    Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

Returns:

See Also:



4996
4997
4998
4999
# File 'lib/aws-sdk-ssm/client.rb', line 4996

def get_parameter(params = {}, options = {})
  req = build_request(:get_parameter, params)
  req.send_request(options)
end

#get_parameter_history(params = {}) ⇒ Types::GetParameterHistoryResult

Query a list of all parameters used by the AWS account.

Examples:

Request syntax with placeholder values


resp = client.get_parameter_history({
  name: "PSParameterName", # required
  with_decryption: false,
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of a parameter you want to query.

  • :with_decryption (Boolean)

    Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



5058
5059
5060
5061
# File 'lib/aws-sdk-ssm/client.rb', line 5058

def get_parameter_history(params = {}, options = {})
  req = build_request(:get_parameter_history, params)
  req.send_request(options)
end

#get_parameters(params = {}) ⇒ Types::GetParametersResult

Get details of a parameter. Don’t confuse this API action with the GetParameter API action.

Examples:

Request syntax with placeholder values


resp = client.get_parameters({
  names: ["PSParameterName"], # required
  with_decryption: false,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :names (required, Array<String>)

    Names of the parameters for which you want to query information.

  • :with_decryption (Boolean)

    Return decrypted secure string value. Return decrypted values for secure string parameters. This flag is ignored for String and StringList parameter types.

Returns:

See Also:



5104
5105
5106
5107
# File 'lib/aws-sdk-ssm/client.rb', line 5104

def get_parameters(params = {}, options = {})
  req = build_request(:get_parameters, params)
  req.send_request(options)
end

#get_parameters_by_path(params = {}) ⇒ Types::GetParametersByPathResult

Retrieve parameters in a specific hierarchy. For more information, see

Working with Systems Manager Parameters][1

in the *AWS Systems

Manager User Guide*.

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.

<note markdown=“1”> This API action doesn’t support filtering by tags.

</note>

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-working.html

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :path (required, String)

    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`

  • :recursive (Boolean)

    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`.

  • :parameter_filters (Array<Types::ParameterStringFilter>)

    Filters to limit the request results.

    <note markdown=“1”> You can’t filter using the parameter name.

    </note>
    
  • :with_decryption (Boolean)

    Retrieve all parameters in a hierarchy with their value decrypted.

  • :max_results (Integer)

    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.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

Returns:

See Also:



5204
5205
5206
5207
# File 'lib/aws-sdk-ssm/client.rb', line 5204

def get_parameters_by_path(params = {}, options = {})
  req = build_request(:get_parameters_by_path, params)
  req.send_request(options)
end

#get_patch_baseline(params = {}) ⇒ Types::GetPatchBaselineResult

Retrieves information about a patch baseline.

Examples:

Request syntax with placeholder values


resp = client.get_patch_baseline({
  baseline_id: "BaselineId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to retrieve.

Returns:

See Also:



5277
5278
5279
5280
# File 'lib/aws-sdk-ssm/client.rb', line 5277

def get_patch_baseline(params = {}, options = {})
  req = build_request(:get_patch_baseline, params)
  req.send_request(options)
end

#get_patch_baseline_for_patch_group(params = {}) ⇒ Types::GetPatchBaselineForPatchGroupResult

Retrieves the patch baseline that should be used for the specified patch group.

Examples:

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
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :patch_group (required, String)

    The name of the patch group whose patch baseline should be retrieved.

  • :operating_system (String)

    Returns he operating system rule specified for patch groups using the patch baseline.

Returns:

See Also:



5315
5316
5317
5318
# File 'lib/aws-sdk-ssm/client.rb', line 5315

def get_patch_baseline_for_patch_group(params = {}, options = {})
  req = build_request(:get_patch_baseline_for_patch_group, params)
  req.send_request(options)
end

#get_service_setting(params = {}) ⇒ Types::GetServiceSettingResult

‘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.

Examples:

Request syntax with placeholder values


resp = client.get_service_setting({
  setting_id: "ServiceSettingId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :setting_id (required, String)

    The ID of the service setting to get.

Returns:

See Also:



5364
5365
5366
5367
# File 'lib/aws-sdk-ssm/client.rb', line 5364

def get_service_setting(params = {}, options = {})
  req = build_request(:get_service_setting, params)
  req.send_request(options)
end

#label_parameter_version(params = {}) ⇒ Types::LabelParameterVersionResult

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.

Examples:

Request syntax with placeholder values


resp = client.label_parameter_version({
  name: "PSParameterName", # required
  parameter_version: 1,
  labels: ["ParameterLabel"], # required
})

Response structure


resp.invalid_labels #=> Array
resp.invalid_labels[0] #=> String
resp.parameter_version #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The parameter name on which you want to attach one or more labels.

  • :parameter_version (Integer)

    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.

  • :labels (required, Array<String>)

    One or more labels to attach to the specified parameter version.

Returns:

See Also:



5436
5437
5438
5439
# File 'lib/aws-sdk-ssm/client.rb', line 5436

def label_parameter_version(params = {}, options = {})
  req = build_request(:label_parameter_version, params)
  req.send_request(options)
end

#list_association_versions(params = {}) ⇒ Types::ListAssociationVersionsResult

Retrieves all versions of an association for a specific association ID.

Examples:

Request syntax with placeholder values


resp = client.list_association_versions({
  association_id: "AssociationId", # required
  max_results: 1,
  next_token: "NextToken",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_id (required, String)

    The association ID for which you want to view all versions.

  • :max_results (Integer)

    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.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

Returns:

See Also:



5498
5499
5500
5501
# File 'lib/aws-sdk-ssm/client.rb', line 5498

def list_association_versions(params = {}, options = {})
  req = build_request(:list_association_versions, params)
  req.send_request(options)
end

#list_associations(params = {}) ⇒ Types::ListAssociationsResult

Lists the associations for the specified Systems Manager document or instance.

Examples:

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",
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_filter_list (Array<Types::AssociationFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



5562
5563
5564
5565
# File 'lib/aws-sdk-ssm/client.rb', line 5562

def list_associations(params = {}, options = {})
  req = build_request(:list_associations, params)
  req.send_request(options)
end

#list_command_invocations(params = {}) ⇒ Types::ListCommandInvocationsResult

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.

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :command_id (String) — default: Optional

    The invocations for a specific command ID.

  • :instance_id (String) — default: Optional

    The command execution details for a specific instance ID.

  • :max_results (Integer) — default: 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.

  • :next_token (String) — default: Optional

    The token for the next set of items to return. (You received this token from a previous call.)

  • :filters (Array<Types::CommandFilter>) — default: Optional

    One or more filters. Use a filter to return a more specific list of results.

  • :details (Boolean) — default: Optional

    If set this returns the response of the command executions and any command output. By default this is set to False.

Returns:

See Also:



5659
5660
5661
5662
# File 'lib/aws-sdk-ssm/client.rb', line 5659

def list_command_invocations(params = {}, options = {})
  req = build_request(:list_command_invocations, params)
  req.send_request(options)
end

#list_commands(params = {}) ⇒ Types::ListCommandsResult

Lists the commands requested by users of the AWS account.

Examples:

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
    },
  ],
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :command_id (String) — default: Optional

    If provided, lists only the specified command.

  • :instance_id (String) — default: Optional

    Lists commands issued against this instance ID.

  • :max_results (Integer) — default: 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.

  • :next_token (String) — default: Optional

    The token for the next set of items to return. (You received this token from a previous call.)

  • :filters (Array<Types::CommandFilter>) — default: Optional

    One or more filters. Use a filter to return a more specific list of results.

Returns:

See Also:



5747
5748
5749
5750
# File 'lib/aws-sdk-ssm/client.rb', line 5747

def list_commands(params = {}, options = {})
  req = build_request(:list_commands, params)
  req.send_request(options)
end

#list_compliance_items(params = {}) ⇒ Types::ListComplianceItemsResult

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.

Examples:

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,
})

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"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::ComplianceStringFilter>)

    One or more compliance filters. Use a filter to return a more specific list of results.

  • :resource_ids (Array<String>)

    The ID for the resources from which to get compliance information. Currently, you can only specify one resource ID.

  • :resource_types (Array<String>)

    The type of resource from which to get compliance information. Currently, the only supported resource type is ‘ManagedInstance`.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

  • :max_results (Integer)

    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.

Returns:

See Also:



5820
5821
5822
5823
# File 'lib/aws-sdk-ssm/client.rb', line 5820

def list_compliance_items(params = {}, options = {})
  req = build_request(:list_compliance_items, params)
  req.send_request(options)
end

#list_compliance_summaries(params = {}) ⇒ Types::ListComplianceSummariesResult

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.

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::ComplianceStringFilter>)

    One or more compliance or inventory filters. Use a filter to return a more specific list of results.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

  • :max_results (Integer)

    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.

Returns:

See Also:



5886
5887
5888
5889
# File 'lib/aws-sdk-ssm/client.rb', line 5886

def list_compliance_summaries(params = {}, options = {})
  req = build_request(:list_compliance_summaries, params)
  req.send_request(options)
end

#list_document_versions(params = {}) ⇒ Types::ListDocumentVersionsResult

List all versions for a document.

Examples:

Request syntax with placeholder values


resp = client.list_document_versions({
  name: "DocumentName", # required
  max_results: 1,
  next_token: "NextToken",
})

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"
resp.document_versions[0].status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed"
resp.document_versions[0].status_information #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the document about which you want version information.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



5935
5936
5937
5938
# File 'lib/aws-sdk-ssm/client.rb', line 5935

def list_document_versions(params = {}, options = {})
  req = build_request(:list_document_versions, params)
  req.send_request(options)
end

#list_documents(params = {}) ⇒ Types::ListDocumentsResult

Describes one or more of your Systems Manager documents.

Examples:

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",
})

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"
resp.document_identifiers[0].schema_version #=> String
resp.document_identifiers[0].document_format #=> String, one of "YAML", "JSON"
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.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :document_filter_list (Array<Types::DocumentFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :filters (Array<Types::DocumentKeyValuesFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :max_results (Integer)

    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.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

Returns:

See Also:



6005
6006
6007
6008
# File 'lib/aws-sdk-ssm/client.rb', line 6005

def list_documents(params = {}, options = {})
  req = build_request(:list_documents, params)
  req.send_request(options)
end

#list_inventory_entries(params = {}) ⇒ Types::ListInventoryEntriesResult

A list of inventory items returned by the request.

Examples:

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,
})

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"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The instance ID for which you want inventory information.

  • :type_name (required, String)

    The type of inventory item for which you want information.

  • :filters (Array<Types::InventoryFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.)

  • :max_results (Integer)

    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.

Returns:

See Also:



6071
6072
6073
6074
# File 'lib/aws-sdk-ssm/client.rb', line 6071

def list_inventory_entries(params = {}, options = {})
  req = build_request(:list_inventory_entries, params)
  req.send_request(options)
end

#list_resource_compliance_summaries(params = {}) ⇒ Types::ListResourceComplianceSummariesResult

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.

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :filters (Array<Types::ComplianceStringFilter>)

    One or more filters. Use a filter to return a more specific list of results.

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

  • :max_results (Integer)

    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.

Returns:

See Also:



6144
6145
6146
6147
# File 'lib/aws-sdk-ssm/client.rb', line 6144

def list_resource_compliance_summaries(params = {}, options = {})
  req = build_request(:list_resource_compliance_summaries, params)
  req.send_request(options)
end

#list_resource_data_sync(params = {}) ⇒ Types::ListResourceDataSyncResult

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.

Examples:

Request syntax with placeholder values


resp = client.list_resource_data_sync({
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.resource_data_sync_items #=> Array
resp.resource_data_sync_items[0].sync_name #=> 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].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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :next_token (String)

    A token to start the list. Use this token to get the next set of results.

  • :max_results (Integer)

    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.

Returns:

See Also:



6203
6204
6205
6206
# File 'lib/aws-sdk-ssm/client.rb', line 6203

def list_resource_data_sync(params = {}, options = {})
  req = build_request(:list_resource_data_sync, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResult

Returns a list of the tags assigned to the specified resource.

Examples:

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
})

Response structure


resp.tag_list #=> Array
resp.tag_list[0].key #=> String
resp.tag_list[0].value #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_type (required, String)

    Returns a list of tags for a specific resource type.

  • :resource_id (required, String)

    The resource ID for which you want to see a list of tags.

Returns:

See Also:



6237
6238
6239
6240
# File 'lib/aws-sdk-ssm/client.rb', line 6237

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#modify_document_permission(params = {}) ⇒ Struct

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.

Examples:

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"],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the document that you want to share.

  • :permission_type (required, String)

    The permission type for the document. The permission type can be Share.

  • :account_ids_to_add (Array<String>)

    The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All.

  • :account_ids_to_remove (Array<String>)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



6280
6281
6282
6283
# File 'lib/aws-sdk-ssm/client.rb', line 6280

def modify_document_permission(params = {}, options = {})
  req = build_request(:modify_document_permission, params)
  req.send_request(options)
end

#put_compliance_items(params = {}) ⇒ Struct

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’

Examples:

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",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_id (required, String)

    Specify an ID for this resource. For a managed instance, this is the instance ID.

  • :resource_type (required, String)

    Specify the type of resource. ‘ManagedInstance` is currently the only supported resource type.

  • :compliance_type (required, String)

    Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:‘string`.

  • :execution_summary (required, Types::ComplianceExecutionSummary)

    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’.

  • :items (required, Array<Types::ComplianceItemEntry>)

    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.

  • :item_content_hash (String)

    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.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



6390
6391
6392
6393
# File 'lib/aws-sdk-ssm/client.rb', line 6390

def put_compliance_items(params = {}, options = {})
  req = build_request(:put_compliance_items, params)
  req.send_request(options)
end

#put_inventory(params = {}) ⇒ Types::PutInventoryResult

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.

Examples:

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",
      },
    },
  ],
})

Response structure


resp.message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    One or more instance IDs where you want to add or update inventory items.

  • :items (required, Array<Types::InventoryItem>)

    The inventory items that you want to add or update on instances.

Returns:

See Also:



6440
6441
6442
6443
# File 'lib/aws-sdk-ssm/client.rb', line 6440

def put_inventory(params = {}, options = {})
  req = build_request(:put_inventory, params)
  req.send_request(options)
end

#put_parameter(params = {}) ⇒ Types::PutParameterResult

Add a parameter to the system.

Examples:

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",
})

Response structure


resp.version #=> Integer
resp.tier #=> String, one of "Standard", "Advanced", "Intelligent-Tiering"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    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*.

    <note markdown=“1”> 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.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-parameter-name-constraints.html

  • :description (String)

    Information about the parameter that you want to add to the system. Optional but recommended.

    Do not enter personally identifiable information in this field.

  • :value (required, String)

    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.

  • :type (required, String)

    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.

    <note markdown=“1”> ‘SecureString` is not currently supported for AWS CloudFormation templates or in the China Regions.

    </note>
    
  • :key_id (String)

    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.

  • :overwrite (Boolean)

    Overwrite an existing parameter. If not specified, will default to “false”.

  • :allowed_pattern (String)

    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+$

  • :tags (Array<Types::Tag>)

    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`

    <note markdown=“1”> To add tags to an existing Systems Manager parameter, use the AddTagsToResource action.

    </note>
    
  • :tier (String)

    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] 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]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/ps-default-tier.html

  • :policies (String)

    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]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-policies.html

Returns:

See Also:



6692
6693
6694
6695
# File 'lib/aws-sdk-ssm/client.rb', line 6692

def put_parameter(params = {}, options = {})
  req = build_request(:put_parameter, params)
  req.send_request(options)
end

#register_default_patch_baseline(params = {}) ⇒ Types::RegisterDefaultPatchBaselineResult

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`.

Examples:

Request syntax with placeholder values


resp = client.register_default_patch_baseline({
  baseline_id: "BaselineId", # required
})

Response structure


resp.baseline_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline that should be the default patch baseline.

Returns:

See Also:



6727
6728
6729
6730
# File 'lib/aws-sdk-ssm/client.rb', line 6727

def register_default_patch_baseline(params = {}, options = {})
  req = build_request(:register_default_patch_baseline, params)
  req.send_request(options)
end

#register_patch_baseline_for_patch_group(params = {}) ⇒ Types::RegisterPatchBaselineForPatchGroupResult

Registers a patch baseline for a patch group.

Examples:

Request syntax with placeholder values


resp = client.register_patch_baseline_for_patch_group({
  baseline_id: "BaselineId", # required
  patch_group: "PatchGroup", # required
})

Response structure


resp.baseline_id #=> String
resp.patch_group #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to register the patch group with.

  • :patch_group (required, String)

    The name of the patch group that should be registered with the patch baseline.

Returns:

See Also:



6762
6763
6764
6765
# File 'lib/aws-sdk-ssm/client.rb', line 6762

def register_patch_baseline_for_patch_group(params = {}, options = {})
  req = build_request(:register_patch_baseline_for_patch_group, params)
  req.send_request(options)
end

#register_target_with_maintenance_window(params = {}) ⇒ Types::RegisterTargetWithMaintenanceWindowResult

Registers a target with a maintenance window.

Examples:

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",
})

Response structure


resp.window_target_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window the target should be registered with.

  • :resource_type (required, String)

    The type of target being registered with the maintenance window.

  • :targets (required, Array<Types::Target>)

    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 `

    <note markdown=“1”> For ‘Key=resource-groups:ResourceTypeFilters`, specify resource types in the following format

    `Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC
    

    </note>
    

    For more information about these examples formats, including the best use case for each one, see [Examples: Register Targets with a Maintenance Window] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html

  • :owner_information (String)

    User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

  • :name (String)

    An optional name for the target.

  • :description (String)

    An optional description for the target.

  • :client_token (String)

    User-provided idempotency token.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

Returns:

See Also:



6865
6866
6867
6868
# File 'lib/aws-sdk-ssm/client.rb', line 6865

def register_target_with_maintenance_window(params = {}, options = {})
  req = build_request(:register_target_with_maintenance_window, params)
  req.send_request(options)
end

#register_task_with_maintenance_window(params = {}) ⇒ Types::RegisterTaskWithMaintenanceWindowResult

Adds a new task to a maintenance window.

Examples:

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",
      document_hash: "DocumentHash",
      document_hash_type: "Sha256", # accepts Sha256, Sha1
      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",
})

Response structure


resp.window_task_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window the task should be added to.

  • :targets (required, Array<Types::Target>)

    The targets (either instances or maintenance window targets).

    Specify instances using the following format:

    ‘Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>`

    Specify maintenance window targets using the following format:

    ‘Key=WindowTargetIds;,Values=<window-target-id-1>,<window-target-id-2>`

  • :task_arn (required, String)

    The ARN of the task to run.

  • :service_role_arn (String)

    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]: docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions [2]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role

  • :task_type (required, String)

    The type of task being registered.

  • :task_parameters (Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>)

    The parameters that should be passed to the task when it is run.

    <note markdown=“1”> ‘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.

    </note>
    
  • :task_invocation_parameters (Types::MaintenanceWindowTaskInvocationParameters)

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

  • :priority (Integer)

    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.

  • :max_concurrency (required, String)

    The maximum number of targets this task can be run for in parallel.

  • :max_errors (required, String)

    The maximum number of errors allowed before this task stops being scheduled.

  • :logging_info (Types::LoggingInfo)

    A structure containing information about an Amazon S3 bucket to write instance-level logs to.

    <note markdown=“1”> ‘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.

    </note>
    
  • :name (String)

    An optional name for the task.

  • :description (String)

    An optional description for the task.

  • :client_token (String)

    User-provided idempotency token.

    **A suitable default value is auto-generated.** You should normally not need to pass this option.**

Returns:

See Also:



7043
7044
7045
7046
# File 'lib/aws-sdk-ssm/client.rb', line 7043

def register_task_with_maintenance_window(params = {}, options = {})
  req = build_request(:register_task_with_maintenance_window, params)
  req.send_request(options)
end

#remove_tags_from_resource(params = {}) ⇒ Struct

Removes tag keys from the specified resource.

Examples:

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
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_type (required, String)

    The type of resource from which you want to remove a tag.

    <note markdown=“1”> 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.

    </note>
    
  • :resource_id (required, String)

    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.

    <note markdown=“1”> 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.

    </note>
    
  • :tag_keys (required, Array<String>)

    Tag keys that you want to remove from the specified resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7094
7095
7096
7097
# File 'lib/aws-sdk-ssm/client.rb', line 7094

def remove_tags_from_resource(params = {}, options = {})
  req = build_request(:remove_tags_from_resource, params)
  req.send_request(options)
end

#reset_service_setting(params = {}) ⇒ Types::ResetServiceSettingResult

‘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.

Examples:

Request syntax with placeholder values


resp = client.reset_service_setting({
  setting_id: "ServiceSettingId", # required
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :setting_id (required, String)

    The ID of the service setting to reset.

Returns:

See Also:



7143
7144
7145
7146
# File 'lib/aws-sdk-ssm/client.rb', line 7143

def reset_service_setting(params = {}, options = {})
  req = build_request(:reset_service_setting, params)
  req.send_request(options)
end

#resume_session(params = {}) ⇒ Types::ResumeSessionResponse

Reconnects a session to an instance after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions.

<note markdown=“1”> This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It is not intended for any other use.

</note>

Examples:

Request syntax with placeholder values


resp = client.resume_session({
  session_id: "SessionId", # required
})

Response structure


resp.session_id #=> String
resp.token_value #=> String
resp.stream_url #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :session_id (required, String)

    The ID of the disconnected session to resume.

Returns:

See Also:



7183
7184
7185
7186
# File 'lib/aws-sdk-ssm/client.rb', line 7183

def resume_session(params = {}, options = {})
  req = build_request(:resume_session, params)
  req.send_request(options)
end

#send_automation_signal(params = {}) ⇒ Struct

Sends a signal to an Automation execution to change the current behavior or status of the execution.

Examples:

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"],
  },
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :automation_execution_id (required, String)

    The unique identifier for an existing Automation execution that you want to send the signal to.

  • :signal_type (required, String)

    The type of signal to send to an Automation execution.

  • :payload (Hash<String,Array>)

    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”`

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7233
7234
7235
7236
# File 'lib/aws-sdk-ssm/client.rb', line 7233

def send_automation_signal(params = {}, options = {})
  req = build_request(:send_automation_signal, params)
  req.send_request(options)
end

#send_command(params = {}) ⇒ Types::SendCommandResult

Runs commands on one or more managed instances.

Examples:

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,
  },
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_ids (Array<String>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html

  • :targets (Array<Types::Target>) — default: 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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html

  • :document_name (required, String)

    Required. The name of the Systems Manager document to run. This can be a public document or a custom document.

  • :document_version (String)

    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”

  • :document_hash (String)

    The Sha256 or Sha1 hash created by the system when the document was created.

    <note markdown=“1”> Sha1 hashes have been deprecated.

    </note>
    
  • :document_hash_type (String)

    Sha256 or Sha1.

    <note markdown=“1”> Sha1 hashes have been deprecated.

    </note>
    
  • :timeout_seconds (Integer)

    If this time is reached and the command has not already started running, it will not run.

  • :comment (String)

    User-specified information about the command, such as a brief description of what the command should do.

  • :parameters (Hash<String,Array>)

    The required and optional parameters specified in the document being run.

  • :output_s3_region (String) — default: Deprecated

    You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.

  • :output_s3_bucket_name (String)

    The name of the S3 bucket where command execution responses should be stored.

  • :output_s3_key_prefix (String)

    The directory structure within the S3 bucket where the responses should be stored.

  • :max_concurrency (String) — default: 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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity

  • :max_errors (String)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors

  • :service_role_arn (String)

    The ARN of the IAM service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.

  • :notification_config (Types::NotificationConfig)

    Configurations for sending notifications.

  • :cloud_watch_output_config (Types::CloudWatchOutputConfig)

    Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs.

Returns:

See Also:



7435
7436
7437
7438
# File 'lib/aws-sdk-ssm/client.rb', line 7435

def send_command(params = {}, options = {})
  req = build_request(:send_command, params)
  req.send_request(options)
end

#start_associations_once(params = {}) ⇒ Struct

Use this API action to run an association immediately and only one time. This action can be helpful when troubleshooting associations.

Examples:

Request syntax with placeholder values


resp = client.start_associations_once({
  association_ids: ["AssociationId"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_ids (required, Array<String>)

    The association IDs that you want to run immediately and only one time.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7459
7460
7461
7462
# File 'lib/aws-sdk-ssm/client.rb', line 7459

def start_associations_once(params = {}, options = {})
  req = build_request(:start_associations_once, params)
  req.send_request(options)
end

#start_automation_execution(params = {}) ⇒ Types::StartAutomationExecutionResult

Initiates execution of an Automation document.

Examples:

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",
    },
  ],
})

Response structure


resp.automation_execution_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :document_name (required, String)

    The name of the Automation document to use for this execution.

  • :document_version (String)

    The version of the Automation document to use for this execution.

  • :parameters (Hash<String,Array>)

    A key-value map of execution parameters, which match the declared parameters in the Automation document.

  • :client_token (String)

    User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can’t be reused.

  • :mode (String)

    The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.

  • :target_parameter_name (String)

    The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.

  • :targets (Array<Types::Target>)

    A key-value mapping to target resources. Required if you specify TargetParameterName.

  • :target_maps (Array<Hash>)

    A key-value mapping of document parameters to target resources. Both Targets and TargetMaps cannot be specified together.

  • :max_concurrency (String)

    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.

  • :max_errors (String)

    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.

  • :target_locations (Array<Types::TargetLocation>)

    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]: docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html

Returns:

See Also:



7577
7578
7579
7580
# File 'lib/aws-sdk-ssm/client.rb', line 7577

def start_automation_execution(params = {}, options = {})
  req = build_request(:start_automation_execution, params)
  req.send_request(options)
end

#start_session(params = {}) ⇒ Types::StartSessionResponse

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.

<note markdown=“1”> 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] 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.

</note>

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html

Examples:

Request syntax with placeholder values


resp = client.start_session({
  target: "SessionTarget", # required
  document_name: "DocumentARN",
  parameters: {
    "SessionManagerParameterName" => ["SessionManagerParameterValue"],
  },
})

Response structure


resp.session_id #=> String
resp.token_value #=> String
resp.stream_url #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :target (required, String)

    The instance to connect to for the session.

  • :document_name (String)

    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.

  • :parameters (Hash<String,Array>)

    Reserved for future use.

Returns:

See Also:



7638
7639
7640
7641
# File 'lib/aws-sdk-ssm/client.rb', line 7638

def start_session(params = {}, options = {})
  req = build_request(:start_session, params)
  req.send_request(options)
end

#stop_automation_execution(params = {}) ⇒ Struct

Stop an Automation that is currently running.

Examples:

Request syntax with placeholder values


resp = client.stop_automation_execution({
  automation_execution_id: "AutomationExecutionId", # required
  type: "Complete", # accepts Complete, Cancel
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :automation_execution_id (required, String)

    The execution ID of the Automation to stop.

  • :type (String)

    The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



7665
7666
7667
7668
# File 'lib/aws-sdk-ssm/client.rb', line 7665

def stop_automation_execution(params = {}, options = {})
  req = build_request(:stop_automation_execution, params)
  req.send_request(options)
end

#terminate_session(params = {}) ⇒ Types::TerminateSessionResponse

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.

Examples:

Request syntax with placeholder values


resp = client.terminate_session({
  session_id: "SessionId", # required
})

Response structure


resp.session_id #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :session_id (required, String)

    The ID of the session to terminate.

Returns:

See Also:



7695
7696
7697
7698
# File 'lib/aws-sdk-ssm/client.rb', line 7695

def terminate_session(params = {}, options = {})
  req = build_request(:terminate_session, params)
  req.send_request(options)
end

#update_association(params = {}) ⇒ Types::UpdateAssociationResult

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: <user_arn> is not authorized to perform: ssm:DescribeAssociation on resource: <resource_arn>`

When you update an association, the association immediately runs against the specified targets.

Examples:

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
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :association_id (required, String)

    The ID of the association you want to update.

  • :parameters (Hash<String,Array>)

    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\}\}

  • :document_version (String)

    The document version you want update for the association.

  • :schedule_expression (String)

    The cron expression used to schedule the association that you want to update.

  • :output_location (Types::InstanceAssociationOutputLocation)

    An Amazon S3 bucket where you want to store the results of this request.

  • :name (String)

    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`.

  • :targets (Array<Types::Target>)

    The targets of the association.

  • :association_name (String)

    The name of the association that you want to update.

  • :association_version (String)

    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.

  • :automation_target_parameter_name (String)

    Specify the target for the association. This target is required for associations that use an Automation document and target resources by using rate controls.

  • :max_errors (String)

    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.

  • :max_concurrency (String)

    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.

  • :compliance_severity (String)

    The severity level to assign to the association.

Returns:

See Also:



7880
7881
7882
7883
# File 'lib/aws-sdk-ssm/client.rb', line 7880

def update_association(params = {}, options = {})
  req = build_request(:update_association, params)
  req.send_request(options)
end

#update_association_status(params = {}) ⇒ Types::UpdateAssociationStatusResult

Updates the status of the Systems Manager document associated with the specified instance.

Examples:

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",
  },
})

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"

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the Systems Manager document.

  • :instance_id (required, String)

    The ID of the instance.

  • :association_status (required, Types::AssociationStatus)

    The association status.

Returns:

See Also:



7954
7955
7956
7957
# File 'lib/aws-sdk-ssm/client.rb', line 7954

def update_association_status(params = {}, options = {})
  req = build_request(:update_association_status, params)
  req.send_request(options)
end

#update_document(params = {}) ⇒ Types::UpdateDocumentResult

Updates one or more values for an SSM document.

Examples:

Request syntax with placeholder values


resp = client.update_document({
  content: "DocumentContent", # required
  attachments: [
    {
      key: "SourceUrl", # accepts SourceUrl
      values: ["AttachmentsSourceValue"],
    },
  ],
  name: "DocumentName", # required
  version_name: "DocumentVersionName",
  document_version: "DocumentVersion",
  document_format: "YAML", # accepts YAML, JSON
  target_type: "TargetType",
})

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"
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"
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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :content (required, String)

    A valid JSON or YAML string.

  • :attachments (Array<Types::AttachmentsSource>)

    A list of key and value pairs that describe attachments to a version of a document.

  • :name (required, String)

    The name of the document that you want to update.

  • :version_name (String)

    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.

  • :document_version (String) — default: Required

    The version of the document that you want to update.

  • :document_format (String)

    Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.

  • :target_type (String)

    Specify a new target type for the document.

Returns:

See Also:



8044
8045
8046
8047
# File 'lib/aws-sdk-ssm/client.rb', line 8044

def update_document(params = {}, options = {})
  req = build_request(:update_document, params)
  req.send_request(options)
end

#update_document_default_version(params = {}) ⇒ Types::UpdateDocumentDefaultVersionResult

Set the default version of a document.

Examples:

Request syntax with placeholder values


resp = client.update_document_default_version({
  name: "DocumentName", # required
  document_version: "DocumentVersionNumber", # required
})

Response structure


resp.description.name #=> String
resp.description.default_version #=> String
resp.description.default_version_name #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    The name of a custom document that you want to set as the default version.

  • :document_version (required, String)

    The version of a custom document that you want to set as the default version.

Returns:

See Also:



8080
8081
8082
8083
# File 'lib/aws-sdk-ssm/client.rb', line 8080

def update_document_default_version(params = {}, options = {})
  req = build_request(:update_document_default_version, params)
  req.send_request(options)
end

#update_maintenance_window(params = {}) ⇒ Types::UpdateMaintenanceWindowResult

Updates an existing maintenance window. Only specified parameters are modified.

<note markdown=“1”> 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.

</note>

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window to update.

  • :name (String)

    The name of the maintenance window.

  • :description (String)

    An optional description for the update request.

  • :start_date (String)

    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] on the IANA website.

    [1]: www.iana.org/time-zones

  • :end_date (String)

    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.

  • :schedule (String)

    The schedule of the maintenance window in the form of a cron or rate expression.

  • :schedule_timezone (String)

    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] on the IANA website.

    [1]: www.iana.org/time-zones

  • :duration (Integer)

    The duration of the maintenance window in hours.

  • :cutoff (Integer)

    The number of hours before the end of the maintenance window that Systems Manager stops scheduling new tasks for execution.

  • :allow_unassociated_targets (Boolean)

    Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

  • :enabled (Boolean)

    Whether the maintenance window is enabled.

  • :replace (Boolean)

    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.

Returns:

See Also:



8205
8206
8207
8208
# File 'lib/aws-sdk-ssm/client.rb', line 8205

def update_maintenance_window(params = {}, options = {})
  req = build_request(:update_maintenance_window, params)
  req.send_request(options)
end

#update_maintenance_window_target(params = {}) ⇒ Types::UpdateMaintenanceWindowTargetResult

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.

<note markdown=“1”> If a parameter is null, then the corresponding field is not modified.

</note>

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The maintenance window ID with which to modify the target.

  • :window_target_id (required, String)

    The target ID to modify.

  • :targets (Array<Types::Target>)

    The targets to add or replace.

  • :owner_information (String)

    User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this maintenance window.

  • :name (String)

    A name for the update.

  • :description (String)

    An optional description for the update.

  • :replace (Boolean)

    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.

Returns:

See Also:



8298
8299
8300
8301
# File 'lib/aws-sdk-ssm/client.rb', line 8298

def update_maintenance_window_target(params = {}, options = {})
  req = build_request(:update_maintenance_window_target, params)
  req.send_request(options)
end

#update_maintenance_window_task(params = {}) ⇒ Types::UpdateMaintenanceWindowTaskResult

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.

Examples:

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",
      document_hash: "DocumentHash",
      document_hash_type: "Sha256", # accepts Sha256, Sha1
      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,
})

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.document_hash #=> String
resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1"
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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :window_id (required, String)

    The maintenance window ID that contains the task to modify.

  • :window_task_id (required, String)

    The task ID to modify.

  • :targets (Array<Types::Target>)

    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.

  • :task_arn (String)

    The task ARN to modify.

  • :service_role_arn (String)

    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]: docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html#slr-permissions [2]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html#maintenance-window-tasks-service-role

  • :task_parameters (Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>)

    The parameters to modify.

    <note markdown=“1”> ‘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.

    </note>
    

    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

  • :task_invocation_parameters (Types::MaintenanceWindowTaskInvocationParameters)

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

  • :priority (Integer)

    The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

  • :max_concurrency (String)

    The new ‘MaxConcurrency` value you want to specify. `MaxConcurrency` is the number of targets that are allowed to run this task in parallel.

  • :max_errors (String)

    The new ‘MaxErrors` value to specify. `MaxErrors` is the maximum number of errors that are allowed before the task stops being scheduled.

  • :logging_info (Types::LoggingInfo)

    The new logging location in Amazon S3 to specify.

    <note markdown=“1”> ‘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.

    </note>
    
  • :name (String)

    The new task name to specify.

  • :description (String)

    The new task description to specify.

  • :replace (Boolean)

    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.

Returns:

See Also:



8548
8549
8550
8551
# File 'lib/aws-sdk-ssm/client.rb', line 8548

def update_maintenance_window_task(params = {}, options = {})
  req = build_request(:update_maintenance_window_task, params)
  req.send_request(options)
end

#update_managed_instance_role(params = {}) ⇒ Struct

Assigns or changes an Amazon Identity and Access Management (IAM) role for the managed instance.

Examples:

Request syntax with placeholder values


resp = client.update_managed_instance_role({
  instance_id: "ManagedInstanceId", # required
  iam_role: "IamRole", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the managed instance where you want to update the role.

  • :iam_role (required, String)

    The IAM role you want to assign or change.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



8575
8576
8577
8578
# File 'lib/aws-sdk-ssm/client.rb', line 8575

def update_managed_instance_role(params = {}, options = {})
  req = build_request(:update_managed_instance_role, params)
  req.send_request(options)
end

#update_ops_item(params = {}) ⇒ Struct

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] 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] in the *AWS Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-getting-started.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html

Examples:

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",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :description (String)

    Update the information about the OpsItem. Provide enough information so that users reading this OpsItem for the first time understand the issue.

  • :operational_data (Hash<String,Types::OpsItemDataValue>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-creating-OpsItems.html#OpsCenter-manually-create-OpsItems

  • :operational_data_to_delete (Array<String>)

    Keys that you want to remove from the OperationalData map.

  • :notifications (Array<Types::OpsItemNotification>)

    The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this OpsItem is edited or changed.

  • :priority (Integer)

    The importance of this OpsItem in relation to other OpsItems in the system.

  • :related_ops_items (Array<Types::RelatedOpsItem>)

    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.

  • :status (String)

    The OpsItem status. Status can be ‘Open`, `In Progress`, or `Resolved`. For more information, see [Editing OpsItem Details] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html

  • :ops_item_id (required, String)

    The ID of the OpsItem.

  • :title (String)

    A short heading that describes the nature of the OpsItem and the impacted resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



8698
8699
8700
8701
# File 'lib/aws-sdk-ssm/client.rb', line 8698

def update_ops_item(params = {}, options = {})
  req = build_request(:update_ops_item, params)
  req.send_request(options)
end

#update_patch_baseline(params = {}) ⇒ Types::UpdatePatchBaselineResult

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

<note markdown=“1”> For information about valid key and value pairs in ‘PatchFilters` for each supported operating system type, see [PatchFilter].

</note>

[1]: docs.aws.amazon.com/systems-manager/latest/APIReference/API_PatchFilter.html

Examples:

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,
})

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

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to update.

  • :name (String)

    The name of the patch baseline.

  • :global_filters (Types::PatchFilterGroup)

    A set of global filters used to include patches in the baseline.

  • :approval_rules (Types::PatchRuleGroup)

    A set of rules used to include patches in the baseline.

  • :approved_patches (Array<String>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html

  • :approved_patches_compliance_level (String)

    Assigns a new compliance severity level to an existing patch baseline.

  • :approved_patches_enable_non_security (Boolean)

    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.

  • :rejected_patches (Array<String>)

    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] in the *AWS Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html

  • :rejected_patches_action (String)

    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.

  • :description (String)

    A description of the patch baseline.

  • :sources (Array<Types::PatchSource>)

    Information about the patches to use to update the instances, including target operating systems and source repositories. Applies to Linux instances only.

  • :replace (Boolean)

    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.

Returns:

See Also:



8886
8887
8888
8889
# File 'lib/aws-sdk-ssm/client.rb', line 8886

def update_patch_baseline(params = {}, options = {})
  req = build_request(:update_patch_baseline, params)
  req.send_request(options)
end

#update_service_setting(params = {}) ⇒ Struct

‘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.

Examples:

Request syntax with placeholder values


resp = client.update_service_setting({
  setting_id: "ServiceSettingId", # required
  setting_value: "ServiceSettingValue", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :setting_id (required, String)

    The ID of the service setting to update.

  • :setting_value (required, String)

    The new value to specify for the service setting.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



8928
8929
8930
8931
# File 'lib/aws-sdk-ssm/client.rb', line 8928

def update_service_setting(params = {}, options = {})
  req = build_request(:update_service_setting, params)
  req.send_request(options)
end

#waiter_namesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Deprecated.


8952
8953
8954
# File 'lib/aws-sdk-ssm/client.rb', line 8952

def waiter_names
  []
end