Class: Aws::SSM::Client

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

Overview

An API client for SSM. To construct a client, you need to configure a `:region` and `:credentials`.

client = Aws::SSM::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).

See #initialize for a full list of supported configuration options.

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::SharedCredentials` - Used for loading static credentials from a shared file, such as `~/.aws/config`.

    • `Aws::AssumeRoleCredentials` - Used when you need to assume a role.

    • `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to assume a role after providing credentials via the web.

    • `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an access token generated from `aws login`.

    • `Aws::ProcessCredentials` - Used for loading credentials from a process that outputs to stdout.

    • `Aws::InstanceProfileCredentials` - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • `Aws::ECSCredentials` - Used for loading credentials from instances running in ECS.

    • `Aws::CognitoIdentityCredentials` - Used for loading credentials from the Cognito Identity service.

    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/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV to true.

  • :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 searched 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`.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in `adaptive` retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a `RetryCapacityNotAvailableError` and will not retry instead of sleeping.

  • :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.

  • :correct_clock_skew (Boolean) — default: true

    Used only in `standard` and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :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 or custom endpoints. This should be a valid 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.

  • :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.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in `standard` and `adaptive` retry modes.

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

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

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the `legacy` retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the `legacy` retry mode.

  • :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. This option is only used in the `legacy` retry mode.

    @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, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the `legacy` retry mode.

  • :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. This option is only used in the `legacy` retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • `legacy` - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • `standard` - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • `adaptive` - An experimental retry mode that includes all the functionality of `standard` mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :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.

  • :use_dualstack_endpoint (Boolean)

    When set to `true`, dualstack enabled endpoints (with `.aws` TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to `true`, fips compatible endpoints will be used if available. When a `fips` region is used, the region is normalized and this config is set to `true`.

  • :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 raising 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.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle 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.

  • :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.


345
346
347
# File 'lib/aws-sdk-ssm/client.rb', line 345

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.


11528
11529
11530
# File 'lib/aws-sdk-ssm/client.rb', line 11528

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.


11531
11532
11533
# File 'lib/aws-sdk-ssm/client.rb', line 11531

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 nodes, 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 nodes that helps you track each node's owner and stack level. For example:

  • `Key=Owner,Value=DbAdmin`

  • `Key=Owner,Value=SysAdmin`

  • `Key=Owner,Value=Dev`

  • `Key=Stack,Value=Production`

  • `Key=Stack,Value=Pre-Production`

  • `Key=Stack,Value=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 and are interpreted strictly as a string of characters.

For more information about using tags with Amazon Elastic Compute Cloud (Amazon EC2) instances, 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, OpsMetadata
  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 operation is for on-premises managed nodes. You must specify the name of the managed node 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:

    `MaintenanceWindow`: `mw-012345abcde`

    `PatchBaseline`: `pb-012345abcde`

    `OpsMetadata` object: `ResourceID` for tagging is created from the Amazon Resource Name (ARN) for the object. Specifically, `ResourceID` is created from the strings that come after the word `opsmetadata` in the ARN. For example, an OpsMetadata object with an ARN of `arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager` has a `ResourceID` of either `aws/ssm/MyGroup/appmanager` or `/aws/ssm/MyGroup/appmanager`.

    For the `Document` and `Parameter` values, use the name of the resource.

    `ManagedInstance`: `mi-012345abcde`

    <note markdown=“1”> The `ManagedInstance` type for this API operation is only for on-premises managed nodes. You must specify the name of the managed node 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.

    Don't enter personally identifiable information in this field.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


450
451
452
453
# File 'lib/aws-sdk-ssm/client.rb', line 450

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

Associates a related item to a Systems Manager OpsCenter OpsItem. For example, you can associate an Incident Manager incident or analysis with an OpsItem. Incident Manager and OpsCenter are capabilities of Amazon Web Services Systems Manager.

Examples:

Request syntax with placeholder values


resp = client.associate_ops_item_related_item({
  ops_item_id: "OpsItemId", # required
  association_type: "OpsItemRelatedItemAssociationType", # required
  resource_type: "OpsItemRelatedItemAssociationResourceType", # required
  resource_uri: "OpsItemRelatedItemAssociationResourceUri", # required
})

Response structure


resp.association_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :ops_item_id (required, String)

    The ID of the OpsItem to which you want to associate a resource as a related item.

  • :association_type (required, String)

    The type of association that you want to create between an OpsItem and a resource. OpsCenter supports `IsParentOf` and `RelatesTo` association types.

  • :resource_type (required, String)

    The type of resource that you want to associate with an OpsItem. OpsCenter supports the following types:

    `AWS::SSMIncidents::IncidentRecord`: an Incident Manager incident.

    `AWS::SSM::Document`: a Systems Manager (SSM) document.

  • :resource_uri (required, String)

    The Amazon Resource Name (ARN) of the Amazon Web Services resource that you want to associate with the OpsItem.

Returns:

See Also:


502
503
504
505
# File 'lib/aws-sdk-ssm/client.rb', line 502

def associate_ops_item_related_item(params = {}, options = {})
  req = build_request(:associate_ops_item_related_item, 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: {})

11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
# File 'lib/aws-sdk-ssm/client.rb', line 11393

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.126.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 managed node IDs on which you want to cancel the command. If not provided, the command is canceled on every node on which it was requested.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


532
533
534
535
# File 'lib/aws-sdk-ssm/client.rb', line 532

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 haven't 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:


562
563
564
565
# File 'lib/aws-sdk-ssm/client.rb', line 562

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

Generates an activation code and activation ID you can use to register your on-premises servers, edge devices, or virtual machine (VM) with Amazon Web Services Systems Manager. Registering these machines with Systems Manager makes it possible to manage them using Systems Manager capabilities. You use the activation code and ID when installing SSM Agent on machines in your hybrid environment. For more information about requirements for managing on-premises machines using Systems Manager, see [Setting up Amazon Web Services Systems Manager for hybrid environments] in the *Amazon Web Services Systems Manager User Guide*.

<note markdown=“1”> Amazon Elastic Compute Cloud (Amazon EC2) instances, edge devices, and on-premises servers and VMs that are configured for Systems Manager are all called *managed nodes*.

</note>

[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
    },
  ],
  registration_metadata: [
    {
      key: "RegistrationMetadataKey", # required
      value: "RegistrationMetadataValue", # 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 Systems Manager.

    Don't enter personally identifiable information in this field.

  • :default_instance_name (String)

    The name of the registered, managed node as it will appear in the Amazon Web Services Systems Manager console or when you use the Amazon Web Services command line tools to list Systems Manager resources.

    Don't enter personally identifiable information in this field.

  • :iam_role (required, String)

    The name of the Identity and Access Management (IAM) role that you want to assign to the managed node. This IAM role must provide AssumeRole permissions for the Amazon Web Services Systems Manager service principal `ssm.amazonaws.com`. For more information, see

    Create an IAM service role for a hybrid environment][1

    in the

    *Amazon Web Services Systems Manager User Guide*.

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

  • :registration_limit (Integer)

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

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

    The date by which this activation request should expire, in timestamp format, such as “2021-07-07T00:00:00”. You can specify a date up to 30 days in advance. If you don't provide an expiration date, the activation code expires in 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-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, edge devices, and VMs after they connect to Systems Manager for the first time and are assigned a managed node ID. This means they are listed in the Amazon Web Services Systems Manager console with an ID that is prefixed with “mi-”. For information about how to add tags to your managed nodes, see AddTagsToResource. For information about how to remove tags from your managed nodes, see RemoveTagsFromResource.

  • :registration_metadata (Array<Types::RegistrationMetadataItem>)

    Reserved for internal use.

Returns:

See Also:


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

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

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

A State Manager association defines the state that you want to maintain on your managed nodes. For example, an association can specify that anti-virus software must be installed and running on your managed nodes, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a capability of Amazon Web Services Systems Manager applies the configuration when new managed nodes are added to the group. The association also specifies actions to take when applying the configuration. For example, an association for anti-virus software might run once a day. If the software isn't installed, then State Manager installs it. If the software is installed, but the service isn't running, then the association might instruct State Manager to start the service.

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
  sync_compliance: "AUTO", # accepts AUTO, MANUAL
  apply_only_at_cron_interval: false,
  calendar_names: ["CalendarNameOrARN"],
  target_locations: [
    {
      accounts: ["Account"],
      regions: ["Region"],
      target_location_max_concurrency: "MaxConcurrency",
      target_location_max_errors: "MaxErrors",
      execution_role_name: "ExecutionRoleName",
    },
  ],
})

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"
resp.association_description.sync_compliance #=> String, one of "AUTO", "MANUAL"
resp.association_description.apply_only_at_cron_interval #=> Boolean
resp.association_description.calendar_names #=> Array
resp.association_description.calendar_names[0] #=> String
resp.association_description.target_locations #=> Array
resp.association_description.target_locations[0].accounts #=> Array
resp.association_description.target_locations[0].accounts[0] #=> String
resp.association_description.target_locations[0].regions #=> Array
resp.association_description.target_locations[0].regions[0] #=> String
resp.association_description.target_locations[0].target_location_max_concurrency #=> String
resp.association_description.target_locations[0].target_location_max_errors #=> String
resp.association_description.target_locations[0].execution_role_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the SSM Command document or Automation runbook that contains the configuration information for the managed node.

    You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another account.

    For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services 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 Amazon Web Services-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 managed node ID.

    <note markdown=“1”> `InstanceId` has been deprecated. To specify a managed node ID for an association, use the `Targets` parameter. Requests that include the parameter `InstanceID` with Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter `InstanceId`, you can't 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 for the association. You can target managed nodes by using tags, Amazon Web Services resource groups, all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed nodes in an Amazon Web Services account by specifying the `InstanceIds` key with a value of `*`. For more information about choosing targets for an association, see [Using targets and rate controls with State Manager associations] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state-manager-targets-and-rate-controls.html

  • :schedule_expression (String)

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

  • :output_location (Types::InstanceAssociationOutputLocation)

    An Amazon Simple Storage Service (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)

    Choose the parameter that will define how your automation will branch out. This target is required for associations that use an Automation runbook and target resources by using rate controls. Automation is a capability of Amazon Web Services Systems Manager.

  • :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 managed nodes 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 managed node 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 managed node will process its association within the limit specified for `MaxConcurrency`.

  • :compliance_severity (String)

    The severity level to assign to the association.

  • :sync_compliance (String)

    The mode for generating association compliance. You can specify `AUTO` or `MANUAL`. In `AUTO` mode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association is `COMPLIANT`. If the association execution doesn't run successfully, the association is `NON-COMPLIANT`.

    In `MANUAL` mode, you must specify the `AssociationId` as a parameter for the PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It is managed by your direct call to the PutComplianceItems API operation.

    By default, all associations use `AUTO` mode.

  • :apply_only_at_cron_interval (Boolean)

    By default, when you create a new association, the system runs it immediately after it is created and then according to the schedule you specified. Specify this option if you don't want an association to run immediately after you create it. This parameter isn't supported for rate expressions.

  • :calendar_names (Array<String>)

    The names or Amazon Resource Names (ARNs) of the Change Calendar type documents you want to gate your associations under. The associations only run when that change calendar is open. For more information, see [Amazon Web Services Systems Manager Change Calendar].

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar

  • :target_locations (Array<Types::TargetLocation>)

    A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the association. Use this action to create an association in multiple Regions and multiple accounts.

Returns:

See Also:


951
952
953
954
# File 'lib/aws-sdk-ssm/client.rb', line 951

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 Amazon Web Services Systems Manager document (SSM document) with the specified managed nodes or targets.

When you associate a document with one or more managed nodes using IDs or tags, Amazon Web Services Systems Manager Agent (SSM Agent) running on the managed node processes the document and configures the node as specified.

If you associate a document with a managed node 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
      sync_compliance: "AUTO", # accepts AUTO, MANUAL
      apply_only_at_cron_interval: false,
      calendar_names: ["CalendarNameOrARN"],
      target_locations: [
        {
          accounts: ["Account"],
          regions: ["Region"],
          target_location_max_concurrency: "MaxConcurrency",
          target_location_max_errors: "MaxErrors",
          execution_role_name: "ExecutionRoleName",
        },
      ],
    },
  ],
})

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.successful[0].sync_compliance #=> String, one of "AUTO", "MANUAL"
resp.successful[0].apply_only_at_cron_interval #=> Boolean
resp.successful[0].calendar_names #=> Array
resp.successful[0].calendar_names[0] #=> String
resp.successful[0].target_locations #=> Array
resp.successful[0].target_locations[0].accounts #=> Array
resp.successful[0].target_locations[0].accounts[0] #=> String
resp.successful[0].target_locations[0].regions #=> Array
resp.successful[0].target_locations[0].regions[0] #=> String
resp.successful[0].target_locations[0].target_location_max_concurrency #=> String
resp.successful[0].target_locations[0].target_location_max_errors #=> String
resp.successful[0].target_locations[0].execution_role_name #=> String
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].entry.sync_compliance #=> String, one of "AUTO", "MANUAL"
resp.failed[0].entry.apply_only_at_cron_interval #=> Boolean
resp.failed[0].entry.calendar_names #=> Array
resp.failed[0].entry.calendar_names[0] #=> String
resp.failed[0].entry.target_locations #=> Array
resp.failed[0].entry.target_locations[0].accounts #=> Array
resp.failed[0].entry.target_locations[0].accounts[0] #=> String
resp.failed[0].entry.target_locations[0].regions #=> Array
resp.failed[0].entry.target_locations[0].regions[0] #=> String
resp.failed[0].entry.target_locations[0].target_location_max_concurrency #=> String
resp.failed[0].entry.target_locations[0].target_location_max_errors #=> String
resp.failed[0].entry.target_locations[0].execution_role_name #=> String
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:


1109
1110
1111
1112
# File 'lib/aws-sdk-ssm/client.rb', line 1109

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 Amazon Web Services Systems Manager (SSM document). An SSM document defines the actions that Systems Manager performs on your managed nodes. For more information about SSM documents, including information about supported schemas, features, and syntax, see [Amazon Web Services Systems Manager Documents] in the *Amazon Web Services Systems Manager User Guide*.

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

Examples:

Request syntax with placeholder values


resp = client.create_document({
  content: "DocumentContent", # required
  requires: [
    {
      name: "DocumentARN", # required
      version: "DocumentVersion",
    },
  ],
  attachments: [
    {
      key: "SourceUrl", # accepts SourceUrl, S3FileUrl, AttachmentReference
      values: ["AttachmentsSourceValue"],
      name: "AttachmentIdentifier",
    },
  ],
  name: "DocumentName", # required
  display_name: "DocumentDisplayName",
  version_name: "DocumentVersionName",
  document_type: "Command", # accepts Command, Policy, Automation, Session, Package, ApplicationConfiguration, ApplicationConfigurationSchema, DeploymentStrategy, ChangeCalendar, Automation.ChangeTemplate, ProblemAnalysis, ProblemAnalysisTemplate
  document_format: "YAML", # accepts YAML, JSON, TEXT
  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.display_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", "MacOS"
resp.document_description.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar", "Automation.ChangeTemplate", "ProblemAnalysis", "ProblemAnalysisTemplate"
resp.document_description.schema_version #=> String
resp.document_description.latest_version #=> String
resp.document_description.default_version #=> String
resp.document_description.document_format #=> String, one of "YAML", "JSON", "TEXT"
resp.document_description.target_type #=> String
resp.document_description.tags #=> Array
resp.document_description.tags[0].key #=> String
resp.document_description.tags[0].value #=> String
resp.document_description.attachments_information #=> Array
resp.document_description.attachments_information[0].name #=> String
resp.document_description.requires #=> Array
resp.document_description.requires[0].name #=> String
resp.document_description.requires[0].version #=> String
resp.document_description.author #=> String
resp.document_description.review_information #=> Array
resp.document_description.review_information[0].reviewed_time #=> Time
resp.document_description.review_information[0].status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"
resp.document_description.review_information[0].reviewer #=> String
resp.document_description.approved_version #=> String
resp.document_description.pending_review_version #=> String
resp.document_description.review_status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"

Parameters:

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

    ({})

Options Hash (params):

  • :content (required, String)

    The content for the new SSM document in JSON or YAML format. We recommend storing the contents for your new document in an external JSON or YAML file and referencing the file in a command.

    For examples, see the following topics in the *Amazon Web Services Systems Manager User Guide*.

    • Create an SSM document (Amazon Web Services API)][1
    • Create an SSM document (Amazon Web Services CLI)][2
    • Create an SSM document (API)][1

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-api.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/create-ssm-document-cli.html

  • :requires (Array<Types::DocumentRequires>)

    A list of SSM documents required by a document. This parameter is used exclusively by AppConfig. When a user creates an AppConfig configuration in an SSM document, the user must also specify a required document for validation purposes. In this case, an `ApplicationConfiguration` document requires an `ApplicationConfigurationSchema` document for validation purposes. For more information, see [What is AppConfig?] in the *AppConfig User Guide*.

    [1]: docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html

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

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

  • :name (required, String)

    A name for the SSM document.

    You can't use the following strings as document name prefixes. These are reserved by Amazon Web Services for use as document name prefixes:

    * `aws-`
    
    • `amazon`

    • `amzn`

  • :display_name (String)

    An optional field where you can specify a friendly name for the SSM document. This value can differ for each version of the document. You can update this value at a later time using the UpdateDocument operation.

  • :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 can't be changed.

  • :document_type (String)

    The type of document to create.

  • :document_format (String)

    Specify the document format for the request. The document format can be JSON, YAML, or TEXT. 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 [Amazon Web Services resource and property types reference] in the *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-value pairs:

    • `Key=OS,Value=Windows`

    • `Key=Environment,Value=Production`

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

    </note>
    

Returns:

See Also:


1305
1306
1307
1308
# File 'lib/aws-sdk-ssm/client.rb', line 1305

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",
  schedule_offset: 1,
  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”, “UTC”, or “Asia/Seoul”. For more information, see the [Time Zone Database] on the IANA website.

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

  • :schedule_offset (Integer)

    The number of days to wait after the date and time specified by a cron expression before running the maintenance window.

    For example, the following cron expression schedules a maintenance window to run on the third Tuesday of every month at 11:30 PM.

    `cron(30 23 ? * TUE#3 *)`

    If the schedule offset is `2`, the maintenance window won't run until two days later.

  • :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 Amazon Web Services Systems Manager stops scheduling new tasks for execution.

  • :allow_unassociated_targets (required, Boolean)

    Enables a maintenance window task to run on managed nodes, even if you haven't registered those nodes as targets. If enabled, then you must specify the unregistered managed nodes (by node 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-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 operation.

    </note>
    

Returns:

See Also:


1444
1445
1446
1447
# File 'lib/aws-sdk-ssm/client.rb', line 1444

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 Identity and Access Management (IAM) to create a new OpsItem. For more information, see

Getting started with OpsCenter][1

in the *Amazon Web Services

Systems Manager User Guide*.

Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their Amazon Web Services resources. For more information, see [Amazon Web Services Systems Manager OpsCenter] in the *Amazon Web Services 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
  ops_item_type: "OpsItemType",
  operational_data: {
    "OpsItemDataKey" => {
      value: "OpsItemDataValueString",
      type: "SearchableString", # accepts SearchableString, String
    },
  },
  notifications: [
    {
      arn: "String",
    },
  ],
  priority: 1,
  related_ops_items: [
    {
      ops_item_id: "String", # required
    },
  ],
  source: "OpsItemSource", # required
  title: "OpsItemTitle", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  category: "OpsItemCategory",
  severity: "OpsItemSeverity",
  actual_start_time: Time.now,
  actual_end_time: Time.now,
  planned_start_time: Time.now,
  planned_end_time: Time.now,
})

Response structure


resp.ops_item_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :description (required, String)

    Information about the OpsItem.

  • :ops_item_type (String)

    The type of OpsItem to create. Currently, the only valid values are `/aws/changerequest` and `/aws/issue`.

  • :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 operation) can view and search on the specified data. Operational data that isn't searchable is only viewable by users who have access to the OpsItem (as provided by the GetOpsItem API operation).

    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 Amazon Web Services CLI example commands that use these keys, see [Creating OpsItems manually] in the *Amazon Web Services 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 Systems Manager.

    <note markdown=“1”> The source name can't contain the following strings: `aws`, `amazon`, and `amzn`.

    </note>
    
  • :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 *Amazon Web Services Systems Manager User Guide*.

    Tags use a key-value pair. For example:

    `Key=Department,Value=Finance`

    To add tags to a new OpsItem, a user must have IAM permissions for both the `ssm:CreateOpsItems` operation and the `ssm:AddTagsToResource` operation. To add tags to an existing OpsItem, use the AddTagsToResource operation.

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

  • :category (String)

    Specify a category to assign to an OpsItem.

  • :severity (String)

    Specify a severity to assign to an OpsItem.

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

    The time a runbook workflow started. Currently reported only for the OpsItem type `/aws/changerequest`.

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

    The time a runbook workflow ended. Currently reported only for the OpsItem type `/aws/changerequest`.

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

    The time specified in a change request for a runbook workflow to start. Currently supported only for the OpsItem type `/aws/changerequest`.

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

    The time specified in a change request for a runbook workflow to end. Currently supported only for the OpsItem type `/aws/changerequest`.

Returns:

See Also:


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

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

#create_ops_metadata(params = {}) ⇒ Types::CreateOpsMetadataResult

If you create a new application in Application Manager, Amazon Web Services Systems Manager calls this API operation to specify information about the new application, including the application type.

Examples:

Request syntax with placeholder values


resp = client.({
  resource_id: "OpsMetadataResourceId", # required
  metadata: {
    "MetadataKey" => {
      value: "MetadataValueString",
    },
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp. #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_id (required, String)

    A resource ID for a new Application Manager application.

  • :metadata (Hash<String,Types::MetadataValue>)

    Metadata for a new Application Manager application.

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

    Optional metadata that you assign to a resource. You can specify a maximum of five tags for an OpsMetadata object. 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 OpsMetadata object to identify an environment or target Amazon Web Services Region. In this case, you could specify the following key-value pairs:

    • `Key=Environment,Value=Production`

    • `Key=Region,Value=us-east-2`

Returns:

See Also:


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

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

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

Creates a patch baseline.

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

</note>

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, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN
  name: "BaselineName", # required
  global_filters: {
    patch_filters: [ # required
      {
        key: "ARCH", # required, accepts ARCH, ADVISORY_ID, BUGZILLA_ID, PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, CVE_ID, EPOCH, MSRC_SEVERITY, NAME, PATCH_ID, SECTION, PRIORITY, REPOSITORY, RELEASE, SEVERITY, SECURITY, VERSION
        values: ["PatchFilterValue"], # required
      },
    ],
  },
  approval_rules: {
    patch_rules: [ # required
      {
        patch_filter_group: { # required
          patch_filters: [ # required
            {
              key: "ARCH", # required, accepts ARCH, ADVISORY_ID, BUGZILLA_ID, PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, CVE_ID, EPOCH, MSRC_SEVERITY, NAME, PATCH_ID, SECTION, PRIORITY, REPOSITORY, RELEASE, SEVERITY, SECURITY, VERSION
              values: ["PatchFilterValue"], # required
            },
          ],
        },
        compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
        approve_after_days: 1,
        approve_until_date: "PatchStringDateTime",
        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 [About package name formats for approved and rejected patch lists] in the *Amazon Web Services 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. When an approved patch is reported as missing, this value describes 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 managed nodes. The default value is `false`. Applies to Linux managed nodes 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 [About package name formats for approved and rejected patch lists] in the *Amazon Web Services 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, aren't 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 managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes 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-value pairs:

    • `Key=PatchSeverity,Value=Critical`

    • `Key=OS,Value=Windows`

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

    </note>
    

Returns:

See Also:


1848
1849
1850
1851
# File 'lib/aws-sdk-ssm/client.rb', line 1848

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

#create_resource_data_sync(params = {}) ⇒ Struct

A resource data sync helps you view data from multiple sources in a single location. Amazon Web Services Systems Manager offers two types of resource data sync: `SyncToDestination` and `SyncFromSource`.

You can configure Systems Manager Inventory to use the `SyncToDestination` type to synchronize Inventory data from multiple Amazon Web Services Regions to a single Amazon Simple Storage Service (Amazon S3) bucket. For more information, see [Configuring resource data sync for Inventory] in the *Amazon Web Services Systems Manager User Guide*.

You can configure Systems Manager Explorer to use the `SyncFromSource` type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple Amazon Web Services Regions to a single Amazon S3 bucket. This type can synchronize OpsItems and OpsData from multiple Amazon Web Services accounts and Amazon Web Services Regions or `EntireOrganization` by using Organizations. For more information, see [Setting up Systems Manager Explorer to display data from multiple accounts and Regions] in the *Amazon Web Services Systems Manager User Guide*.

A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data. To check the status of a sync, use the ListResourceDataSync.

<note markdown=“1”> By default, data isn't 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.

</note>

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-inventory-datasync.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html

Examples:

Request syntax with placeholder values


resp = client.create_resource_data_sync({
  sync_name: "ResourceDataSyncName", # required
  s3_destination: {
    bucket_name: "ResourceDataSyncS3BucketName", # required
    prefix: "ResourceDataSyncS3Prefix",
    sync_format: "JsonSerDe", # required, accepts JsonSerDe
    region: "ResourceDataSyncS3Region", # required
    awskms_key_arn: "ResourceDataSyncAWSKMSKeyARN",
    destination_data_sharing: {
      destination_data_sharing_type: "ResourceDataSyncDestinationDataSharingType",
    },
  },
  sync_type: "ResourceDataSyncType",
  sync_source: {
    source_type: "ResourceDataSyncSourceType", # required
    aws_organizations_source: {
      organization_source_type: "ResourceDataSyncOrganizationSourceType", # required
      organizational_units: [
        {
          organizational_unit_id: "ResourceDataSyncOrganizationalUnitId",
        },
      ],
    },
    source_regions: ["ResourceDataSyncSourceRegion"], # required
    include_future_regions: false,
    enable_all_ops_data_sources: false,
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :sync_name (required, String)

    A name for the configuration.

  • :s3_destination (Types::ResourceDataSyncS3Destination)

    Amazon S3 configuration details for the sync. This parameter is required if the `SyncType` value is SyncToDestination.

  • :sync_type (String)

    Specify `SyncToDestination` to create a resource data sync that synchronizes data to an S3 bucket for Inventory. If you specify `SyncToDestination`, you must provide a value for `S3Destination`. Specify `SyncFromSource` to synchronize data from a single account and multiple Regions, or multiple Amazon Web Services accounts and Amazon Web Services Regions, as listed in Organizations for Explorer. If you specify `SyncFromSource`, you must provide a value for `SyncSource`. The default value is `SyncToDestination`.

  • :sync_source (Types::ResourceDataSyncSource)

    Specify information about the data sources to synchronize. This parameter is required if the `SyncType` value is SyncFromSource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


1949
1950
1951
1952
# File 'lib/aws-sdk-ssm/client.rb', line 1949

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 aren't required to delete an activation. If you delete an activation, you can no longer use it to register additional managed nodes. Deleting an activation doesn't de-register managed nodes. You must manually de-register managed nodes.

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:


1974
1975
1976
1977
# File 'lib/aws-sdk-ssm/client.rb', line 1974

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

#delete_association(params = {}) ⇒ Struct

Disassociates the specified Amazon Web Services Systems Manager document (SSM document) from the specified managed node. If you created the association by using the `Targets` parameter, then you must delete the association by using the association ID.

When you disassociate a document from a managed node, it doesn't change the configuration of the node. To change the configuration state of a managed node after you disassociate a document, you must create a new document with the desired configuration and associate it with the node.

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 SSM document.

  • :instance_id (String)

    The managed node ID.

    <note markdown=“1”> `InstanceId` has been deprecated. To specify a managed node ID for an association, use the `Targets` parameter. Requests that include the parameter `InstanceID` with Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter `InstanceId`, you can't use the parameters `AssociationName`, `DocumentVersion`, `MaxErrors`, `MaxConcurrency`, `OutputLocation`, or `ScheduleExpression`. To use these parameters, you must use the `Targets` parameter.

    </note>
    
  • :association_id (String)

    The association ID that you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


2024
2025
2026
2027
# File 'lib/aws-sdk-ssm/client.rb', line 2024

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

#delete_document(params = {}) ⇒ Struct

Deletes the Amazon Web Services Systems Manager document (SSM document) and all managed node associations to the document.

Before you delete the document, we recommend that you use DeleteAssociation to disassociate all managed nodes 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",
  force: false,
})

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.

  • :force (Boolean)

    Some SSM document types require that you specify a `Force` flag before you can delete the document. For example, you must specify a `Force` flag to delete a document of type `ApplicationConfigurationSchema`. You can restrict access to the `Force` flag in an Identity and Access Management (IAM) policy.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


2069
2070
2071
2072
# File 'lib/aws-sdk-ssm/client.rb', line 2069

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

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` operation 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:


2139
2140
2141
2142
# File 'lib/aws-sdk-ssm/client.rb', line 2139

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:


2167
2168
2169
2170
# File 'lib/aws-sdk-ssm/client.rb', line 2167

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

#delete_ops_metadata(params = {}) ⇒ Struct

Delete OpsMetadata related to an application.

Examples:

Request syntax with placeholder values


resp = client.({
  ops_metadata_arn: "OpsMetadataArn", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :ops_metadata_arn (required, String)

    The Amazon Resource Name (ARN) of an OpsMetadata Object to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


2189
2190
2191
2192
# File 'lib/aws-sdk-ssm/client.rb', line 2189

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

#delete_parameter(params = {}) ⇒ Struct

Delete a parameter from the system. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.

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:


2212
2213
2214
2215
# File 'lib/aws-sdk-ssm/client.rb', line 2212

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. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.

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. After deleting a parameter, wait for at least 30 seconds to create a parameter with the same name.

Returns:

See Also:


2246
2247
2248
2249
# File 'lib/aws-sdk-ssm/client.rb', line 2246

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:


2274
2275
2276
2277
# File 'lib/aws-sdk-ssm/client.rb', line 2274

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 data on managed nodes are no longer synced to or from the target. Deleting a sync configuration doesn't delete data.

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :sync_name (required, String)

    The name of the configuration to delete.

  • :sync_type (String)

    Specify the type of resource data sync to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


2302
2303
2304
2305
# File 'lib/aws-sdk-ssm/client.rb', line 2302

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 node 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 node when you registered it using the activation process.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


2328
2329
2330
2331
# File 'lib/aws-sdk-ssm/client.rb', line 2328

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:


2363
2364
2365
2366
# File 'lib/aws-sdk-ssm/client.rb', line 2363

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 doesn't deregister the target from the maintenance window.

Returns:

See Also:


2403
2404
2405
2406
# File 'lib/aws-sdk-ssm/client.rb', line 2403

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:


2437
2438
2439
2440
# File 'lib/aws-sdk-ssm/client.rb', line 2437

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 Identity and Access Management (IAM) role assigned to the managed nodes in the activation, and the number of nodes registered by using this activation.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


2500
2501
2502
2503
# File 'lib/aws-sdk-ssm/client.rb', line 2500

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 managed node. If you created the association by using the `Targets` parameter, then you must retrieve the association by using the association 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"
resp.association_description.sync_compliance #=> String, one of "AUTO", "MANUAL"
resp.association_description.apply_only_at_cron_interval #=> Boolean
resp.association_description.calendar_names #=> Array
resp.association_description.calendar_names[0] #=> String
resp.association_description.target_locations #=> Array
resp.association_description.target_locations[0].accounts #=> Array
resp.association_description.target_locations[0].accounts[0] #=> String
resp.association_description.target_locations[0].regions #=> Array
resp.association_description.target_locations[0].regions[0] #=> String
resp.association_description.target_locations[0].target_location_max_concurrency #=> String
resp.association_description.target_locations[0].target_location_max_errors #=> String
resp.association_description.target_locations[0].execution_role_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (String)

    The name of the SSM document.

  • :instance_id (String)

    The managed node 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 a managed node, use ListAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

Returns:

See Also:


2590
2591
2592
2593
# File 'lib/aws-sdk-ssm/client.rb', line 2590

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

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

Views information about a specific execution of a specific association.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


2665
2666
2667
2668
# File 'lib/aws-sdk-ssm/client.rb', line 2665

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

Views all executions for a specific association ID.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


2734
2735
2736
2737
# File 'lib/aws-sdk-ssm/client.rb', line 2734

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_automation_executions({
  filters: [
    {
      key: "DocumentNamePrefix", # required, accepts DocumentNamePrefix, ExecutionStatus, ExecutionId, ParentExecutionId, CurrentAction, StartTimeBefore, StartTimeAfter, AutomationType, TagKey, TargetResourceGroup, AutomationSubtype, OpsItemId
      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", "PendingApproval", "Approved", "Rejected", "Scheduled", "RunbookInProgress", "PendingChangeCalendarOverride", "ChangeCalendarOverrideApproved", "ChangeCalendarOverrideRejected", "CompletedWithSuccess", "CompletedWithFailure"
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.[0].automation_subtype #=> String, one of "ChangeRequest"
resp.[0].scheduled_time #=> Time
resp.[0].runbooks #=> Array
resp.[0].runbooks[0].document_name #=> String
resp.[0].runbooks[0].document_version #=> String
resp.[0].runbooks[0].parameters #=> Hash
resp.[0].runbooks[0].parameters["AutomationParameterKey"] #=> Array
resp.[0].runbooks[0].parameters["AutomationParameterKey"][0] #=> String
resp.[0].runbooks[0].target_parameter_name #=> String
resp.[0].runbooks[0].targets #=> Array
resp.[0].runbooks[0].targets[0].key #=> String
resp.[0].runbooks[0].targets[0].values #=> Array
resp.[0].runbooks[0].targets[0].values[0] #=> String
resp.[0].runbooks[0].max_concurrency #=> String
resp.[0].runbooks[0].max_errors #=> String
resp.[0].runbooks[0].target_locations #=> Array
resp.[0].runbooks[0].target_locations[0].accounts #=> Array
resp.[0].runbooks[0].target_locations[0].accounts[0] #=> String
resp.[0].runbooks[0].target_locations[0].regions #=> Array
resp.[0].runbooks[0].target_locations[0].regions[0] #=> String
resp.[0].runbooks[0].target_locations[0].target_location_max_concurrency #=> String
resp.[0].runbooks[0].target_locations[0].target_location_max_errors #=> String
resp.[0].runbooks[0].target_locations[0].execution_role_name #=> String
resp.[0].ops_item_id #=> String
resp.[0].association_id #=> String
resp.[0].change_request_name #=> String
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:


2841
2842
2843
2844
# File 'lib/aws-sdk-ssm/client.rb', line 2841

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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", "PendingApproval", "Approved", "Rejected", "Scheduled", "RunbookInProgress", "PendingChangeCalendarOverride", "ChangeCalendarOverrideApproved", "ChangeCalendarOverrideRejected", "CompletedWithSuccess", "CompletedWithFailure"
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)

    Indicates whether to list step executions in reverse order by start time. The default value is 'false'.

Returns:

See Also:


2942
2943
2944
2945
# File 'lib/aws-sdk-ssm/client.rb', line 2942

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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.patches[0].advisory_ids #=> Array
resp.patches[0].advisory_ids[0] #=> String
resp.patches[0].bugzilla_ids #=> Array
resp.patches[0].bugzilla_ids[0] #=> String
resp.patches[0].cve_ids #=> Array
resp.patches[0].cve_ids[0] #=> String
resp.patches[0].name #=> String
resp.patches[0].epoch #=> Integer
resp.patches[0].version #=> String
resp.patches[0].release #=> String
resp.patches[0].arch #=> String
resp.patches[0].severity #=> String
resp.patches[0].repository #=> String
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 a key-value pair.

    **Windows Server**

    Supported keys for Windows Server managed node patches include the following:

    • PATCH_SET

      Sample values: `OS` | `APPLICATION`

    • PRODUCT

      Sample values: `WindowsServer2012` | `Office 2010` | `MicrosoftDefenderAntivirus`

    • PRODUCT_FAMILY

      Sample values: `Windows` | `Office`

    • MSRC_SEVERITY

      Sample values: `ServicePacks` | `Important` | `Moderate`

    • CLASSIFICATION

      Sample values: `ServicePacks` | `SecurityUpdates` | `DefinitionUpdates`

    • PATCH_ID

      Sample values: `KB123456` | `KB4516046`

    Linux

    When specifying filters for Linux patches, you must specify a key-pair for `PRODUCT`. For example, using the Command Line Interface (CLI), the following command fails:

    `aws ssm describe-available-patches --filters
    

    Key=CVE_ID,Values=CVE-2018-3615`

    However, the following command succeeds:
    
    `aws ssm describe-available-patches --filters
    

    Key=PRODUCT,Values=AmazonLinux2018.03 Key=CVE_ID,Values=CVE-2018-3615`

    Supported keys for Linux managed node patches include the following:

    • PRODUCT

      Sample values: `AmazonLinux2018.03` | `AmazonLinux2.0`

    • NAME

      Sample values: `kernel-headers` | `samba-python` | `php`

    • SEVERITY

      Sample values: `Critical` | `Important` | `Medium` | `Low`

    • EPOCH

      Sample values: `0` | `1`

    • VERSION

      Sample values: `78.6.1` | `4.10.16`

    • RELEASE

      Sample values: `9.56.amzn1` | `1.amzn2`

    • ARCH

      Sample values: `i686` | `x86_64`

    • REPOSITORY

      Sample values: `Core` | `Updates`

    • ADVISORY_ID

      Sample values: `ALAS-2018-1058` | `ALAS2-2021-1594`

    • CVE_ID

      Sample values: `CVE-2018-3615` | `CVE-2020-1472`

    • BUGZILLA_ID

      Sample values: `1463241`

  • :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:


3105
3106
3107
3108
# File 'lib/aws-sdk-ssm/client.rb', line 3105

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 Amazon Web Services Systems Manager document (SSM 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.display_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", "MacOS"
resp.document.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar", "Automation.ChangeTemplate", "ProblemAnalysis", "ProblemAnalysisTemplate"
resp.document.schema_version #=> String
resp.document.latest_version #=> String
resp.document.default_version #=> String
resp.document.document_format #=> String, one of "YAML", "JSON", "TEXT"
resp.document.target_type #=> String
resp.document.tags #=> Array
resp.document.tags[0].key #=> String
resp.document.tags[0].value #=> String
resp.document.attachments_information #=> Array
resp.document.attachments_information[0].name #=> String
resp.document.requires #=> Array
resp.document.requires[0].name #=> String
resp.document.requires[0].version #=> String
resp.document.author #=> String
resp.document.review_information #=> Array
resp.document.review_information[0].reviewed_time #=> Time
resp.document.review_information[0].status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"
resp.document.review_information[0].reviewer #=> String
resp.document.approved_version #=> String
resp.document.pending_review_version #=> String
resp.document.review_status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the SSM 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 can't be changed.

Returns:

See Also:


3185
3186
3187
3188
# File 'lib/aws-sdk-ssm/client.rb', line 3185

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 Amazon Web Services Systems Manager document (SSM 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 Amazon Web Services 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
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp. #=> Array
resp.[0] #=> String
resp. #=> Array
resp.[0]. #=> String
resp.[0].shared_document_version #=> String
resp.next_token #=> 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.

  • :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:


3240
3241
3242
3243
# File 'lib/aws-sdk-ssm/client.rb', line 3240

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 managed node(s).

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 managed node 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:


3287
3288
3289
3290
# File 'lib/aws-sdk-ssm/client.rb', line 3287

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. Applies to patch baselines for Windows only.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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.advisory_ids #=> Array
resp.effective_patches[0].patch.advisory_ids[0] #=> String
resp.effective_patches[0].patch.bugzilla_ids #=> Array
resp.effective_patches[0].patch.bugzilla_ids[0] #=> String
resp.effective_patches[0].patch.cve_ids #=> Array
resp.effective_patches[0].patch.cve_ids[0] #=> String
resp.effective_patches[0].patch.name #=> String
resp.effective_patches[0].patch.epoch #=> Integer
resp.effective_patches[0].patch.version #=> String
resp.effective_patches[0].patch.release #=> String
resp.effective_patches[0].patch.arch #=> String
resp.effective_patches[0].patch.severity #=> String
resp.effective_patches[0].patch.repository #=> 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:


3359
3360
3361
3362
# File 'lib/aws-sdk-ssm/client.rb', line 3359

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 managed node(s).

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 managed node 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:


3415
3416
3417
3418
# File 'lib/aws-sdk-ssm/client.rb', line 3415

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 managed nodes, including information about the operating system platform, the version of SSM Agent installed on the managed node, node status, and so on.

If you specify one or more managed node IDs, it returns information for those managed nodes. If you don't specify node IDs, it returns information for all your managed nodes. If you specify a node ID that isn't valid or a node that you don't own, you receive an error.

<note markdown=“1”> The `IamRole` field for this API operation is the Identity and Access Management (IAM) role assigned to on-premises managed nodes. This call doesn't return the IAM role for EC2 instances.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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", "MacOS"
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.instance_information_list[0].source_id #=> String
resp.instance_information_list[0].source_type #=> String, one of "AWS::EC2::Instance", "AWS::IoT::Thing", "AWS::SSM::ManagedInstance"
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 `Filters` data type. `Filters` enables you to return node information by filtering based on tags applied to managed nodes.

    <note markdown=“1”> Attempting to use `InstanceInformationFilterList` and `Filters` leads to an exception error.

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

    One or more filters. Use a filter to return a more specific list of managed nodes. You can filter based on tags applied to EC2 instances. Use this `Filters` data type instead of `InstanceInformationFilterList`, which is deprecated.

  • :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:


3518
3519
3520
3521
# File 'lib/aws-sdk-ssm/client.rb', line 3518

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 managed nodes.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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_pending_reboot_count #=> Integer
resp.instance_patch_states[0].installed_rejected_count #=> Integer
resp.instance_patch_states[0].missing_count #=> Integer
resp.instance_patch_states[0].failed_count #=> Integer
resp.instance_patch_states[0].unreported_not_applicable_count #=> Integer
resp.instance_patch_states[0].not_applicable_count #=> Integer
resp.instance_patch_states[0].operation_start_time #=> Time
resp.instance_patch_states[0].operation_end_time #=> Time
resp.instance_patch_states[0].operation #=> String, one of "Scan", "Install"
resp.instance_patch_states[0].last_no_reboot_install_operation_time #=> Time
resp.instance_patch_states[0].reboot_option #=> String, one of "RebootIfNeeded", "NoReboot"
resp.instance_patch_states[0].critical_non_compliant_count #=> Integer
resp.instance_patch_states[0].security_non_compliant_count #=> Integer
resp.instance_patch_states[0].other_non_compliant_count #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_ids (required, Array<String>)

    The ID of the managed node for which 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 managed nodes to return (per page).

Returns:

See Also:


3582
3583
3584
3585
# File 'lib/aws-sdk-ssm/client.rb', line 3582

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 managed nodes in the specified patch group.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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_pending_reboot_count #=> Integer
resp.instance_patch_states[0].installed_rejected_count #=> Integer
resp.instance_patch_states[0].missing_count #=> Integer
resp.instance_patch_states[0].failed_count #=> Integer
resp.instance_patch_states[0].unreported_not_applicable_count #=> Integer
resp.instance_patch_states[0].not_applicable_count #=> Integer
resp.instance_patch_states[0].operation_start_time #=> Time
resp.instance_patch_states[0].operation_end_time #=> Time
resp.instance_patch_states[0].operation #=> String, one of "Scan", "Install"
resp.instance_patch_states[0].last_no_reboot_install_operation_time #=> Time
resp.instance_patch_states[0].reboot_option #=> String, one of "RebootIfNeeded", "NoReboot"
resp.instance_patch_states[0].critical_non_compliant_count #=> Integer
resp.instance_patch_states[0].security_non_compliant_count #=> Integer
resp.instance_patch_states[0].other_non_compliant_count #=> Integer
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:


3663
3664
3665
3666
# File 'lib/aws-sdk-ssm/client.rb', line 3663

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 managed node and their state relative to the patch baseline being used for the node.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

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

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

    Each element in the array is a structure containing a key-value pair.

    Supported keys for `DescribeInstancePatches`include the following:

    • Classification

      Sample values: `Security` | `SecurityUpdates`

    • KBId

      Sample values: `KB4480056` | `java-1.7.0-openjdk.x86_64`

    • Severity

      Sample values: `Important` | `Medium` | `Low`

    • State

      Sample values: `Installed` | `InstalledOther` | `InstalledPendingReboot`

  • :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:


3742
3743
3744
3745
# File 'lib/aws-sdk-ssm/client.rb', line 3742

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.describe_inventory_deletions({
  deletion_id: "UUID",
  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` operation.

  • :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:


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

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


3871
3872
3873
3874
# File 'lib/aws-sdk-ssm/client.rb', line 3871

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


3936
3937
3938
3939
# File 'lib/aws-sdk-ssm/client.rb', line 3936

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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. A string between 1 and 128 characters. Supported keys include `ExecutedBefore` and `ExecutedAfter`.

    • Values. An array of strings, each between 1 and 256 characters. Supported values are date/time strings in a valid ISO 8601 date/time format, such as `2021-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:


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

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 managed node 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:


4076
4077
4078
4079
# File 'lib/aws-sdk-ssm/client.rb', line 4076

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


4140
4141
4142
4143
# File 'lib/aws-sdk-ssm/client.rb', line 4140

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.

<note markdown=“1”> For maintenance window tasks without a specified target, you can't supply values for `–max-errors` and `–max-concurrency`. Instead, the system inserts a placeholder value of `1`, which may be reported in the response to this command. These values don't affect the running of your task and can be ignored.

</note>

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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.tasks[0].cutoff_behavior #=> String, one of "CONTINUE_TASK", "CANCEL_TASK"
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:


4223
4224
4225
4226
# File 'lib/aws-sdk-ssm/client.rb', line 4223

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 Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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].schedule_offset #=> Integer
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`. For example, `Name=MyMaintenanceWindow` and `Enabled=True`.

  • :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:


4285
4286
4287
4288
# File 'lib/aws-sdk-ssm/client.rb', line 4285

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 a managed node is associated with.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 managed node 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:


4341
4342
4343
4344
# File 'lib/aws-sdk-ssm/client.rb', line 4341

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 Identity and Access Management (IAM) to query a list of OpsItems. For more information, see [Getting started with OpsCenter] in the *Amazon Web Services Systems Manager User Guide*.

Operations engineers and IT professionals use Amazon Web Services Systems Manager OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their Amazon Web Services resources. For more information, see

OpsCenter][2

in the *Amazon Web Services 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

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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, ActualStartTime, ActualEndTime, PlannedStartTime, PlannedEndTime, OperationalData, OperationalDataKey, OperationalDataValue, ResourceId, AutomationId, Category, Severity, OpsItemType, ChangeRequestByRequesterArn, ChangeRequestByRequesterName, ChangeRequestByApproverArn, ChangeRequestByApproverName, ChangeRequestByTemplate, ChangeRequestByTargetsResourceGroup, InsightByType
      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", "Pending", "TimedOut", "Cancelling", "Cancelled", "Failed", "CompletedWithSuccess", "CompletedWithFailure", "Scheduled", "RunbookInProgress", "PendingChangeCalendarOverride", "ChangeCalendarOverrideApproved", "ChangeCalendarOverrideRejected", "PendingApproval", "Approved", "Rejected", "Closed"
resp.ops_item_summaries[0].ops_item_id #=> String
resp.ops_item_summaries[0].title #=> String
resp.ops_item_summaries[0].operational_data #=> Hash
resp.ops_item_summaries[0].operational_data["OpsItemDataKey"].value #=> String
resp.ops_item_summaries[0].operational_data["OpsItemDataKey"].type #=> String, one of "SearchableString", "String"
resp.ops_item_summaries[0].category #=> String
resp.ops_item_summaries[0].severity #=> String
resp.ops_item_summaries[0].ops_item_type #=> String
resp.ops_item_summaries[0].actual_start_time #=> Time
resp.ops_item_summaries[0].actual_end_time #=> Time
resp.ops_item_summaries[0].planned_start_time #=> Time
resp.ops_item_summaries[0].planned_end_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

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

    One or more filters to limit the response.

    • 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: Equals,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

    *The Equals operator for Title matches the first 100 characters. If you specify more than 100 characters, they system returns an error that the filter value exceeds the length limit.

    **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:


4484
4485
4486
4487
# File 'lib/aws-sdk-ssm/client.rb', line 4484

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.

If you change the KMS key alias for the KMS key used to encrypt a parameter, then you must also update the key alias the parameter uses to reference KMS. Otherwise, `DescribeParameters` retrieves whatever the original key alias was referencing.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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.parameters[0].data_type #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    This data type is deprecated. Instead, use `ParameterFilters`.

  • :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:


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

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 Amazon Web Services account.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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", "ORACLE_LINUX", "DEBIAN", "MACOS", "RASPBIAN"
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 a key-value pair.

    Supported keys for `DescribePatchBaselines` include the following:

    • NAME_PREFIX

      Sample values: `AWS-` | `My-`

    • OWNER

      Sample values: `AWS` | `Self`

    • OPERATING_SYSTEM

      Sample values: `AMAZON_LINUX` | `SUSE` | `WINDOWS`

  • :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:


4635
4636
4637
4638
# File 'lib/aws-sdk-ssm/client.rb', line 4635

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 information 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_pending_reboot_patches #=> Integer
resp.instances_with_installed_rejected_patches #=> Integer
resp.instances_with_missing_patches #=> Integer
resp.instances_with_failed_patches #=> Integer
resp.instances_with_not_applicable_patches #=> Integer
resp.instances_with_unreported_not_applicable_patches #=> Integer
resp.instances_with_critical_non_compliant_patches #=> Integer
resp.instances_with_security_non_compliant_patches #=> Integer
resp.instances_with_other_non_compliant_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:


4686
4687
4688
4689
# File 'lib/aws-sdk-ssm/client.rb', line 4686

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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", "ORACLE_LINUX", "DEBIAN", "MACOS", "RASPBIAN"
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>)

    Each element in the array is a structure containing a key-value pair.

    Supported keys for `DescribePatchGroups` include the following:

    • NAME_PREFIX

      Sample values: `AWS-` | `My-`.

    • OPERATING_SYSTEM

      Sample values: `AMAZON_LINUX` | `SUSE` | `WINDOWS`

  • :next_token (String)

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

Returns:

See Also:


4748
4749
4750
4751
# File 'lib/aws-sdk-ssm/client.rb', line 4748

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 operations 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:

AMAZON_LINUX

: Valid properties: `PRODUCT` | `CLASSIFICATION` | `SEVERITY`

AMAZON_LINUX_2

: Valid properties: `PRODUCT` | `CLASSIFICATION` | `SEVERITY`

CENTOS

: Valid properties: `PRODUCT` | `CLASSIFICATION` | `SEVERITY`

DEBIAN

: Valid properties: `PRODUCT` | `PRIORITY`

MACOS

: Valid properties: `PRODUCT` | `CLASSIFICATION`

ORACLE_LINUX

: Valid properties: `PRODUCT` | `CLASSIFICATION` | `SEVERITY`

REDHAT_ENTERPRISE_LINUX

: Valid properties: `PRODUCT` | `CLASSIFICATION` | `SEVERITY`

SUSE

: Valid properties: `PRODUCT` | `CLASSIFICATION` | `SEVERITY`

UBUNTU

: Valid properties: `PRODUCT` | `PRIORITY`

WINDOWS

: Valid properties: `PRODUCT` | `PRODUCT_FAMILY` | `CLASSIFICATION`

\| `MSRC_SEVERITY`

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN
  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 applications released by Microsoft. Not applicable for the Linux or macOS 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:


4852
4853
4854
4855
# File 'lib/aws-sdk-ssm/client.rb', line 4852

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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, SessionId
      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].reason #=> 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.sessions[0].max_session_duration #=> 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:


4919
4920
4921
4922
# File 'lib/aws-sdk-ssm/client.rb', line 4919

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

Deletes the association between an OpsItem and a related item. For example, this API operation can delete an Incident Manager incident from an OpsItem. Incident Manager is a capability of Amazon Web Services Systems Manager.

Examples:

Request syntax with placeholder values


resp = client.disassociate_ops_item_related_item({
  ops_item_id: "OpsItemId", # required
  association_id: "OpsItemRelatedItemAssociationId", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :ops_item_id (required, String)

    The ID of the OpsItem for which you want to delete an association between the OpsItem and a related item.

  • :association_id (required, String)

    The ID of the association for which you want to delete an association between the OpsItem and a related item.

Returns:

  • (Struct)

    Returns an empty response.

See Also:


4950
4951
4952
4953
# File 'lib/aws-sdk-ssm/client.rb', line 4950

def disassociate_ops_item_related_item(params = {}, options = {})
  req = build_request(:disassociate_ops_item_related_item, 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", "PendingApproval", "Approved", "Rejected", "Scheduled", "RunbookInProgress", "PendingChangeCalendarOverride", "ChangeCalendarOverrideApproved", "ChangeCalendarOverrideRejected", "CompletedWithSuccess", "CompletedWithFailure"
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", "PendingApproval", "Approved", "Rejected", "Scheduled", "RunbookInProgress", "PendingChangeCalendarOverride", "ChangeCalendarOverrideApproved", "ChangeCalendarOverrideRejected", "CompletedWithSuccess", "CompletedWithFailure"
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
resp.automation_execution.automation_subtype #=> String, one of "ChangeRequest"
resp.automation_execution.scheduled_time #=> Time
resp.automation_execution.runbooks #=> Array
resp.automation_execution.runbooks[0].document_name #=> String
resp.automation_execution.runbooks[0].document_version #=> String
resp.automation_execution.runbooks[0].parameters #=> Hash
resp.automation_execution.runbooks[0].parameters["AutomationParameterKey"] #=> Array
resp.automation_execution.runbooks[0].parameters["AutomationParameterKey"][0] #=> String
resp.automation_execution.runbooks[0].target_parameter_name #=> String
resp.automation_execution.runbooks[0].targets #=> Array
resp.automation_execution.runbooks[0].targets[0].key #=> String
resp.automation_execution.runbooks[0].targets[0].values #=> Array
resp.automation_execution.runbooks[0].targets[0].values[0] #=> String
resp.automation_execution.runbooks[0].max_concurrency #=> String
resp.automation_execution.runbooks[0].max_errors #=> String
resp.automation_execution.runbooks[0].target_locations #=> Array
resp.automation_execution.runbooks[0].target_locations[0].accounts #=> Array
resp.automation_execution.runbooks[0].target_locations[0].accounts[0] #=> String
resp.automation_execution.runbooks[0].target_locations[0].regions #=> Array
resp.automation_execution.runbooks[0].target_locations[0].regions[0] #=> String
resp.automation_execution.runbooks[0].target_locations[0].target_location_max_concurrency #=> String
resp.automation_execution.runbooks[0].target_locations[0].target_location_max_errors #=> String
resp.automation_execution.runbooks[0].target_locations[0].execution_role_name #=> String
resp.automation_execution.ops_item_id #=> String
resp.automation_execution.association_id #=> String
resp.automation_execution.change_request_name #=> String

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 runbook is initiated.

Returns:

See Also:


5094
5095
5096
5097
# File 'lib/aws-sdk-ssm/client.rb', line 5094

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

#get_calendar_state(params = {}) ⇒ Types::GetCalendarStateResponse

Gets the state of a Amazon Web Services Systems Manager change calendar at the current time or a specified time. If you specify a time, `GetCalendarState` returns the state of the calendar at that specific time, and returns the next time that the change calendar state will transition. If you don't specify a time, `GetCalendarState` uses the current time. Change Calendar entries have two possible states: `OPEN` or `CLOSED`.

If you specify more than one calendar in a request, the command returns the status of `OPEN` only if all calendars in the request are open. If one or more calendars in the request are closed, the status returned is `CLOSED`.

For more information about Change Calendar, a capability of Amazon Web Services Systems Manager, see [Amazon Web Services Systems Manager Change Calendar] in the *Amazon Web Services Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar.html

Examples:

Request syntax with placeholder values


resp = client.get_calendar_state({
  calendar_names: ["CalendarNameOrARN"], # required
  at_time: "ISO8601String",
})

Response structure


resp.state #=> String, one of "OPEN", "CLOSED"
resp.at_time #=> String
resp.next_transition_time #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :calendar_names (required, Array<String>)

    The names or Amazon Resource Names (ARNs) of the Systems Manager documents (SSM documents) that represent the calendar entries for which you want to get the state.

  • :at_time (String) — default: Optional

    The specific time for which you want to get calendar state information, in [ISO 8601] format. If you don't specify a value or `AtTime`, the current time is used.

    [1]: en.wikipedia.org/wiki/ISO_8601

Returns:

See Also:


5158
5159
5160
5161
# File 'lib/aws-sdk-ssm/client.rb', line 5158

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

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

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

`GetCommandInvocation` only gives the execution status of a plugin in a document. To get the command execution status on a specific managed node, use ListCommandInvocations. To get the command execution status across managed nodes, use ListCommands.

The following waiters are defined for this operation (see #wait_until for detailed usage):

* command_executed

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 node targeted by the command. A *managed node* can be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, and on-premises server or VM in your hybrid environment that is configured for Amazon Web Services Systems Manager.

  • :plugin_name (String)

    The name of the plugin for which you want detailed results. If the document contains only one plugin, you can omit the name and details for that plugin. If the document contains more than one plugin, you must specify the name of the plugin for which you want to view details.

    Plugin names are also referred to as *step names* in Systems Manager documents (SSM documents). For example, `aws:RunShellScript` is a plugin.

    To find the `PluginName`, check the document content and find the name of the plugin. Alternatively, use ListCommandInvocations with the `CommandId` and `Details` parameters. The `PluginName` is the `Name` attribute of the `CommandPlugin` object in the `CommandPlugins` list.

Returns:

See Also:


5255
5256
5257
5258
# File 'lib/aws-sdk-ssm/client.rb', line 5255

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 a managed node to determine whether it is running 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 managed node ID.

Returns:

See Also:


5287
5288
5289
5290
# File 'lib/aws-sdk-ssm/client.rb', line 5287

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. Amazon Web Services Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.

If you don't 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, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :operating_system (String)

    Returns the default patch baseline for the specified operating system.

Returns:

See Also:


5323
5324
5325
5326
# File 'lib/aws-sdk-ssm/client.rb', line 5323

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 managed node uses. This API is primarily used by the `AWS-RunPatchBaseline` Systems Manager document (SSM document).

<note markdown=“1”> If you run the command locally, such as with the Command Line Interface (CLI), the system attempts to use your local Amazon Web Services credentials and the operation fails. To avoid this, you can run the command in the Amazon Web Services Systems Manager console. Use Run Command, a capability of Amazon Web Services Systems Manager, with an SSM document that enables you to target a managed node with a script or command. For example, run the command using the `AWS-RunShellScript` document or the `AWS-RunPowerShellScript` document.

</note>

Examples:

Request syntax with placeholder values


resp = client.get_deployable_patch_snapshot_for_instance({
  instance_id: "InstanceId", # required
  snapshot_id: "SnapshotId", # required
  baseline_override: {
    operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN
    global_filters: {
      patch_filters: [ # required
        {
          key: "ARCH", # required, accepts ARCH, ADVISORY_ID, BUGZILLA_ID, PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, CVE_ID, EPOCH, MSRC_SEVERITY, NAME, PATCH_ID, SECTION, PRIORITY, REPOSITORY, RELEASE, SEVERITY, SECURITY, VERSION
          values: ["PatchFilterValue"], # required
        },
      ],
    },
    approval_rules: {
      patch_rules: [ # required
        {
          patch_filter_group: { # required
            patch_filters: [ # required
              {
                key: "ARCH", # required, accepts ARCH, ADVISORY_ID, BUGZILLA_ID, PATCH_SET, PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, CVE_ID, EPOCH, MSRC_SEVERITY, NAME, PATCH_ID, SECTION, PRIORITY, REPOSITORY, RELEASE, SEVERITY, SECURITY, VERSION
                values: ["PatchFilterValue"], # required
              },
            ],
          },
          compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
          approve_after_days: 1,
          approve_until_date: "PatchStringDateTime",
          enable_non_security: false,
        },
      ],
    },
    approved_patches: ["PatchId"],
    approved_patches_compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
    rejected_patches: ["PatchId"],
    rejected_patches_action: "ALLOW_AS_DEPENDENCY", # accepts ALLOW_AS_DEPENDENCY, BLOCK
    approved_patches_enable_non_security: false,
    sources: [
      {
        name: "PatchSourceName", # required
        products: ["PatchSourceProduct"], # required
        configuration: "PatchSourceConfiguration", # 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 managed node for which the appropriate patch snapshot should be retrieved.

  • :snapshot_id (required, String)

    The snapshot ID provided by the user when running `AWS-RunPatchBaseline`.

  • :baseline_override (Types::BaselineOverride)

    Defines the basic information about a patch baseline override.

Returns:

See Also:


5421
5422
5423
5424
# File 'lib/aws-sdk-ssm/client.rb', line 5421

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 Amazon Web Services Systems Manager document (SSM 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, TEXT
})

Response structure


resp.name #=> String
resp.created_date #=> Time
resp.display_name #=> String
resp.version_name #=> String
resp.document_version #=> String
resp.status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed"
resp.status_information #=> String
resp.content #=> String
resp.document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar", "Automation.ChangeTemplate", "ProblemAnalysis", "ProblemAnalysisTemplate"
resp.document_format #=> String, one of "YAML", "JSON", "TEXT"
resp.requires #=> Array
resp.requires[0].name #=> String
resp.requires[0].version #=> String
resp.attachments_content #=> Array
resp.attachments_content[0].name #=> String
resp.attachments_content[0].size #=> Integer
resp.attachments_content[0].hash #=> String
resp.attachments_content[0].hash_type #=> String, one of "Sha256"
resp.attachments_content[0].url #=> String
resp.review_status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the SSM 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 can't 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:


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

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

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

Query inventory information. This includes managed node status, such as `Stopped` or `Terminated`.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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 managed nodes 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:


5591
5592
5593
5594
# File 'lib/aws-sdk-ssm/client.rb', line 5591

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.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

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:


5652
5653
5654
5655
# File 'lib/aws-sdk-ssm/client.rb', line 5652

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.schedule_offset #=> Integer
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:


5709
5710
5711
5712
# File 'lib/aws-sdk-ssm/client.rb', line 5709

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