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

  • :plugins (Array<Seahorse::Client::Plugin>) — default: []]

    A list of plugins to apply to the client. Each plugin is either a class name or an instance of a plugin class.

  • :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`, `:session_token`, and `:account_id` options.

    • ENV, ENV, ENV, and 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::InstanceProfileCredentials` 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)
  • :account_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.

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

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

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

  • :disable_request_compression (Boolean) — default: false

    When set to ‘true’ the request body will not be compressed for supported operations.

  • :endpoint (String, URI::HTTPS, URI::HTTP)

    Normally you should not configure the ‘:endpoint` option directly. This is normally constructed from the `:region` option. Configuring `:endpoint` is normally reserved for connecting to test or custom endpoints. The endpoint should be a URI formatted like:

    'http://example.com'
    'https://example.com'
    'http://example.com:123'
    
  • :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.

  • :ignore_configured_endpoint_urls (Boolean)

    Setting to true disables use of endpoint URLs provided via environment variables and the shared configuration file.

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

  • :request_min_compression_size_bytes (Integer) — default: 10240

    The minimum size in bytes that triggers compression for request bodies. The value must be non-negative integer value between 0 and 10485780 bytes inclusive.

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

  • :sdk_ua_app_id (String)

    A unique and opaque application ID that is appended to the User-Agent header as app/sdk_ua_app_id. It should have a maximum length of 50. This variable is sourced from environment variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.

  • :secret_access_key (String)
  • :session_token (String)
  • :sigv4a_signing_region_set (Array)

    A list of regions that should be signed with SigV4a signing. When not passed, a default ‘:sigv4a_signing_region_set` is searched for in the following locations:

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disables response data type conversions. The request parameters hash must be formatted exactly as the API expects.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.

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

  • :telemetry_provider (Aws::Telemetry::TelemetryProviderBase) — default: Aws::Telemetry::NoOpTelemetryProvider

    Allows you to provide a telemetry provider, which is used to emit telemetry data. By default, uses ‘NoOpTelemetryProvider` which will not record or emit any telemetry data. The SDK supports the following telemetry providers:

    • OpenTelemetry (OTel) - To use the OTel provider, install and require the

    ‘opentelemetry-sdk` gem and then, pass in an instance of a `Aws::Telemetry::OTelProvider` for telemetry provider.

  • :token_provider (Aws::TokenProvider)

    A Bearer Token Provider. This can be an instance of any one of the following classes:

    • ‘Aws::StaticTokenProvider` - Used for configuring static, non-refreshing tokens.

    • ‘Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an access token generated from `aws login`.

    When ‘:token_provider` is not configured directly, the `Aws::TokenProviderChain` will be used to search for tokens configured for your profile in shared configuration files.

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

  • :endpoint_provider (Aws::SSM::EndpointProvider)

    The endpoint provider used to resolve endpoints. Any object that responds to ‘#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSM::EndpointParameters`.

  • :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_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_open_timeout (Float) — default: 15

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_proxy (URI::HTTP, String)

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

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. 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`.

  • :on_chunk_received (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the response body is received. It provides three arguments: the chunk, the number of bytes received, and the total number of bytes in the response (or nil if the server did not send a ‘content-length`).

  • :on_chunk_sent (Proc)

    When a Proc object is provided, it will be used as callback when each chunk of the request body is sent. It provides three arguments: the chunk, the number of bytes read from the body, and the total number of bytes in the body.

  • :raise_response_errors (Boolean) — default: true

    When ‘true`, response errors are raised.

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

  • :ssl_ca_store (String)

    Sets the X509::Store to verify peer certificate.

  • :ssl_cert (OpenSSL::X509::Certificate)

    Sets a client certificate when creating http connections.

  • :ssl_key (OpenSSL::PKey)

    Sets a client key when creating http connections.

  • :ssl_timeout (Float)

    Sets the SSL timeout in seconds

  • :ssl_verify_peer (Boolean) — default: true

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



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

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.



13367
13368
13369
# File 'lib/aws-sdk-ssm/client.rb', line 13367

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.



13370
13371
13372
# File 'lib/aws-sdk-ssm/client.rb', line 13370

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 automations, 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`

Most resources can have a maximum of 50 tags. Automations can have a maximum of 5 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 [Tag 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, Automation, Association
  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`

    ‘Automation`: `example-c160-4567-8519-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. If you’re tagging a shared document, you must use the full ARN of the document.

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



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

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:



613
614
615
616
# File 'lib/aws-sdk-ssm/client.rb', line 613

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


13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
# File 'lib/aws-sdk-ssm/client.rb', line 13227

def build_request(operation_name, params = {})
  handlers = @handlers.for(operation_name)
  tracer = config.telemetry_provider.tracer_provider.tracer(
    Aws::Telemetry.module_to_tracer_name('Aws::SSM')
  )
  context = Seahorse::Client::RequestContext.new(
    operation_name: operation_name,
    operation: config.api.operation(operation_name),
    client: self,
    params: params,
    config: config,
    tracer: tracer
  )
  context[:gem_name] = 'aws-sdk-ssm'
  context[:gem_version] = '1.186.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:



643
644
645
646
# File 'lib/aws-sdk-ssm/client.rb', line 643

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:



673
674
675
676
# File 'lib/aws-sdk-ssm/client.rb', line 673

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 [Using Amazon Web Services Systems Manager in hybrid and multicloud 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-hybrid-multicloud.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 the IAM service role required for Systems Manager in a hybrid and multicloud environments] in the *Amazon Web Services Systems Manager User Guide*.

    <note markdown=“1”> You can’t specify an IAM service-linked role for this parameter. You must create a unique role.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-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 “2024-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:



805
806
807
808
# File 'lib/aws-sdk-ssm/client.rb', line 805

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",
      target_location_alarm_configuration: {
        ignore_poll_alarm_failure: false,
        alarms: [ # required
          {
            name: "AlarmName", # required
          },
        ],
      },
      include_child_organization_units: false,
      exclude_accounts: ["ExcludeAccount"],
      targets: [
        {
          key: "TargetKey",
          values: ["TargetValue"],
        },
      ],
      targets_max_concurrency: "MaxConcurrency",
      targets_max_errors: "MaxErrors",
    },
  ],
  schedule_offset: 1,
  duration: 1,
  target_maps: [
    {
      "TargetMapKey" => ["TargetMapValue"],
    },
  ],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  alarm_configuration: {
    ignore_poll_alarm_failure: false,
    alarms: [ # required
      {
        name: "AlarmName", # required
      },
    ],
  },
})

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
resp.association_description.target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.association_description.target_locations[0].include_child_organization_units #=> Boolean
resp.association_description.target_locations[0].exclude_accounts #=> Array
resp.association_description.target_locations[0].exclude_accounts[0] #=> String
resp.association_description.target_locations[0].targets #=> Array
resp.association_description.target_locations[0].targets[0].key #=> String
resp.association_description.target_locations[0].targets[0].values #=> Array
resp.association_description.target_locations[0].targets[0].values[0] #=> String
resp.association_description.target_locations[0].targets_max_concurrency #=> String
resp.association_description.target_locations[0].targets_max_errors #=> String
resp.association_description.schedule_offset #=> Integer
resp.association_description.duration #=> Integer
resp.association_description.target_maps #=> Array
resp.association_description.target_maps[0] #=> Hash
resp.association_description.target_maps[0]["TargetMapKey"] #=> Array
resp.association_description.target_maps[0]["TargetMapKey"][0] #=> String
resp.association_description.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.alarm_configuration.alarms #=> Array
resp.association_description.alarm_configuration.alarms[0].name #=> String
resp.association_description.triggered_alarms #=> Array
resp.association_description.triggered_alarms[0].name #=> String
resp.association_description.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"

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 Amazon Web Services 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 targets. Can be a specific version or the default version.

    State Manager doesn’t support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the ‘default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default`.

  • :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 [Understanding targets and rate controls in 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 targets.

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

  • :schedule_offset (Integer)

    Number of days to wait after the scheduled day to run an association. For example, if you specified a cron schedule of ‘cron(0 0 ? * THU#2 *)`, you could specify an offset of 3 to run the association each Sunday after the second Thursday of the month. For more information about cron schedules for associations, see [Reference: Cron and rate expressions for Systems Manager] in the *Amazon Web Services Systems Manager User Guide*.

    <note markdown=“1”> To use offsets, you must specify the ‘ApplyOnlyAtCronInterval` parameter. This option tells the system not to run an association immediately after you create it.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html

  • :duration (Integer)

    The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.

    The ‘Duration` parameter applies only when both these conditions are true:

    • The association for which you specify a duration is cancelable according to the parameters of the SSM command document or Automation runbook associated with this execution.

    • The command specifies the ‘ ApplyOnlyAtCronInterval ` parameter, which means that the association doesn’t run immediately after it is created, but only according to the specified schedule.

  • :target_maps (Array<Hash>)

    A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can’t be specified together.

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

    Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can assign to your Amazon Web Services resources. 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.

  • :alarm_configuration (Types::AlarmConfiguration)

    The details for the CloudWatch alarm you want to apply to an automation or command.

Returns:

See Also:



1191
1192
1193
1194
# File 'lib/aws-sdk-ssm/client.rb', line 1191

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",
          target_location_alarm_configuration: {
            ignore_poll_alarm_failure: false,
            alarms: [ # required
              {
                name: "AlarmName", # required
              },
            ],
          },
          include_child_organization_units: false,
          exclude_accounts: ["ExcludeAccount"],
          targets: [
            {
              key: "TargetKey",
              values: ["TargetValue"],
            },
          ],
          targets_max_concurrency: "MaxConcurrency",
          targets_max_errors: "MaxErrors",
        },
      ],
      schedule_offset: 1,
      duration: 1,
      target_maps: [
        {
          "TargetMapKey" => ["TargetMapValue"],
        },
      ],
      alarm_configuration: {
        ignore_poll_alarm_failure: false,
        alarms: [ # required
          {
            name: "AlarmName", # required
          },
        ],
      },
    },
  ],
})

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.successful[0].target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.successful[0].target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.successful[0].target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.successful[0].target_locations[0].include_child_organization_units #=> Boolean
resp.successful[0].target_locations[0].exclude_accounts #=> Array
resp.successful[0].target_locations[0].exclude_accounts[0] #=> String
resp.successful[0].target_locations[0].targets #=> Array
resp.successful[0].target_locations[0].targets[0].key #=> String
resp.successful[0].target_locations[0].targets[0].values #=> Array
resp.successful[0].target_locations[0].targets[0].values[0] #=> String
resp.successful[0].target_locations[0].targets_max_concurrency #=> String
resp.successful[0].target_locations[0].targets_max_errors #=> String
resp.successful[0].schedule_offset #=> Integer
resp.successful[0].duration #=> Integer
resp.successful[0].target_maps #=> Array
resp.successful[0].target_maps[0] #=> Hash
resp.successful[0].target_maps[0]["TargetMapKey"] #=> Array
resp.successful[0].target_maps[0]["TargetMapKey"][0] #=> String
resp.successful[0].alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.successful[0].alarm_configuration.alarms #=> Array
resp.successful[0].alarm_configuration.alarms[0].name #=> String
resp.successful[0].triggered_alarms #=> Array
resp.successful[0].triggered_alarms[0].name #=> String
resp.successful[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
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].entry.target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.failed[0].entry.target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.failed[0].entry.target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.failed[0].entry.target_locations[0].include_child_organization_units #=> Boolean
resp.failed[0].entry.target_locations[0].exclude_accounts #=> Array
resp.failed[0].entry.target_locations[0].exclude_accounts[0] #=> String
resp.failed[0].entry.target_locations[0].targets #=> Array
resp.failed[0].entry.target_locations[0].targets[0].key #=> String
resp.failed[0].entry.target_locations[0].targets[0].values #=> Array
resp.failed[0].entry.target_locations[0].targets[0].values[0] #=> String
resp.failed[0].entry.target_locations[0].targets_max_concurrency #=> String
resp.failed[0].entry.target_locations[0].targets_max_errors #=> String
resp.failed[0].entry.schedule_offset #=> Integer
resp.failed[0].entry.duration #=> Integer
resp.failed[0].entry.target_maps #=> Array
resp.failed[0].entry.target_maps[0] #=> Hash
resp.failed[0].entry.target_maps[0]["TargetMapKey"] #=> Array
resp.failed[0].entry.target_maps[0]["TargetMapKey"][0] #=> String
resp.failed[0].entry.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.failed[0].entry.alarm_configuration.alarms #=> Array
resp.failed[0].entry.alarm_configuration.alarms[0].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:



1427
1428
1429
1430
# File 'lib/aws-sdk-ssm/client.rb', line 1427

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/documents.html

Examples:

Request syntax with placeholder values


resp = client.create_document({
  content: "DocumentContent", # required
  requires: [
    {
      name: "DocumentARN", # required
      version: "DocumentVersion",
      require_type: "RequireType",
      version_name: "DocumentVersionName",
    },
  ],
  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, CloudFormation, ConformancePackTemplate, QuickSetup
  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", "CloudFormation", "ConformancePackTemplate", "QuickSetup"
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.requires[0].require_type #=> String
resp.document_description.requires[0].version_name #=> 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"
resp.document_description.category #=> Array
resp.document_description.category[0] #=> String
resp.document_description.category_enum #=> Array
resp.document_description.category_enum[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :content (required, String)

    The content for the new SSM document in JSON or YAML format. The content of the document must not exceed 64KB. This quota also includes the content specified for input parameters at runtime. 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 (console)][1
    • Create an SSM document (command line)][2
    • Create an SSM document (API)][3

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

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

    • ‘AWSEC2`

    • ‘AWSConfigRemediation`

    • ‘AWSSupport`

  • :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, ‘Release12.1`. This value is unique across all versions of a document, and can’t be changed.

  • :document_type (String)

    The type of document to create.

    <note markdown=“1”> The ‘DeploymentStrategy` document type is an internal-use-only document type reserved for AppConfig.

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



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

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.

    <note markdown=“1”> When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.

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



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

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

Set up 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-setup.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,
  account_id: "OpsItemAccountId",
})

Response structure


resp.ops_item_id #=> String
resp.ops_item_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :description (required, String)

    User-defined text that contains information about the OpsItem, in Markdown format.

    <note markdown=“1”> Provide enough information so that users viewing this OpsItem for the first time understand the issue.

    </note>
    
  • :ops_item_type (String)

    The type of OpsItem to create. Systems Manager supports the following types of OpsItems:

    • ‘/aws/issue`

      This type of OpsItem is used for default OpsItems created by OpsCenter.

    • ‘/aws/changerequest`

      This type of OpsItem is used by Change Manager for reviewing and approving or rejecting change requests.

    • ‘/aws/insight`

      This type of OpsItem is used by OpsCenter for aggregating and reporting on duplicate OpsItems.

  • :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 [Create OpsItems manually] in the *Amazon Web Services Systems Manager User Guide*.

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

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

    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.

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

  • :account_id (String)

    The target Amazon Web Services account where you want to create an OpsItem. To make this call, your account must be configured to work with OpsItems across accounts. For more information, see [Set up OpsCenter] in the *Amazon Web Services Systems Manager User Guide*.

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

Returns:

See Also:



1991
1992
1993
1994
# File 'lib/aws-sdk-ssm/client.rb', line 1991

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:



2047
2048
2049
2050
# File 'lib/aws-sdk-ssm/client.rb', line 2047

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, AMAZON_LINUX_2022, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN, ROCKY_LINUX, ALMA_LINUX, AMAZON_LINUX_2023
  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.

    The ‘GlobalFilters` parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can’t be configured from the Patch Manager console, and its value isn’t displayed in the console.

  • :approval_rules (Types::PatchRuleGroup)

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

  • :approved_patches (Array<String>)

    A list of explicitly approved patches for the baseline.

    For information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists] in the *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 [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

    : **Linux and macOS**: 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 `INSTALLED_OTHER`. This is the default action if no
    option is specified.
    
    **Windows Server**: Windows Server doesn't support the concept of
    package dependencies. If a package in the rejected patches list and
    already installed on the node, its status is reported as
    `INSTALLED_OTHER`. Any package not already installed on the node is
    skipped. This is the default action if no option is specified.
    

    BLOCK

    : **All OSs**: Packages in the rejected patches list, and packages

    that include them as dependencies, aren't installed by Patch
    Manager under any circumstances. If a package was installed before
    it was added to the rejected patches list, or is installed outside
    of Patch Manager afterward, it's considered noncompliant with the
    patch baseline and its status is reported as `INSTALLED_REJECTED`.
    
  • :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:



2233
2234
2235
2236
# File 'lib/aws-sdk-ssm/client.rb', line 2233

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 [Creating a 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/inventory-create-resource-data-sync.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:



2334
2335
2336
2337
# File 'lib/aws-sdk-ssm/client.rb', line 2334

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:



2359
2360
2361
2362
# File 'lib/aws-sdk-ssm/client.rb', line 2359

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:



2409
2410
2411
2412
# File 'lib/aws-sdk-ssm/client.rb', line 2409

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:



2454
2455
2456
2457
# File 'lib/aws-sdk-ssm/client.rb', line 2454

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:



2524
2525
2526
2527
# File 'lib/aws-sdk-ssm/client.rb', line 2524

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:



2552
2553
2554
2555
# File 'lib/aws-sdk-ssm/client.rb', line 2552

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

#delete_ops_item(params = {}) ⇒ Struct

Delete an OpsItem. You must have permission in Identity and Access Management (IAM) to delete an OpsItem.

Note the following important information about this operation.

* Deleting an OpsItem is irreversible. You can't restore a deleted
 OpsItem.
  • This operation uses an *eventual consistency model*, which means the system can take a few minutes to complete this operation. If you delete an OpsItem and immediately call, for example, GetOpsItem, the deleted OpsItem might still appear in the response.

  • This operation is idempotent. The system doesn’t throw an exception if you repeatedly call this operation for the same OpsItem. If the first call is successful, all additional calls return the same successful response as the first call.

  • This operation doesn’t support cross-account calls. A delegated administrator or management account can’t delete OpsItems in other accounts, even if OpsCenter has been set up for cross-account administration. For more information about cross-account administration, see [Setting up OpsCenter to centrally manage OpsItems across accounts] in the *Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-setting-up-cross-account.html

Examples:

Request syntax with placeholder values


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

Parameters:

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

    ({})

Options Hash (params):

  • :ops_item_id (required, String)

    The ID of the OpsItem that you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2601
2602
2603
2604
# File 'lib/aws-sdk-ssm/client.rb', line 2601

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



2623
2624
2625
2626
# File 'lib/aws-sdk-ssm/client.rb', line 2623

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.

    <note markdown=“1”> You can’t enter the Amazon Resource Name (ARN) for a parameter, only the parameter name itself.

    </note>
    

Returns:

  • (Struct)

    Returns an empty response.

See Also:



2651
2652
2653
2654
# File 'lib/aws-sdk-ssm/client.rb', line 2651

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.

    <note markdown=“1”> You can’t enter the Amazon Resource Name (ARN) for a parameter, only the parameter name itself.

    </note>
    

Returns:

See Also:



2690
2691
2692
2693
# File 'lib/aws-sdk-ssm/client.rb', line 2690

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:



2718
2719
2720
2721
# File 'lib/aws-sdk-ssm/client.rb', line 2718

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:



2746
2747
2748
2749
# File 'lib/aws-sdk-ssm/client.rb', line 2746

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

#delete_resource_policy(params = {}) ⇒ Struct

Deletes a Systems Manager resource policy. A resource policy helps you to define the IAM entity (for example, an Amazon Web Services account) that can manage your Systems Manager resources. The following resources support Systems Manager resource policies.

  • ‘OpsItemGroup` - The resource policy for `OpsItemGroup` enables Amazon Web Services accounts to view and interact with OpsCenter operational work items (OpsItems).

  • ‘Parameter` - The resource policy is used to share a parameter with other accounts using Resource Access Manager (RAM). For more information about cross-account sharing of parameters, see [Working with shared parameters] in the *Amazon Web Services Systems Manager User Guide*.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html

Examples:

Request syntax with placeholder values


resp = client.delete_resource_policy({
  resource_arn: "ResourceArnString", # required
  policy_id: "PolicyId", # required
  policy_hash: "PolicyHash", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource to which the policies are attached.

  • :policy_id (required, String)

    The policy ID.

  • :policy_hash (required, String)

    ID of the current policy version. The hash helps to prevent multiple calls from attempting to overwrite a policy.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



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

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



2821
2822
2823
2824
# File 'lib/aws-sdk-ssm/client.rb', line 2821

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:



2856
2857
2858
2859
# File 'lib/aws-sdk-ssm/client.rb', line 2856

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:



2896
2897
2898
2899
# File 'lib/aws-sdk-ssm/client.rb', line 2896

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:



2930
2931
2932
2933
# File 'lib/aws-sdk-ssm/client.rb', line 2930

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:



2993
2994
2995
2996
# File 'lib/aws-sdk-ssm/client.rb', line 2993

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
resp.association_description.target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.association_description.target_locations[0].include_child_organization_units #=> Boolean
resp.association_description.target_locations[0].exclude_accounts #=> Array
resp.association_description.target_locations[0].exclude_accounts[0] #=> String
resp.association_description.target_locations[0].targets #=> Array
resp.association_description.target_locations[0].targets[0].key #=> String
resp.association_description.target_locations[0].targets[0].values #=> Array
resp.association_description.target_locations[0].targets[0].values[0] #=> String
resp.association_description.target_locations[0].targets_max_concurrency #=> String
resp.association_description.target_locations[0].targets_max_errors #=> String
resp.association_description.schedule_offset #=> Integer
resp.association_description.duration #=> Integer
resp.association_description.target_maps #=> Array
resp.association_description.target_maps[0] #=> Hash
resp.association_description.target_maps[0]["TargetMapKey"] #=> Array
resp.association_description.target_maps[0]["TargetMapKey"][0] #=> String
resp.association_description.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.alarm_configuration.alarms #=> Array
resp.association_description.alarm_configuration.alarms[0].name #=> String
resp.association_description.triggered_alarms #=> Array
resp.association_description.triggered_alarms[0].name #=> String
resp.association_description.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"

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:



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

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:



3182
3183
3184
3185
# File 'lib/aws-sdk-ssm/client.rb', line 3182

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.association_executions[0].alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_executions[0].alarm_configuration.alarms #=> Array
resp.association_executions[0].alarm_configuration.alarms[0].name #=> String
resp.association_executions[0].triggered_alarms #=> Array
resp.association_executions[0].triggered_alarms[0].name #=> String
resp.association_executions[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
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:



3257
3258
3259
3260
# File 'lib/aws-sdk-ssm/client.rb', line 3257

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", "Exited"
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].alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.[0].alarm_configuration.alarms #=> Array
resp.[0].alarm_configuration.alarms[0].name #=> String
resp.[0].triggered_alarms #=> Array
resp.[0].triggered_alarms[0].name #=> String
resp.[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
resp.[0].target_locations_url #=> String
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].target_maps #=> Array
resp.[0].runbooks[0].target_maps[0] #=> Hash
resp.[0].runbooks[0].target_maps[0]["TargetMapKey"] #=> Array
resp.[0].runbooks[0].target_maps[0]["TargetMapKey"][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].runbooks[0].target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.[0].runbooks[0].target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.[0].runbooks[0].target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.[0].runbooks[0].target_locations[0].include_child_organization_units #=> Boolean
resp.[0].runbooks[0].target_locations[0].exclude_accounts #=> Array
resp.[0].runbooks[0].target_locations[0].exclude_accounts[0] #=> String
resp.[0].runbooks[0].target_locations[0].targets #=> Array
resp.[0].runbooks[0].target_locations[0].targets[0].key #=> String
resp.[0].runbooks[0].target_locations[0].targets[0].values #=> Array
resp.[0].runbooks[0].target_locations[0].targets[0].values[0] #=> String
resp.[0].runbooks[0].target_locations[0].targets_max_concurrency #=> String
resp.[0].runbooks[0].target_locations[0].targets_max_errors #=> 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:



3387
3388
3389
3390
# File 'lib/aws-sdk-ssm/client.rb', line 3387

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, ParentStepExecutionId, ParentStepIteration, ParentStepIteratorValue
      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", "Exited"
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.step_executions[0].target_location.target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.step_executions[0].target_location.target_location_alarm_configuration.alarms #=> Array
resp.step_executions[0].target_location.target_location_alarm_configuration.alarms[0].name #=> String
resp.step_executions[0].target_location.include_child_organization_units #=> Boolean
resp.step_executions[0].target_location.exclude_accounts #=> Array
resp.step_executions[0].target_location.exclude_accounts[0] #=> String
resp.step_executions[0].target_location.targets #=> Array
resp.step_executions[0].target_location.targets[0].key #=> String
resp.step_executions[0].target_location.targets[0].values #=> Array
resp.step_executions[0].target_location.targets[0].values[0] #=> String
resp.step_executions[0].target_location.targets_max_concurrency #=> String
resp.step_executions[0].target_location.targets_max_errors #=> String
resp.step_executions[0].triggered_alarms #=> Array
resp.step_executions[0].triggered_alarms[0].name #=> String
resp.step_executions[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
resp.step_executions[0].parent_step_details.step_execution_id #=> String
resp.step_executions[0].parent_step_details.step_name #=> String
resp.step_executions[0].parent_step_details.action #=> String
resp.step_executions[0].parent_step_details.iteration #=> Integer
resp.step_executions[0].parent_step_details.iterator_value #=> 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:



3508
3509
3510
3511
# File 'lib/aws-sdk-ssm/client.rb', line 3508

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.

<note markdown=“1”> Currently, ‘DescribeAvailablePatches` supports only the Amazon Linux 1, Amazon Linux 2, and Windows Server operating systems.

</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_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:



3676
3677
3678
3679
# File 'lib/aws-sdk-ssm/client.rb', line 3676

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", "CloudFormation", "ConformancePackTemplate", "QuickSetup"
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.requires[0].require_type #=> String
resp.document.requires[0].version_name #=> 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"
resp.document.category #=> Array
resp.document.category[0] #=> String
resp.document.category_enum #=> Array
resp.document.category_enum[0] #=> String

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, 12.6. This value is unique across all versions of a document, and can’t be changed.

Returns:

See Also:



3762
3763
3764
3765
# File 'lib/aws-sdk-ssm/client.rb', line 3762

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:



3817
3818
3819
3820
# File 'lib/aws-sdk-ssm/client.rb', line 3817

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



3864
3865
3866
3867
# File 'lib/aws-sdk-ssm/client.rb', line 3864

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:



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

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



3992
3993
3994
3995
# File 'lib/aws-sdk-ssm/client.rb', line 3992

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

Provides information about one or more of your managed nodes, including the operating system platform, SSM Agent version, association status, and IP address. This operation does not return information for nodes that are either Stopped or Terminated.

If you specify one or more node IDs, the operation 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 returned for this API operation is the role assigned to an Amazon EC2 instance configured with a Systems Manager Quick Setup host management configuration or the role assigned to an on-premises managed node.

</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", "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 your managed nodes. Tag filters can’t be combined with other filter types. 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. The default value is 10 items.

  • :next_token (String)

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

Returns:

See Also:



4098
4099
4100
4101
# File 'lib/aws-sdk-ssm/client.rb', line 4098

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:



4162
4163
4164
4165
# File 'lib/aws-sdk-ssm/client.rb', line 4162

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:



4243
4244
4245
4246
# File 'lib/aws-sdk-ssm/client.rb', line 4243

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`

      For lists of all ‘State` values, see [Patch compliance state values] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-compliance-states.html

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



4329
4330
4331
4332
# File 'lib/aws-sdk-ssm/client.rb', line 4329

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

#describe_instance_properties(params = {}) ⇒ Types::DescribeInstancePropertiesResult

An API operation used by the Systems Manager console to display information about Systems Manager 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_properties({
  instance_property_filter_list: [
    {
      key: "InstanceIds", # required, accepts InstanceIds, AgentVersion, PingStatus, PlatformTypes, DocumentName, ActivationIds, IamRole, ResourceType, AssociationStatus
      value_set: ["InstancePropertyFilterValue"], # required
    },
  ],
  filters_with_operator: [
    {
      key: "InstancePropertyStringFilterKey", # required
      values: ["InstancePropertyFilterValue"], # required
      operator: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.instance_properties #=> Array
resp.instance_properties[0].name #=> String
resp.instance_properties[0].instance_id #=> String
resp.instance_properties[0].instance_type #=> String
resp.instance_properties[0].instance_role #=> String
resp.instance_properties[0].key_name #=> String
resp.instance_properties[0].instance_state #=> String
resp.instance_properties[0].architecture #=> String
resp.instance_properties[0].ip_address #=> String
resp.instance_properties[0].launch_time #=> Time
resp.instance_properties[0].ping_status #=> String, one of "Online", "ConnectionLost", "Inactive"
resp.instance_properties[0].last_ping_date_time #=> Time
resp.instance_properties[0].agent_version #=> String
resp.instance_properties[0].platform_type #=> String, one of "Windows", "Linux", "MacOS"
resp.instance_properties[0].platform_name #=> String
resp.instance_properties[0].platform_version #=> String
resp.instance_properties[0].activation_id #=> String
resp.instance_properties[0].iam_role #=> String
resp.instance_properties[0].registration_date #=> Time
resp.instance_properties[0].resource_type #=> String
resp.instance_properties[0].computer_name #=> String
resp.instance_properties[0].association_status #=> String
resp.instance_properties[0].last_association_execution_date #=> Time
resp.instance_properties[0].last_successful_association_execution_date #=> Time
resp.instance_properties[0].association_overview.detailed_status #=> String
resp.instance_properties[0].association_overview.instance_association_status_aggregated_count #=> Hash
resp.instance_properties[0].association_overview.instance_association_status_aggregated_count["StatusName"] #=> Integer
resp.instance_properties[0].source_id #=> String
resp.instance_properties[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_property_filter_list (Array<Types::InstancePropertyFilter>)

    An array of instance property filters.

  • :filters_with_operator (Array<Types::InstancePropertyStringFilter>)

    The request filters to use with the operator.

  • :max_results (Integer)

    The maximum number of items to return for the 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 provided by a previous request to use to return the next set of properties.

Returns:

See Also:



4416
4417
4418
4419
# File 'lib/aws-sdk-ssm/client.rb', line 4416

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



4472
4473
4474
4475
# File 'lib/aws-sdk-ssm/client.rb', line 4472

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:



4545
4546
4547
4548
# File 'lib/aws-sdk-ssm/client.rb', line 4545

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.window_execution_task_identities[0].alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.window_execution_task_identities[0].alarm_configuration.alarms #=> Array
resp.window_execution_task_identities[0].alarm_configuration.alarms[0].name #=> String
resp.window_execution_task_identities[0].triggered_alarms #=> Array
resp.window_execution_task_identities[0].triggered_alarms[0].name #=> String
resp.window_execution_task_identities[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
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:



4616
4617
4618
4619
# File 'lib/aws-sdk-ssm/client.rb', line 4616

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 ‘2024-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:



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

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:



4756
4757
4758
4759
# File 'lib/aws-sdk-ssm/client.rb', line 4756

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:



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

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.tasks[0].alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.tasks[0].alarm_configuration.alarms #=> Array
resp.tasks[0].alarm_configuration.alarms[0].name #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

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

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

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String)

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

Returns:

See Also:



4906
4907
4908
4909
# File 'lib/aws-sdk-ssm/client.rb', line 4906

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:



4968
4969
4970
4971
# File 'lib/aws-sdk-ssm/client.rb', line 4968

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:



5024
5025
5026
5027
# File 'lib/aws-sdk-ssm/client.rb', line 5024

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 [Set up 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 [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-setup.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, AccountId
      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

    • Key: AccountId

      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:



5171
5172
5173
5174
# File 'lib/aws-sdk-ssm/client.rb', line 5171

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

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

Lists the parameters in your Amazon Web Services account or the parameters shared with you when you enable the [Shared] option.

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.

[1]: docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html#systemsmanager-DescribeParameters-request-Shared

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

Response structure


resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].arn #=> 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.)

  • :shared (Boolean)

    Lists parameters that are shared with you.

    <note markdown=“1”> By default when using this option, the command returns parameters that have been shared using a standard Resource Access Manager Resource Share. In order for a parameter that was shared using the PutResourcePolicy command to be returned, the associated ‘RAM Resource Share Created From Policy` must have been promoted to a standard Resource Share using the RAM

    PromoteResourceShareCreatedFromPolicy][1

    API operation.

    For more information about sharing parameters, see [Working with
    

    shared parameters] in the *Amazon Web Services Systems Manager User Guide*.

    </note>
    

    [1]: docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html

Returns:

See Also:



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

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", "AMAZON_LINUX_2022", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS", "ORACLE_LINUX", "DEBIAN", "MACOS", "RASPBIAN", "ROCKY_LINUX", "ALMA_LINUX", "AMAZON_LINUX_2023"
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:



5351
5352
5353
5354
# File 'lib/aws-sdk-ssm/client.rb', line 5351

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:



5402
5403
5404
5405
# File 'lib/aws-sdk-ssm/client.rb', line 5402

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", "AMAZON_LINUX_2022", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS", "ORACLE_LINUX", "DEBIAN", "MACOS", "RASPBIAN", "ROCKY_LINUX", "ALMA_LINUX", "AMAZON_LINUX_2023"
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:



5464
5465
5466
5467
# File 'lib/aws-sdk-ssm/client.rb', line 5464

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`

AMAZON_LINUX_2023

: 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, AMAZON_LINUX_2022, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN, ROCKY_LINUX, ALMA_LINUX, AMAZON_LINUX_2023
  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:



5572
5573
5574
5575
# File 'lib/aws-sdk-ssm/client.rb', line 5572

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:



5639
5640
5641
5642
# File 'lib/aws-sdk-ssm/client.rb', line 5639

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:



5670
5671
5672
5673
# File 'lib/aws-sdk-ssm/client.rb', line 5670

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", "Exited"
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", "Exited"
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[0].target_location.target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.automation_execution.step_executions[0].target_location.target_location_alarm_configuration.alarms #=> Array
resp.automation_execution.step_executions[0].target_location.target_location_alarm_configuration.alarms[0].name #=> String
resp.automation_execution.step_executions[0].target_location.include_child_organization_units #=> Boolean
resp.automation_execution.step_executions[0].target_location.exclude_accounts #=> Array
resp.automation_execution.step_executions[0].target_location.exclude_accounts[0] #=> String
resp.automation_execution.step_executions[0].target_location.targets #=> Array
resp.automation_execution.step_executions[0].target_location.targets[0].key #=> String
resp.automation_execution.step_executions[0].target_location.targets[0].values #=> Array
resp.automation_execution.step_executions[0].target_location.targets[0].values[0] #=> String
resp.automation_execution.step_executions[0].target_location.targets_max_concurrency #=> String
resp.automation_execution.step_executions[0].target_location.targets_max_errors #=> String
resp.automation_execution.step_executions[0].triggered_alarms #=> Array
resp.automation_execution.step_executions[0].triggered_alarms[0].name #=> String
resp.automation_execution.step_executions[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
resp.automation_execution.step_executions[0].parent_step_details.step_execution_id #=> String
resp.automation_execution.step_executions[0].parent_step_details.step_name #=> String
resp.automation_execution.step_executions[0].parent_step_details.action #=> String
resp.automation_execution.step_executions[0].parent_step_details.iteration #=> Integer
resp.automation_execution.step_executions[0].parent_step_details.iterator_value #=> 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.target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.automation_execution.target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.automation_execution.target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.automation_execution.target_locations[0].include_child_organization_units #=> Boolean
resp.automation_execution.target_locations[0].exclude_accounts #=> Array
resp.automation_execution.target_locations[0].exclude_accounts[0] #=> String
resp.automation_execution.target_locations[0].targets #=> Array
resp.automation_execution.target_locations[0].targets[0].key #=> String
resp.automation_execution.target_locations[0].targets[0].values #=> Array
resp.automation_execution.target_locations[0].targets[0].values[0] #=> String
resp.automation_execution.target_locations[0].targets_max_concurrency #=> String
resp.automation_execution.target_locations[0].targets_max_errors #=> 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.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.automation_execution.alarm_configuration.alarms #=> Array
resp.automation_execution.alarm_configuration.alarms[0].name #=> String
resp.automation_execution.triggered_alarms #=> Array
resp.automation_execution.triggered_alarms[0].name #=> String
resp.automation_execution.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
resp.automation_execution.target_locations_url #=> String
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].target_maps #=> Array
resp.automation_execution.runbooks[0].target_maps[0] #=> Hash
resp.automation_execution.runbooks[0].target_maps[0]["TargetMapKey"] #=> Array
resp.automation_execution.runbooks[0].target_maps[0]["TargetMapKey"][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.runbooks[0].target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.automation_execution.runbooks[0].target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.automation_execution.runbooks[0].target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.automation_execution.runbooks[0].target_locations[0].include_child_organization_units #=> Boolean
resp.automation_execution.runbooks[0].target_locations[0].exclude_accounts #=> Array
resp.automation_execution.runbooks[0].target_locations[0].exclude_accounts[0] #=> String
resp.automation_execution.runbooks[0].target_locations[0].targets #=> Array
resp.automation_execution.runbooks[0].target_locations[0].targets[0].key #=> String
resp.automation_execution.runbooks[0].target_locations[0].targets[0].values #=> Array
resp.automation_execution.runbooks[0].target_locations[0].targets[0].values[0] #=> String
resp.automation_execution.runbooks[0].target_locations[0].targets_max_concurrency #=> String
resp.automation_execution.runbooks[0].target_locations[0].targets_max_errors #=> String
resp.automation_execution.ops_item_id #=> String
resp.automation_execution.association_id #=> String
resp.automation_execution.change_request_name #=> String
resp.automation_execution.variables #=> Hash
resp.automation_execution.variables["AutomationParameterKey"] #=> Array
resp.automation_execution.variables["AutomationParameterKey"][0] #=> 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:



5872
5873
5874
5875
# File 'lib/aws-sdk-ssm/client.rb', line 5872

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:



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

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. The Run Command API follows an eventual consistency model, due to the distributed nature of the system supporting the API. This means that the result of an API command you run that affects your resources might not be immediately visible to all subsequent commands you run. You should keep this in mind when you carry out an API command that immediately follows a previous API command.

‘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 step for which you want detailed results. If the document contains only one step, you can omit the name and details for that step. If the document contains more than one step, you must specify the name of the step for which you want to view details. Be sure to specify the name of the step, not the name of a plugin like ‘aws:RunShellScript`.

    To find the ‘PluginName`, check the document content and find the name of the step you want details for. 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:



6036
6037
6038
6039
# File 'lib/aws-sdk-ssm/client.rb', line 6036

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:



6068
6069
6070
6071
# File 'lib/aws-sdk-ssm/client.rb', line 6068

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, AMAZON_LINUX_2022, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN, ROCKY_LINUX, ALMA_LINUX, AMAZON_LINUX_2023
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :operating_system (String)

    Returns the default patch baseline for the specified operating system.

Returns:

See Also:



6104
6105
6106
6107
# File 'lib/aws-sdk-ssm/client.rb', line 6104

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, AMAZON_LINUX_2022, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN, ROCKY_LINUX, ALMA_LINUX, AMAZON_LINUX_2023
    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:



6202
6203
6204
6205
# File 'lib/aws-sdk-ssm/client.rb', line 6202

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", "CloudFormation", "ConformancePackTemplate", "QuickSetup"
resp.document_format #=> String, one of "YAML", "JSON", "TEXT"
resp.requires #=> Array
resp.requires[0].name #=> String
resp.requires[0].version #=> String
resp.requires[0].require_type #=> String
resp.requires[0].version_name #=> 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, 12.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:



6279
6280
6281
6282
# File 'lib/aws-sdk-ssm/client.rb', line 6279

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

#get_execution_preview(params = {}) ⇒ Types::GetExecutionPreviewResponse

Initiates the process of retrieving an existing preview that shows the effects that running a specified Automation runbook would have on the targeted resources.

Examples:

Example: GetExecutionPreview


# This example illustrates one usage of GetExecutionPreview

resp = client.get_execution_preview({
  execution_preview_id: "2f27d6e5-9676-4708-b8bd-aef0ab47bb26", 
})

resp.to_h outputs the following:
{
  ended_at: Time.parse("2024-11-13T01:50:39.424000+00:00"), 
  execution_preview: {
    automation: {
      regions: [
        "us-east-2", 
      ], 
      step_previews: {
        "Undetermined" => 1, 
      }, 
      total_accounts: 1, 
    }, 
  }, 
  execution_preview_id: "2f27d6e5-9676-4708-b8bd-aef0ab47bb26", 
  status: "Success", 
}

Request syntax with placeholder values


resp = client.get_execution_preview({
  execution_preview_id: "ExecutionPreviewId", # required
})

Response structure


resp.execution_preview_id #=> String
resp.ended_at #=> Time
resp.status #=> String, one of "Pending", "InProgress", "Success", "Failed"
resp.status_message #=> String
resp.execution_preview.automation.step_previews #=> Hash
resp.execution_preview.automation.step_previews["ImpactType"] #=> Integer
resp.execution_preview.automation.regions #=> Array
resp.execution_preview.automation.regions[0] #=> String
resp.execution_preview.automation.target_previews #=> Array
resp.execution_preview.automation.target_previews[0].count #=> Integer
resp.execution_preview.automation.target_previews[0].target_type #=> String
resp.execution_preview.automation.total_accounts #=> Integer

Parameters:

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

    ({})

Options Hash (params):

  • :execution_preview_id (required, String)

    The ID of the existing execution preview.

Returns:

See Also:



6351
6352
6353
6354
# File 'lib/aws-sdk-ssm/client.rb', line 6351

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



6446
6447
6448
6449
# File 'lib/aws-sdk-ssm/client.rb', line 6446

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:



6507
6508
6509
6510
# File 'lib/aws-sdk-ssm/client.rb', line 6507

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:



6564
6565
6566
6567
# File 'lib/aws-sdk-ssm/client.rb', line 6564

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

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

Retrieves details about a specific a maintenance window execution.

Examples:

Request syntax with placeholder values


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

Response structure


resp.window_execution_id #=> String
resp.task_ids #=> Array
resp.task_ids[0] #=> String
resp.status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING"
resp.status_details #=> String
resp.start_time #=> Time
resp.end_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

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

Returns:

See Also:



6603
6604
6605
6606
# File 'lib/aws-sdk-ssm/client.rb', line 6603

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.window_execution_id #=> String
resp.task_execution_id #=> String
resp.task_arn #=> String
resp.service_role #=> String
resp.type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA"
resp.task_parameters #=> Array
resp.task_parameters[0] #=> Hash
resp.task_parameters[0]["MaintenanceWindowTaskParameterName"].values #=> Array
resp.task_parameters[0]["MaintenanceWindowTaskParameterName"].values[0] #=> String
resp.priority #=> Integer
resp.max_concurrency #=> String
resp.max_errors #=> String
resp.status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING"
resp.status_details #=> String
resp.start_time #=> Time
resp.end_time #=> Time
resp.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.alarm_configuration.alarms #=> Array
resp.alarm_configuration.alarms[0].name #=> String
resp.triggered_alarms #=> Array
resp.triggered_alarms[0].name #=> String
resp.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"

Parameters:

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

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

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

  • :task_id (required, String)

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

Returns:

See Also:



6672
6673
6674
6675
# File 'lib/aws-sdk-ssm/client.rb', line 6672

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.window_execution_id #=> String
resp.task_execution_id #=> String
resp.invocation_id #=> String
resp.execution_id #=> String
resp.task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA"
resp.parameters #=> String
resp.status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING"
resp.status_details #=> String
resp.start_time #=> Time
resp.end_time #=> Time
resp.owner_information #=> String
resp.window_target_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_execution_id (required, String)

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

  • :task_id (required, String)

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

  • :invocation_id (required, String)

    The invocation ID to retrieve.

Returns:

See Also:



6733
6734
6735
6736
# File 'lib/aws-sdk-ssm/client.rb', line 6733

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

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

Retrieves the details of a maintenance window task.

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

To retrieve a list of tasks in a maintenance window, instead use the DescribeMaintenanceWindowTasks command.

Examples:

Request syntax with placeholder values


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

Response structure


resp.window_id #=> String
resp.window_task_id #=> String
resp.targets #=> Array
resp.targets[0].key #=> String
resp.targets[0].values #=> Array
resp.targets[0].values[0] #=> String
resp.task_arn #=> String
resp.service_role_arn #=> String
resp.task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA"
resp.task_parameters #=> Hash
resp.task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array
resp.task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String
resp.task_invocation_parameters.run_command.comment #=> String
resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_log_group_name #=> String
resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean
resp.task_invocation_parameters.run_command.document_hash #=> String
resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1"
resp.task_invocation_parameters.run_command.document_version #=> String
resp.task_invocation_parameters.run_command.notification_config.notification_arn #=> String
resp.task_invocation_parameters.run_command.notification_config.notification_events #=> Array
resp.task_invocation_parameters.run_command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.task_invocation_parameters.run_command.notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.task_invocation_parameters.run_command.output_s3_bucket_name #=> String
resp.task_invocation_parameters.run_command.output_s3_key_prefix #=> String
resp.task_invocation_parameters.run_command.parameters #=> Hash
resp.task_invocation_parameters.run_command.parameters["ParameterName"] #=> Array
resp.task_invocation_parameters.run_command.parameters["ParameterName"][0] #=> String
resp.task_invocation_parameters.run_command.service_role_arn #=> String
resp.task_invocation_parameters.run_command.timeout_seconds #=> Integer
resp.task_invocation_parameters.automation.document_version #=> String
resp.task_invocation_parameters.automation.parameters #=> Hash
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"] #=> Array
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"][0] #=> String
resp.task_invocation_parameters.step_functions.input #=> String
resp.task_invocation_parameters.step_functions.name #=> String
resp.task_invocation_parameters.lambda.client_context #=> String
resp.task_invocation_parameters.lambda.qualifier #=> String
resp.task_invocation_parameters.lambda.payload #=> String
resp.priority #=> Integer
resp.max_concurrency #=> String
resp.max_errors #=> String
resp.logging_info.s3_bucket_name #=> String
resp.logging_info.s3_key_prefix #=> String
resp.logging_info.s3_region #=> String
resp.name #=> String
resp.description #=> String
resp.cutoff_behavior #=> String, one of "CONTINUE_TASK", "CANCEL_TASK"
resp.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.alarm_configuration.alarms #=> Array
resp.alarm_configuration.alarms[0].name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

    The maintenance window ID that includes the task to retrieve.

  • :window_task_id (required, String)

    The maintenance window task ID to retrieve.

Returns:

See Also:



6840
6841
6842
6843
# File 'lib/aws-sdk-ssm/client.rb', line 6840

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

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

Get information about an OpsItem by using the ID. You must have permission in Identity and Access Management (IAM) to view information about an OpsItem. For more information, see [Set up 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 [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-setup.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html

Examples:

Request syntax with placeholder values


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

Response structure


resp.ops_item.created_by #=> String
resp.ops_item.ops_item_type #=> String
resp.ops_item.created_time #=> Time
resp.ops_item.description #=> String
resp.ops_item.last_modified_by #=> String
resp.ops_item.last_modified_time #=> Time
resp.ops_item.notifications #=> Array
resp.ops_item.notifications[0].arn #=> String
resp.ops_item.priority #=> Integer
resp.ops_item.related_ops_items #=> Array
resp.ops_item.related_ops_items[0].ops_item_id #=> String
resp.ops_item.status #=> String, one of "Open", "InProgress", "Resolved", "Pending", "TimedOut", "Cancelling", "Cancelled", "Failed", "CompletedWithSuccess", "CompletedWithFailure", "Scheduled", "RunbookInProgress", "PendingChangeCalendarOverride", "ChangeCalendarOverrideApproved", "ChangeCalendarOverrideRejected", "PendingApproval", "Approved", "Rejected", "Closed"
resp.ops_item.ops_item_id #=> String
resp.ops_item.version #=> String
resp.ops_item.title #=> String
resp.ops_item.source #=> String
resp.ops_item.operational_data #=> Hash
resp.ops_item.operational_data["OpsItemDataKey"].value #=> String
resp.ops_item.operational_data["OpsItemDataKey"].type #=> String, one of "SearchableString", "String"
resp.ops_item.category #=> String
resp.ops_item.severity #=> String
resp.ops_item.actual_start_time #=> Time
resp.ops_item.actual_end_time #=> Time
resp.ops_item.planned_start_time #=> Time
resp.ops_item.planned_end_time #=> Time
resp.ops_item.ops_item_arn #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :ops_item_id (required, String)

    The ID of the OpsItem that you want to get.

  • :ops_item_arn (String)

    The OpsItem Amazon Resource Name (ARN).

Returns:

See Also:



6912
6913
6914
6915
# File 'lib/aws-sdk-ssm/client.rb', line 6912

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

#get_ops_metadata(params = {}) ⇒ Types::GetOpsMetadataResult

View operational metadata related to an application in Application Manager.

Examples:

Request syntax with placeholder values


resp = client.({
  ops_metadata_arn: "OpsMetadataArn", # required
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.resource_id #=> String
resp. #=> Hash
resp.["MetadataKey"].value #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :ops_metadata_arn (required, String)

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

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



6957
6958
6959
6960
# File 'lib/aws-sdk-ssm/client.rb', line 6957

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

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

View a summary of operations metadata (OpsData) based on specified filters and aggregators. OpsData can include information about Amazon Web Services Systems Manager OpsCenter operational workitems (OpsItems) as well as information about any Amazon Web Services resource or service configured to report OpsData to Amazon Web Services Systems Manager Explorer.

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_ops_summary({
  sync_name: "ResourceDataSyncName",
  filters: [
    {
      key: "OpsFilterKey", # required
      values: ["OpsFilterValue"], # required
      type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists
    },
  ],
  aggregators: [
    {
      aggregator_type: "OpsAggregatorType",
      type_name: "OpsDataTypeName",
      attribute_name: "OpsDataAttributeName",
      values: {
        "OpsAggregatorValueKey" => "OpsAggregatorValue",
      },
      filters: [
        {
          key: "OpsFilterKey", # required
          values: ["OpsFilterValue"], # required
          type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists
        },
      ],
      aggregators: {
        # recursive OpsAggregatorList
      },
    },
  ],
  result_attributes: [
    {
      type_name: "OpsDataTypeName", # required
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :sync_name (String)

    Specify the name of a resource data sync to get.

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

    Optional filters used to scope down the returned OpsData.

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

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

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

    The OpsData data type to return.

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



7053
7054
7055
7056
# File 'lib/aws-sdk-ssm/client.rb', line 7053

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

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

Get information about a single parameter by specifying the parameter name.

<note markdown=“1”> To get information about more than one parameter at a time, use the GetParameters operation.

</note>

Examples:

Request syntax with placeholder values


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

Response structure


resp.parameter.name #=> String
resp.parameter.type #=> String, one of "String", "StringList", "SecureString"
resp.parameter.value #=> String
resp.parameter.version #=> Integer
resp.parameter.selector #=> String
resp.parameter.source_result #=> String
resp.parameter.last_modified_date #=> Time
resp.parameter.arn #=> String
resp.parameter.data_type #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name or Amazon Resource Name (ARN) of the parameter that you want to query. For parameters shared with you from another account, you must use the full ARN.

    To query by parameter label, use ‘“Name”: “name:label”`. To query by parameter version, use `“Name”: “name:version”`.

    For more information about shared parameters, see [Working with shared parameters] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html

  • :with_decryption (Boolean)

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

Returns:

See Also:



7113
7114
7115
7116
# File 'lib/aws-sdk-ssm/client.rb', line 7113

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

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

Retrieves the history of all changes to a parameter.

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, ‘GetParameterHistory` 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.get_parameter_history({
  name: "PSParameterName", # required
  with_decryption: false,
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString"
resp.parameters[0].key_id #=> String
resp.parameters[0].last_modified_date #=> Time
resp.parameters[0].last_modified_user #=> String
resp.parameters[0].description #=> String
resp.parameters[0].value #=> String
resp.parameters[0].allowed_pattern #=> String
resp.parameters[0].version #=> Integer
resp.parameters[0].labels #=> Array
resp.parameters[0].labels[0] #=> String
resp.parameters[0].tier #=> String, one of "Standard", "Advanced", "Intelligent-Tiering"
resp.parameters[0].policies #=> Array
resp.parameters[0].policies[0].policy_text #=> String
resp.parameters[0].policies[0].policy_type #=> String
resp.parameters[0].policies[0].policy_status #=> String
resp.parameters[0].data_type #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name or Amazon Resource Name (ARN) of the parameter for which you want to review history. For parameters shared with you from another account, you must use the full ARN.

  • :with_decryption (Boolean)

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String)

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

Returns:

See Also:



7185
7186
7187
7188
# File 'lib/aws-sdk-ssm/client.rb', line 7185

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

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

Get information about one or more parameters by specifying multiple parameter names.

<note markdown=“1”> To get information about a single parameter, you can use the GetParameter operation instead.

</note>

Examples:

Request syntax with placeholder values


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

Response structure


resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString"
resp.parameters[0].value #=> String
resp.parameters[0].version #=> Integer
resp.parameters[0].selector #=> String
resp.parameters[0].source_result #=> String
resp.parameters[0].last_modified_date #=> Time
resp.parameters[0].arn #=> String
resp.parameters[0].data_type #=> String
resp.invalid_parameters #=> Array
resp.invalid_parameters[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :names (required, Array<String>)

    The names or Amazon Resource Names (ARNs) of the parameters that you want to query. For parameters shared with you from another account, you must use the full ARNs.

    To query by parameter label, use ‘“Name”: “name:label”`. To query by parameter version, use `“Name”: “name:version”`.

    <note markdown=“1”> The results for ‘GetParameters` requests are listed in alphabetical order in query responses.

    </note>
    

    For information about shared parameters, see [Working with shared parameters] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html

  • :with_decryption (Boolean)

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

Returns:

See Also:



7255
7256
7257
7258
# File 'lib/aws-sdk-ssm/client.rb', line 7255

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

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

Retrieve information about one or more parameters in a specific hierarchy.

Request results are returned on a best-effort basis. If you specify ‘MaxResults` in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of `MaxResults`. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a `NextToken`. You can specify the `NextToken` in a subsequent call to get the next set of results.

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_parameters_by_path({
  path: "PSParameterName", # required
  recursive: false,
  parameter_filters: [
    {
      key: "ParameterStringFilterKey", # required
      option: "ParameterStringQueryOption",
      values: ["ParameterStringFilterValue"],
    },
  ],
  with_decryption: false,
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString"
resp.parameters[0].value #=> String
resp.parameters[0].version #=> Integer
resp.parameters[0].selector #=> String
resp.parameters[0].source_result #=> String
resp.parameters[0].last_modified_date #=> Time
resp.parameters[0].arn #=> String
resp.parameters[0].data_type #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :path (required, String)

    The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierarchy is the parameter name except the last part of the parameter. For the API call to succeed, the last part of the parameter name can’t be in the path. A parameter name hierarchy can have a maximum of 15 levels. Here is an example of a hierarchy: ‘/Finance/Prod/IAD/WinServ2016/license33 `

  • :recursive (Boolean)

    Retrieve all parameters within a hierarchy.

    If a user has access to a path, then the user can access all levels of that path. For example, if a user has permission to access path ‘/a`, then the user can also access `/a/b`. Even if a user has explicitly been denied access in IAM for parameter `/a/b`, they can still call the GetParametersByPath API operation recursively for `/a` and view `/a/b`.

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

    Filters to limit the request results.

    <note markdown=“1”> The following ‘Key` values are supported for `GetParametersByPath`: `Type`, `KeyId`, and `Label`.

    The following `Key` values aren't supported for
    

    ‘GetParametersByPath`: `tag`, `DataType`, `Name`, `Path`, and `Tier`.

    </note>
    
  • :with_decryption (Boolean)

    Retrieve all parameters in a hierarchy with their value decrypted.

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String)

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

Returns:

See Also:



7355
7356
7357
7358
# File 'lib/aws-sdk-ssm/client.rb', line 7355

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

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

Retrieves information about a patch baseline.

Examples:

Request syntax with placeholder values


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

Response structure


resp.baseline_id #=> String
resp.name #=> String
resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "AMAZON_LINUX_2022", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS", "ORACLE_LINUX", "DEBIAN", "MACOS", "RASPBIAN", "ROCKY_LINUX", "ALMA_LINUX", "AMAZON_LINUX_2023"
resp.global_filters.patch_filters #=> Array
resp.global_filters.patch_filters[0].key #=> String, one of "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"
resp.global_filters.patch_filters[0].values #=> Array
resp.global_filters.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].key #=> String, one of "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"
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules[0].compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.approval_rules.patch_rules[0].approve_after_days #=> Integer
resp.approval_rules.patch_rules[0].approve_until_date #=> String
resp.approval_rules.patch_rules[0].enable_non_security #=> Boolean
resp.approved_patches #=> Array
resp.approved_patches[0] #=> String
resp.approved_patches_compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.approved_patches_enable_non_security #=> Boolean
resp.rejected_patches #=> Array
resp.rejected_patches[0] #=> String
resp.rejected_patches_action #=> String, one of "ALLOW_AS_DEPENDENCY", "BLOCK"
resp.patch_groups #=> Array
resp.patch_groups[0] #=> String
resp.created_date #=> Time
resp.modified_date #=> Time
resp.description #=> String
resp.sources #=> Array
resp.sources[0].name #=> String
resp.sources[0].products #=> Array
resp.sources[0].products[0] #=> String
resp.sources[0].configuration #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to retrieve.

    <note markdown=“1”> To retrieve information about an Amazon Web Services managed patch baseline, specify the full Amazon Resource Name (ARN) of the baseline. For example, for the baseline ‘AWS-AmazonLinuxDefaultPatchBaseline`, specify `arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7` instead of `pb-0e392de35e7c563b7`.

    </note>
    

Returns:

See Also:



7438
7439
7440
7441
# File 'lib/aws-sdk-ssm/client.rb', line 7438

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

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

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

Examples:

Request syntax with placeholder values


resp = client.get_patch_baseline_for_patch_group({
  patch_group: "PatchGroup", # required
  operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, AMAZON_LINUX_2022, UBUNTU, REDHAT_ENTERPRISE_LINUX, SUSE, CENTOS, ORACLE_LINUX, DEBIAN, MACOS, RASPBIAN, ROCKY_LINUX, ALMA_LINUX, AMAZON_LINUX_2023
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :patch_group (required, String)

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

  • :operating_system (String)

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

Returns:

See Also:



7476
7477
7478
7479
# File 'lib/aws-sdk-ssm/client.rb', line 7476

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

#get_resource_policies(params = {}) ⇒ Types::GetResourcePoliciesResponse

Returns an array of the ‘Policy` object.

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_resource_policies({
  resource_arn: "ResourceArnString", # required
  next_token: "String",
  max_results: 1,
})

Response structure


resp.next_token #=> String
resp.policies #=> Array
resp.policies[0].policy_id #=> String
resp.policies[0].policy_hash #=> String
resp.policies[0].policy #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource to which the policies are attached.

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



7523
7524
7525
7526
# File 'lib/aws-sdk-ssm/client.rb', line 7523

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

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

‘ServiceSetting` is an account-level setting for an Amazon Web Services service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an Amazon Web Services service charges money to the account based on feature or service usage, then the Amazon Web Services service team might create a default setting of `false`. This means the user can’t use this feature unless they change the setting to ‘true` and intentionally opt in for a paid feature.

Services map a ‘SettingId` object to a setting value. Amazon Web Services services teams define the default value for a `SettingId`. You can’t create a new ‘SettingId`, but you can overwrite the default value if you have the `ssm:UpdateServiceSetting` permission for the setting. Use the UpdateServiceSetting API operation to change the default setting. Or use the ResetServiceSetting to change the value back to the original value defined by the Amazon Web Services service team.

Query the current service setting for the Amazon Web Services account.

Examples:

Request syntax with placeholder values


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

Response structure


resp.service_setting.setting_id #=> String
resp.service_setting.setting_value #=> String
resp.service_setting.last_modified_date #=> Time
resp.service_setting.last_modified_user #=> String
resp.service_setting.arn #=> String
resp.service_setting.status #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :setting_id (required, String)

    The ID of the service setting to get. The setting ID can be one of the following.

    • ‘/ssm/appmanager/appmanager-enabled`

    • ‘/ssm/automation/customer-script-log-destination`

    • ‘/ssm/automation/customer-script-log-group-name`

    • /ssm/automation/enable-adaptive-concurrency

    • ‘/ssm/documents/console/public-sharing-permission`

    • ‘/ssm/managed-instance/activation-tier`

    • ‘/ssm/managed-instance/default-ec2-instance-management-role`

    • ‘/ssm/opsinsights/opscenter`

    • ‘/ssm/parameter-store/default-parameter-tier`

    • ‘/ssm/parameter-store/high-throughput-enabled`

Returns:

See Also:



7595
7596
7597
7598
# File 'lib/aws-sdk-ssm/client.rb', line 7595

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

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

A parameter label is a user-defined alias to help you manage different versions of a parameter. When you modify a parameter, Amazon Web Services Systems Manager automatically saves a new version and increments the version number by one. A label can help you remember the purpose of a parameter when there are multiple versions.

Parameter labels have the following requirements and restrictions.

  • A version of a parameter can have a maximum of 10 labels.

  • You can’t attach the same label to different versions of the same parameter. For example, if version 1 has the label Production, then you can’t attach Production to version 2.

  • You can move a label from one version of a parameter to another.

  • You can’t create a label when you create a new parameter. You must attach a label to a specific version of a parameter.

  • If you no longer want to use a parameter label, then you can either delete it or move it to a different version of a parameter.

  • A label can have a maximum of 100 characters.

  • Labels can contain letters (case sensitive), numbers, periods (.), hyphens (-), or underscores (_).

  • Labels can’t begin with a number, “‘aws`” or “`ssm`” (not case sensitive). If a label fails to meet these requirements, then the label isn’t associated with a parameter and the system displays it in the list of InvalidLabels.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

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

    <note markdown=“1”> You can’t enter the Amazon Resource Name (ARN) for a parameter, only the parameter name itself.

    </note>
    
  • :parameter_version (Integer)

    The specific version of the parameter on which you want to attach one or more labels. If no version is specified, the system attaches the label to the latest version.

  • :labels (required, Array<String>)

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

Returns:

See Also:



7671
7672
7673
7674
# File 'lib/aws-sdk-ssm/client.rb', line 7671

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.association_versions #=> Array
resp.association_versions[0].association_id #=> String
resp.association_versions[0].association_version #=> String
resp.association_versions[0].created_date #=> Time
resp.association_versions[0].name #=> String
resp.association_versions[0].document_version #=> String
resp.association_versions[0].parameters #=> Hash
resp.association_versions[0].parameters["ParameterName"] #=> Array
resp.association_versions[0].parameters["ParameterName"][0] #=> String
resp.association_versions[0].targets #=> Array
resp.association_versions[0].targets[0].key #=> String
resp.association_versions[0].targets[0].values #=> Array
resp.association_versions[0].targets[0].values[0] #=> String
resp.association_versions[0].schedule_expression #=> String
resp.association_versions[0].output_location.s3_location.output_s3_region #=> String
resp.association_versions[0].output_location.s3_location.output_s3_bucket_name #=> String
resp.association_versions[0].output_location.s3_location.output_s3_key_prefix #=> String
resp.association_versions[0].association_name #=> String
resp.association_versions[0].max_errors #=> String
resp.association_versions[0].max_concurrency #=> String
resp.association_versions[0].compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED"
resp.association_versions[0].sync_compliance #=> String, one of "AUTO", "MANUAL"
resp.association_versions[0].apply_only_at_cron_interval #=> Boolean
resp.association_versions[0].calendar_names #=> Array
resp.association_versions[0].calendar_names[0] #=> String
resp.association_versions[0].target_locations #=> Array
resp.association_versions[0].target_locations[0].accounts #=> Array
resp.association_versions[0].target_locations[0].accounts[0] #=> String
resp.association_versions[0].target_locations[0].regions #=> Array
resp.association_versions[0].target_locations[0].regions[0] #=> String
resp.association_versions[0].target_locations[0].target_location_max_concurrency #=> String
resp.association_versions[0].target_locations[0].target_location_max_errors #=> String
resp.association_versions[0].target_locations[0].execution_role_name #=> String
resp.association_versions[0].target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_versions[0].target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.association_versions[0].target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.association_versions[0].target_locations[0].include_child_organization_units #=> Boolean
resp.association_versions[0].target_locations[0].exclude_accounts #=> Array
resp.association_versions[0].target_locations[0].exclude_accounts[0] #=> String
resp.association_versions[0].target_locations[0].targets #=> Array
resp.association_versions[0].target_locations[0].targets[0].key #=> String
resp.association_versions[0].target_locations[0].targets[0].values #=> Array
resp.association_versions[0].target_locations[0].targets[0].values[0] #=> String
resp.association_versions[0].target_locations[0].targets_max_concurrency #=> String
resp.association_versions[0].target_locations[0].targets_max_errors #=> String
resp.association_versions[0].schedule_offset #=> Integer
resp.association_versions[0].duration #=> Integer
resp.association_versions[0].target_maps #=> Array
resp.association_versions[0].target_maps[0] #=> Hash
resp.association_versions[0].target_maps[0]["TargetMapKey"] #=> Array
resp.association_versions[0].target_maps[0]["TargetMapKey"][0] #=> 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 all versions.

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String)

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

Returns:

See Also:



7765
7766
7767
7768
# File 'lib/aws-sdk-ssm/client.rb', line 7765

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

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

Returns all State Manager associations in the current Amazon Web Services account and Amazon Web Services Region. You can limit the results to a specific State Manager association document or managed node by specifying a filter. State Manager is a capability of Amazon Web Services Systems Manager.

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

Examples:

Request syntax with placeholder values


resp = client.list_associations({
  association_filter_list: [
    {
      key: "InstanceId", # required, accepts InstanceId, Name, AssociationId, AssociationStatusName, LastExecutedBefore, LastExecutedAfter, AssociationName, ResourceGroupName
      value: "AssociationFilterValue", # required
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.associations #=> Array
resp.associations[0].name #=> String
resp.associations[0].instance_id #=> String
resp.associations[0].association_id #=> String
resp.associations[0].association_version #=> String
resp.associations[0].document_version #=> String
resp.associations[0].targets #=> Array
resp.associations[0].targets[0].key #=> String
resp.associations[0].targets[0].values #=> Array
resp.associations[0].targets[0].values[0] #=> String
resp.associations[0].last_execution_date #=> Time
resp.associations[0].overview.status #=> String
resp.associations[0].overview.detailed_status #=> String
resp.associations[0].overview.association_status_aggregated_count #=> Hash
resp.associations[0].overview.association_status_aggregated_count["StatusName"] #=> Integer
resp.associations[0].schedule_expression #=> String
resp.associations[0].association_name #=> String
resp.associations[0].schedule_offset #=> Integer
resp.associations[0].duration #=> Integer
resp.associations[0].target_maps #=> Array
resp.associations[0].target_maps[0] #=> Hash
resp.associations[0].target_maps[0]["TargetMapKey"] #=> Array
resp.associations[0].target_maps[0]["TargetMapKey"][0] #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

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

    <note markdown=“1”> Filtering associations using the ‘InstanceID` attribute only returns legacy associations created using the `InstanceID` attribute. Associations targeting the managed node that are part of the Target Attributes `ResourceGroup` or `Tags` aren’t returned.

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



7847
7848
7849
7850
# File 'lib/aws-sdk-ssm/client.rb', line 7847

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

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

An invocation is copy of a command sent to a specific managed node. A command can apply to one or more managed nodes. A command invocation applies to one managed node. For example, if a user runs ‘SendCommand` against three managed nodes, then a command invocation is created for each requested managed node ID. `ListCommandInvocations` provide status about command 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.list_command_invocations({
  command_id: "CommandId",
  instance_id: "InstanceId",
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status, ExecutionStage, DocumentName
      value: "CommandFilterValue", # required
    },
  ],
  details: false,
})

Response structure


resp.command_invocations #=> Array
resp.command_invocations[0].command_id #=> String
resp.command_invocations[0].instance_id #=> String
resp.command_invocations[0].instance_name #=> String
resp.command_invocations[0].comment #=> String
resp.command_invocations[0].document_name #=> String
resp.command_invocations[0].document_version #=> String
resp.command_invocations[0].requested_date_time #=> Time
resp.command_invocations[0].status #=> String, one of "Pending", "InProgress", "Delayed", "Success", "Cancelled", "TimedOut", "Failed", "Cancelling"
resp.command_invocations[0].status_details #=> String
resp.command_invocations[0].trace_output #=> String
resp.command_invocations[0].standard_output_url #=> String
resp.command_invocations[0].standard_error_url #=> String
resp.command_invocations[0].command_plugins #=> Array
resp.command_invocations[0].command_plugins[0].name #=> String
resp.command_invocations[0].command_plugins[0].status #=> String, one of "Pending", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.command_invocations[0].command_plugins[0].status_details #=> String
resp.command_invocations[0].command_plugins[0].response_code #=> Integer
resp.command_invocations[0].command_plugins[0].response_start_date_time #=> Time
resp.command_invocations[0].command_plugins[0].response_finish_date_time #=> Time
resp.command_invocations[0].command_plugins[0].output #=> String
resp.command_invocations[0].command_plugins[0].standard_output_url #=> String
resp.command_invocations[0].command_plugins[0].standard_error_url #=> String
resp.command_invocations[0].command_plugins[0].output_s3_region #=> String
resp.command_invocations[0].command_plugins[0].output_s3_bucket_name #=> String
resp.command_invocations[0].command_plugins[0].output_s3_key_prefix #=> String
resp.command_invocations[0].service_role #=> String
resp.command_invocations[0].notification_config.notification_arn #=> String
resp.command_invocations[0].notification_config.notification_events #=> Array
resp.command_invocations[0].notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.command_invocations[0].notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.command_invocations[0].cloud_watch_output_config.cloud_watch_log_group_name #=> String
resp.command_invocations[0].cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :command_id (String) — default: Optional

    The invocations for a specific command ID.

  • :instance_id (String) — default: Optional

    The command execution details for a specific managed node ID.

  • :max_results (Integer) — default: Optional

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String) — default: Optional

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

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

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

  • :details (Boolean) — default: Optional

    If set this returns the response of the command executions and any command output. The default value is ‘false`.

Returns:

See Also:



7947
7948
7949
7950
# File 'lib/aws-sdk-ssm/client.rb', line 7947

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

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

Lists the commands requested by users of the 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.list_commands({
  command_id: "CommandId",
  instance_id: "InstanceId",
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status, ExecutionStage, DocumentName
      value: "CommandFilterValue", # required
    },
  ],
})

Response structure


resp.commands #=> Array
resp.commands[0].command_id #=> String
resp.commands[0].document_name #=> String
resp.commands[0].document_version #=> String
resp.commands[0].comment #=> String
resp.commands[0].expires_after #=> Time
resp.commands[0].parameters #=> Hash
resp.commands[0].parameters["ParameterName"] #=> Array
resp.commands[0].parameters["ParameterName"][0] #=> String
resp.commands[0].instance_ids #=> Array
resp.commands[0].instance_ids[0] #=> String
resp.commands[0].targets #=> Array
resp.commands[0].targets[0].key #=> String
resp.commands[0].targets[0].values #=> Array
resp.commands[0].targets[0].values[0] #=> String
resp.commands[0].requested_date_time #=> Time
resp.commands[0].status #=> String, one of "Pending", "InProgress", "Success", "Cancelled", "Failed", "TimedOut", "Cancelling"
resp.commands[0].status_details #=> String
resp.commands[0].output_s3_region #=> String
resp.commands[0].output_s3_bucket_name #=> String
resp.commands[0].output_s3_key_prefix #=> String
resp.commands[0].max_concurrency #=> String
resp.commands[0].max_errors #=> String
resp.commands[0].target_count #=> Integer
resp.commands[0].completed_count #=> Integer
resp.commands[0].error_count #=> Integer
resp.commands[0].delivery_timed_out_count #=> Integer
resp.commands[0].service_role #=> String
resp.commands[0].notification_config.notification_arn #=> String
resp.commands[0].notification_config.notification_events #=> Array
resp.commands[0].notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.commands[0].notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.commands[0].cloud_watch_output_config.cloud_watch_log_group_name #=> String
resp.commands[0].cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean
resp.commands[0].timeout_seconds #=> Integer
resp.commands[0].alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.commands[0].alarm_configuration.alarms #=> Array
resp.commands[0].alarm_configuration.alarms[0].name #=> String
resp.commands[0].triggered_alarms #=> Array
resp.commands[0].triggered_alarms[0].name #=> String
resp.commands[0].triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :command_id (String) — default: Optional

    If provided, lists only the specified command.

  • :instance_id (String) — default: Optional

    Lists commands issued against this managed node ID.

    <note markdown=“1”> You can’t specify a managed node ID in the same command that you specify ‘Status` = `Pending`. This is because the command hasn’t reached the managed node yet.

    </note>
    
  • :max_results (Integer) — default: Optional

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String) — default: Optional

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

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

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

Returns:

See Also:



8051
8052
8053
8054
# File 'lib/aws-sdk-ssm/client.rb', line 8051

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

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

For a specified resource ID, this API operation returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter.

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

Examples:

Request syntax with placeholder values


resp = client.list_compliance_items({
  filters: [
    {
      key: "ComplianceStringFilterKey",
      values: ["ComplianceFilterValue"],
      type: "EQUAL", # accepts EQUAL, NOT_EQUAL, BEGIN_WITH, LESS_THAN, GREATER_THAN
    },
  ],
  resource_ids: ["ComplianceResourceId"],
  resource_types: ["ComplianceResourceType"],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.compliance_items #=> Array
resp.compliance_items[0].compliance_type #=> String
resp.compliance_items[0].resource_type #=> String
resp.compliance_items[0].resource_id #=> String
resp.compliance_items[0].id #=> String
resp.compliance_items[0].title #=> String
resp.compliance_items[0].status #=> String, one of "COMPLIANT", "NON_COMPLIANT"
resp.compliance_items[0].severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.compliance_items[0].execution_summary.execution_time #=> Time
resp.compliance_items[0].execution_summary.execution_id #=> String
resp.compliance_items[0].execution_summary.execution_type #=> String
resp.compliance_items[0].details #=> Hash
resp.compliance_items[0].details["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

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

  • :resource_ids (Array<String>)

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

  • :resource_types (Array<String>)

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

  • :next_token (String)

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

Returns:

See Also:



8126
8127
8128
8129
# File 'lib/aws-sdk-ssm/client.rb', line 8126

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

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

Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify.

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

Examples:

Request syntax with placeholder values


resp = client.list_compliance_summaries({
  filters: [
    {
      key: "ComplianceStringFilterKey",
      values: ["ComplianceFilterValue"],
      type: "EQUAL", # accepts EQUAL, NOT_EQUAL, BEGIN_WITH, LESS_THAN, GREATER_THAN
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.compliance_summary_items #=> Array
resp.compliance_summary_items[0].compliance_type #=> String
resp.compliance_summary_items[0].compliant_summary.compliant_count #=> Integer
resp.compliance_summary_items[0].compliant_summary.severity_summary.critical_count #=> Integer
resp.compliance_summary_items[0].compliant_summary.severity_summary.high_count #=> Integer
resp.compliance_summary_items[0].compliant_summary.severity_summary.medium_count #=> Integer
resp.compliance_summary_items[0].compliant_summary.severity_summary.low_count #=> Integer
resp.compliance_summary_items[0].compliant_summary.severity_summary.informational_count #=> Integer
resp.compliance_summary_items[0].compliant_summary.severity_summary.unspecified_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.non_compliant_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.severity_summary.critical_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.severity_summary.high_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.severity_summary.medium_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.severity_summary.low_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.severity_summary.informational_count #=> Integer
resp.compliance_summary_items[0].non_compliant_summary.severity_summary.unspecified_count #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

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

  • :next_token (String)

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

  • :max_results (Integer)

    The maximum number of items to return for this call. Currently, you can specify null or 50. The call also returns a token that you can specify in a subsequent call to get the next set of results.

Returns:

See Also:



8194
8195
8196
8197
# File 'lib/aws-sdk-ssm/client.rb', line 8194

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

#list_document_metadata_history(params = {}) ⇒ Types::ListDocumentMetadataHistoryResponse

Information about approval reviews for a version of a change template in Change Manager.

Examples:

Request syntax with placeholder values


resp = client.({
  name: "DocumentName", # required
  document_version: "DocumentVersion",
  metadata: "DocumentReviews", # required, accepts DocumentReviews
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.name #=> String
resp.document_version #=> String
resp.author #=> String
resp..reviewer_response #=> Array
resp..reviewer_response[0].create_time #=> Time
resp..reviewer_response[0].updated_time #=> Time
resp..reviewer_response[0].review_status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"
resp..reviewer_response[0].comment #=> Array
resp..reviewer_response[0].comment[0].type #=> String, one of "Comment"
resp..reviewer_response[0].comment[0].content #=> String
resp..reviewer_response[0].reviewer #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the change template.

  • :document_version (String)

    The version of the change template.

  • :metadata (required, String)

    The type of data for which details are being requested. Currently, the only supported value is ‘DocumentReviews`.

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



8258
8259
8260
8261
# File 'lib/aws-sdk-ssm/client.rb', line 8258

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

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

List all versions for a document.

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.document_versions #=> Array
resp.document_versions[0].name #=> String
resp.document_versions[0].display_name #=> String
resp.document_versions[0].document_version #=> String
resp.document_versions[0].version_name #=> String
resp.document_versions[0].created_date #=> Time
resp.document_versions[0].is_default_version #=> Boolean
resp.document_versions[0].document_format #=> String, one of "YAML", "JSON", "TEXT"
resp.document_versions[0].status #=> String, one of "Creating", "Active", "Updating", "Deleting", "Failed"
resp.document_versions[0].status_information #=> String
resp.document_versions[0].review_status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the document. You can specify an Amazon Resource Name (ARN).

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



8312
8313
8314
8315
# File 'lib/aws-sdk-ssm/client.rb', line 8312

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

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

Returns all Systems Manager (SSM) documents in the current Amazon Web Services account and Amazon Web Services Region. You can limit the results of this request by using a filter.

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

Examples:

Request syntax with placeholder values


resp = client.list_documents({
  document_filter_list: [
    {
      key: "Name", # required, accepts Name, Owner, PlatformTypes, DocumentType
      value: "DocumentFilterValue", # required
    },
  ],
  filters: [
    {
      key: "DocumentKeyValuesFilterKey",
      values: ["DocumentKeyValuesFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.document_identifiers #=> Array
resp.document_identifiers[0].name #=> String
resp.document_identifiers[0].created_date #=> Time
resp.document_identifiers[0].display_name #=> String
resp.document_identifiers[0].owner #=> String
resp.document_identifiers[0].version_name #=> String
resp.document_identifiers[0].platform_types #=> Array
resp.document_identifiers[0].platform_types[0] #=> String, one of "Windows", "Linux", "MacOS"
resp.document_identifiers[0].document_version #=> String
resp.document_identifiers[0].document_type #=> String, one of "Command", "Policy", "Automation", "Session", "Package", "ApplicationConfiguration", "ApplicationConfigurationSchema", "DeploymentStrategy", "ChangeCalendar", "Automation.ChangeTemplate", "ProblemAnalysis", "ProblemAnalysisTemplate", "CloudFormation", "ConformancePackTemplate", "QuickSetup"
resp.document_identifiers[0].schema_version #=> String
resp.document_identifiers[0].document_format #=> String, one of "YAML", "JSON", "TEXT"
resp.document_identifiers[0].target_type #=> String
resp.document_identifiers[0].tags #=> Array
resp.document_identifiers[0].tags[0].key #=> String
resp.document_identifiers[0].tags[0].value #=> String
resp.document_identifiers[0].requires #=> Array
resp.document_identifiers[0].requires[0].name #=> String
resp.document_identifiers[0].requires[0].version #=> String
resp.document_identifiers[0].requires[0].require_type #=> String
resp.document_identifiers[0].requires[0].version_name #=> String
resp.document_identifiers[0].review_status #=> String, one of "APPROVED", "NOT_REVIEWED", "PENDING", "REJECTED"
resp.document_identifiers[0].author #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    This data type is deprecated. Instead, use ‘Filters`.

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

    One or more ‘DocumentKeyValuesFilter` objects. Use a filter to return a more specific list of results. For keys, you can specify one or more key-value pair tags that have been applied to a document. Other valid keys include `Owner`, `Name`, `PlatformTypes`, `DocumentType`, and `TargetType`. For example, to return documents you own use `Key=Owner,Values=Self`. To specify a custom key-value pair, use the format `Key=tag:tagName,Values=valueName`.

    <note markdown=“1”> This API operation only supports filtering documents by using a single tag key and one or more tag values. For example: ‘Key=tag:tagName,Values=valueName1,valueName2`

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



8405
8406
8407
8408
# File 'lib/aws-sdk-ssm/client.rb', line 8405

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

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

A list of inventory items returned by the request.

Examples:

Request syntax with placeholder values


resp = client.list_inventory_entries({
  instance_id: "InstanceId", # required
  type_name: "InventoryItemTypeName", # required
  filters: [
    {
      key: "InventoryFilterKey", # required
      values: ["InventoryFilterValue"], # required
      type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan, Exists
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.type_name #=> String
resp.instance_id #=> String
resp.schema_version #=> String
resp.capture_time #=> String
resp.data.entries #=> Array
resp.data.entries[0] #=> Hash
resp.data.entries[0]["AttributeName"] #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The managed node ID for which you want inventory information.

  • :type_name (required, String)

    The type of inventory item for which you want information.

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

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

  • :next_token (String)

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

Returns:

See Also:



8471
8472
8473
8474
# File 'lib/aws-sdk-ssm/client.rb', line 8471

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

#list_nodes(params = {}) ⇒ Types::ListNodesResult

Takes in filters and returns a list of managed nodes matching the filter criteria.

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

Examples:

Example: ListNodes


# This example illustrates one usage of ListNodes

resp = client.list_nodes({
  filters: [
    {
      key: "Region", 
      type: "Equal", 
      values: [
        "us-east-2", 
      ], 
    }, 
  ], 
  max_results: 1, 
  sync_name: "AWS-QuickSetup-ManagedNode", 
})

resp.to_h outputs the following:
{
  next_token: "A9lT8CAxj9aDFRi+MNAoFq08IEXAMPLE", 
  nodes: [
    {
      capture_time: Time.parse("2024-11-19T22:01:18"), 
      id: "i-02573cafcfEXAMPLE", 
      node_type: {
        instance: {
          agent_type: "amazon-ssm-agent", 
          agent_version: "3.3.859.0", 
          computer_name: "ip-192.0.2.0.ec2.internal", 
          instance_status: "Active", 
          ip_address: "192.0.2.0", 
          managed_status: "Managed", 
          platform_name: "Amazon Linux", 
          platform_type: "Linux", 
          platform_version: "2023", 
          resource_type: "EC2Instance", 
        }, 
      }, 
      owner: {
        account_id: "111122223333", 
        organizational_unit_id: "ou-b8dn-sasv9tfp", 
        organizational_unit_path: "r-b8dn/ou-b8dn-sasv9tfp", 
      }, 
      region: "us-east-2", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_nodes({
  sync_name: "ResourceDataSyncName",
  filters: [
    {
      key: "AgentType", # required, accepts AgentType, AgentVersion, ComputerName, InstanceId, InstanceStatus, IpAddress, ManagedStatus, PlatformName, PlatformType, PlatformVersion, ResourceType, OrganizationalUnitId, OrganizationalUnitPath, Region, AccountId
      values: ["NodeFilterValue"], # required
      type: "Equal", # accepts Equal, NotEqual, BeginWith
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.nodes #=> Array
resp.nodes[0].capture_time #=> Time
resp.nodes[0].id #=> String
resp.nodes[0].owner. #=> String
resp.nodes[0].owner.organizational_unit_id #=> String
resp.nodes[0].owner.organizational_unit_path #=> String
resp.nodes[0].region #=> String
resp.nodes[0].node_type.instance.agent_type #=> String
resp.nodes[0].node_type.instance.agent_version #=> String
resp.nodes[0].node_type.instance.computer_name #=> String
resp.nodes[0].node_type.instance.instance_status #=> String
resp.nodes[0].node_type.instance.ip_address #=> String
resp.nodes[0].node_type.instance.managed_status #=> String, one of "All", "Managed", "Unmanaged"
resp.nodes[0].node_type.instance.platform_type #=> String, one of "Windows", "Linux", "MacOS"
resp.nodes[0].node_type.instance.platform_name #=> String
resp.nodes[0].node_type.instance.platform_version #=> String
resp.nodes[0].node_type.instance.resource_type #=> String, one of "ManagedInstance", "EC2Instance"
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :sync_name (String)

    The name of the resource data sync to retrieve information about. Required for cross-account/cross-Region configurations. Optional for single account/single-Region configurations.

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

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

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



8594
8595
8596
8597
# File 'lib/aws-sdk-ssm/client.rb', line 8594

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

#list_nodes_summary(params = {}) ⇒ Types::ListNodesSummaryResult

Generates a summary of managed instance/node metadata based on the filters and aggregators you specify. Results are grouped by the input aggregator you specify.

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

Examples:

Example: ListNodesSummary


# This example illustrates one usage of ListNodesSummary

resp = client.list_nodes_summary({
  aggregators: [
    {
      aggregator_type: "Count", 
      attribute_name: "Region", 
      type_name: "Instance", 
    }, 
  ], 
  filters: [
    {
      key: "InstanceStatus", 
      type: "Equal", 
      values: [
        "Active", 
      ], 
    }, 
  ], 
  max_results: 2, 
  next_token: "A9lT8CAxj9aDFRi+MNAoFq08I---EXAMPLE", 
  sync_name: "AWS-QuickSetup-ManagedNode", 
})

resp.to_h outputs the following:
{
  summary: [
    {
      "Count" => "26", 
      "Region" => "us-east-1", 
    }, 
    {
      "Count" => "7", 
      "Region" => "us-east-2", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_nodes_summary({
  sync_name: "ResourceDataSyncName",
  filters: [
    {
      key: "AgentType", # required, accepts AgentType, AgentVersion, ComputerName, InstanceId, InstanceStatus, IpAddress, ManagedStatus, PlatformName, PlatformType, PlatformVersion, ResourceType, OrganizationalUnitId, OrganizationalUnitPath, Region, AccountId
      values: ["NodeFilterValue"], # required
      type: "Equal", # accepts Equal, NotEqual, BeginWith
    },
  ],
  aggregators: [ # required
    {
      aggregator_type: "Count", # required, accepts Count
      type_name: "Instance", # required, accepts Instance
      attribute_name: "AgentVersion", # required, accepts AgentVersion, PlatformName, PlatformType, PlatformVersion, Region, ResourceType
      aggregators: {
        # recursive NodeAggregatorList
      },
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :sync_name (String)

    The name of the resource data sync to retrieve information about. Required for cross-account/cross-Region configuration. Optional for single account/single-Region configurations.

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

    One or more filters. Use a filter to generate a summary that matches your specified filter criteria.

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

    Specify one or more aggregators to return a count of managed nodes that match that expression. For example, a count of managed nodes by operating system.

  • :next_token (String)

    The token for the next set of items to return. (You received this token from a previous call.) The call also returns a token that you can specify in a subsequent call 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:



8711
8712
8713
8714
# File 'lib/aws-sdk-ssm/client.rb', line 8711

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

#list_ops_item_events(params = {}) ⇒ Types::ListOpsItemEventsResponse

Returns a list of all OpsItem events in the current Amazon Web Services Region and Amazon Web Services account. You can limit the results to events associated with specific OpsItems by specifying a filter.

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

Examples:

Request syntax with placeholder values


resp = client.list_ops_item_events({
  filters: [
    {
      key: "OpsItemId", # required, accepts OpsItemId
      values: ["OpsItemEventFilterValue"], # required
      operator: "Equal", # required, accepts Equal
    },
  ],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.next_token #=> String
resp.summaries #=> Array
resp.summaries[0].ops_item_id #=> String
resp.summaries[0].event_id #=> String
resp.summaries[0].source #=> String
resp.summaries[0].detail_type #=> String
resp.summaries[0].detail #=> String
resp.summaries[0].created_by.arn #=> String
resp.summaries[0].created_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

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

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String)

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

Returns:

See Also:



8771
8772
8773
8774
# File 'lib/aws-sdk-ssm/client.rb', line 8771

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

Lists all related-item resources associated with a Systems Manager OpsCenter OpsItem. OpsCenter is a capability of Amazon Web Services Systems Manager.

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

Examples:

Request syntax with placeholder values


resp = client.list_ops_item_related_items({
  ops_item_id: "OpsItemId",
  filters: [
    {
      key: "ResourceType", # required, accepts ResourceType, AssociationId, ResourceUri
      values: ["OpsItemRelatedItemsFilterValue"], # required
      operator: "Equal", # required, accepts Equal
    },
  ],
  max_results: 1,
  next_token: "String",
})

Response structure


resp.next_token #=> String
resp.summaries #=> Array
resp.summaries[0].ops_item_id #=> String
resp.summaries[0].association_id #=> String
resp.summaries[0].resource_type #=> String
resp.summaries[0].association_type #=> String
resp.summaries[0].resource_uri #=> String
resp.summaries[0].created_by.arn #=> String
resp.summaries[0].created_time #=> Time
resp.summaries[0].last_modified_by.arn #=> String
resp.summaries[0].last_modified_time #=> Time

Parameters:

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

    ({})

Options Hash (params):

  • :ops_item_id (String)

    The ID of the OpsItem for which you want to list all related-item resources.

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

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

  • :next_token (String)

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

Returns:

See Also:



8837
8838
8839
8840
# File 'lib/aws-sdk-ssm/client.rb', line 8837

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

#list_ops_metadata(params = {}) ⇒ Types::ListOpsMetadataResult

Amazon Web Services Systems Manager calls this API operation when displaying all Application Manager OpsMetadata objects or blobs.

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

Examples:

Request syntax with placeholder values


resp = client.({
  filters: [
    {
      key: "OpsMetadataFilterKey", # required
      values: ["OpsMetadataFilterValue"], # required
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp. #=> Array
resp.[0].resource_id #=> String
resp.[0]. #=> String
resp.[0].last_modified_date #=> Time
resp.[0].last_modified_user #=> String
resp.[0].creation_date #=> Time
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    One or more filters to limit the number of OpsMetadata objects returned by the 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.

  • :next_token (String)

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

Returns:

See Also:



8892
8893
8894
8895
# File 'lib/aws-sdk-ssm/client.rb', line 8892

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

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

Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify.

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

Examples:

Request syntax with placeholder values


resp = client.list_resource_compliance_summaries({
  filters: [
    {
      key: "ComplianceStringFilterKey",
      values: ["ComplianceFilterValue"],
      type: "EQUAL", # accepts EQUAL, NOT_EQUAL, BEGIN_WITH, LESS_THAN, GREATER_THAN
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.resource_compliance_summary_items #=> Array
resp.resource_compliance_summary_items[0].compliance_type #=> String
resp.resource_compliance_summary_items[0].resource_type #=> String
resp.resource_compliance_summary_items[0].resource_id #=> String
resp.resource_compliance_summary_items[0].status #=> String, one of "COMPLIANT", "NON_COMPLIANT"
resp.resource_compliance_summary_items[0].overall_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.resource_compliance_summary_items[0].execution_summary.execution_time #=> Time
resp.resource_compliance_summary_items[0].execution_summary.execution_id #=> String
resp.resource_compliance_summary_items[0].execution_summary.execution_type #=> String
resp.resource_compliance_summary_items[0].compliant_summary.compliant_count #=> Integer
resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.critical_count #=> Integer
resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.high_count #=> Integer
resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.medium_count #=> Integer
resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.low_count #=> Integer
resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.informational_count #=> Integer
resp.resource_compliance_summary_items[0].compliant_summary.severity_summary.unspecified_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.non_compliant_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.critical_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.high_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.medium_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.low_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.informational_count #=> Integer
resp.resource_compliance_summary_items[0].non_compliant_summary.severity_summary.unspecified_count #=> Integer
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

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

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

  • :next_token (String)

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

  • :max_results (Integer)

    The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results.

Returns:

See Also:



8967
8968
8969
8970
# File 'lib/aws-sdk-ssm/client.rb', line 8967

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

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

Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed.

The number of sync configurations might be too large to return using a single call to ‘ListResourceDataSync`. You can limit the number of sync configurations returned by using the `MaxResults` parameter. To determine whether there are more sync configurations to list, check the value of `NextToken` in the output. If there are more sync configurations to list, you can request them by specifying the `NextToken` returned in the call to the parameter of a subsequent call.

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.resource_data_sync_items #=> Array
resp.resource_data_sync_items[0].sync_name #=> String
resp.resource_data_sync_items[0].sync_type #=> String
resp.resource_data_sync_items[0].sync_source.source_type #=> String
resp.resource_data_sync_items[0].sync_source.aws_organizations_source.organization_source_type #=> String
resp.resource_data_sync_items[0].sync_source.aws_organizations_source.organizational_units #=> Array
resp.resource_data_sync_items[0].sync_source.aws_organizations_source.organizational_units[0].organizational_unit_id #=> String
resp.resource_data_sync_items[0].sync_source.source_regions #=> Array
resp.resource_data_sync_items[0].sync_source.source_regions[0] #=> String
resp.resource_data_sync_items[0].sync_source.include_future_regions #=> Boolean
resp.resource_data_sync_items[0].sync_source.state #=> String
resp.resource_data_sync_items[0].sync_source.enable_all_ops_data_sources #=> Boolean
resp.resource_data_sync_items[0].s3_destination.bucket_name #=> String
resp.resource_data_sync_items[0].s3_destination.prefix #=> String
resp.resource_data_sync_items[0].s3_destination.sync_format #=> String, one of "JsonSerDe"
resp.resource_data_sync_items[0].s3_destination.region #=> String
resp.resource_data_sync_items[0].s3_destination.awskms_key_arn #=> String
resp.resource_data_sync_items[0].s3_destination.destination_data_sharing.destination_data_sharing_type #=> String
resp.resource_data_sync_items[0].last_sync_time #=> Time
resp.resource_data_sync_items[0].last_successful_sync_time #=> Time
resp.resource_data_sync_items[0].sync_last_modified_time #=> Time
resp.resource_data_sync_items[0].last_status #=> String, one of "Successful", "Failed", "InProgress"
resp.resource_data_sync_items[0].sync_created_time #=> Time
resp.resource_data_sync_items[0].last_sync_status_message #=> String
resp.next_token #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :sync_type (String)

    View a list of resource data syncs according to the sync type. Specify ‘SyncToDestination` to view resource data syncs that synchronize data to an Amazon S3 bucket. Specify `SyncFromSource` to view resource data syncs from Organizations or from multiple Amazon Web Services Regions.

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



9047
9048
9049
9050
# File 'lib/aws-sdk-ssm/client.rb', line 9047

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

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResult

Returns a list of the tags assigned to the specified resource.

For information about the ID format for each supported resource type, see AddTagsToResource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_type: "Document", # required, accepts Document, ManagedInstance, MaintenanceWindow, Parameter, PatchBaseline, OpsItem, OpsMetadata, Automation, Association
  resource_id: "ResourceId", # required
})

Response structure


resp.tag_list #=> Array
resp.tag_list[0].key #=> String
resp.tag_list[0].value #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_type (required, String)

    Returns a list of tags for a specific resource type.

  • :resource_id (required, String)

    The resource ID for which you want to see a list of tags.

Returns:

See Also:



9084
9085
9086
9087
# File 'lib/aws-sdk-ssm/client.rb', line 9084

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

#modify_document_permission(params = {}) ⇒ Struct

Shares a Amazon Web Services Systems Manager document (SSM document)publicly or privately. If you share a document privately, you must specify the Amazon Web Services user IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

Examples:

Request syntax with placeholder values


resp = client.modify_document_permission({
  name: "DocumentName", # required
  permission_type: "Share", # required, accepts Share
  account_ids_to_add: ["AccountId"],
  account_ids_to_remove: ["AccountId"],
  shared_document_version: "SharedDocumentVersion",
})

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the document that you want to share.

  • :permission_type (required, String)

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

  • :account_ids_to_add (Array<String>)

    The Amazon Web Services users that should have access to the document. The account IDs can either be a group of account IDs or All.

  • :account_ids_to_remove (Array<String>)

    The Amazon Web Services users that should no longer have access to the document. The Amazon Web Services user can either be a group of account IDs or All. This action has a higher priority than ‘AccountIdsToAdd`. If you specify an ID to add and the same ID to remove, the system removes access to the document.

  • :shared_document_version (String) — default: Optional

    The version of the document to share. If it isn’t specified, the system choose the ‘Default` version to share.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



9133
9134
9135
9136
# File 'lib/aws-sdk-ssm/client.rb', line 9133

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

#put_compliance_items(params = {}) ⇒ Struct

Registers a compliance type and other compliance details on a designated resource. This operation lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request.

ComplianceType can be one of the following:

  • ExecutionId: The execution ID when the patch, association, or custom compliance item was applied.

  • ExecutionType: Specify patch, association, or Custom:‘string`.

  • ExecutionTime. The time the patch, association, or custom compliance item was applied to the managed node.

  • Id: The patch, association, or custom compliance ID.

  • Title: A title.

  • Status: The status of the compliance item. For example, ‘approved` for patches, or `Failed` for associations.

  • Severity: A patch severity. For example, ‘Critical`.

  • DocumentName: An SSM document name. For example, ‘AWS-RunPatchBaseline`.

  • DocumentVersion: An SSM document version number. For example, 4.

  • Classification: A patch classification. For example, ‘security updates`.

  • PatchBaselineId: A patch baseline ID.

  • PatchSeverity: A patch severity. For example, ‘Critical`.

  • PatchState: A patch state. For example, ‘InstancesWithFailedPatches`.

  • PatchGroup: The name of a patch group.

  • InstalledTime: The time the association, patch, or custom compliance item was applied to the resource. Specify the time by using the following format: ‘yyyy-MM-dd’T’HH:mm:ss’Z’‘

Examples:

Request syntax with placeholder values


resp = client.put_compliance_items({
  resource_id: "ComplianceResourceId", # required
  resource_type: "ComplianceResourceType", # required
  compliance_type: "ComplianceTypeName", # required
  execution_summary: { # required
    execution_time: Time.now, # required
    execution_id: "ComplianceExecutionId",
    execution_type: "ComplianceExecutionType",
  },
  items: [ # required
    {
      id: "ComplianceItemId",
      title: "ComplianceItemTitle",
      severity: "CRITICAL", # required, accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
      status: "COMPLIANT", # required, accepts COMPLIANT, NON_COMPLIANT
      details: {
        "AttributeName" => "AttributeValue",
      },
    },
  ],
  item_content_hash: "ComplianceItemContentHash",
  upload_type: "COMPLETE", # accepts COMPLETE, PARTIAL
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_id (required, String)

    Specify an ID for this resource. For a managed node, this is the node ID.

  • :resource_type (required, String)

    Specify the type of resource. ‘ManagedInstance` is currently the only supported resource type.

  • :compliance_type (required, String)

    Specify the compliance type. For example, specify Association (for a State Manager association), Patch, or Custom:‘string`.

  • :execution_summary (required, Types::ComplianceExecutionSummary)

    A summary of the call execution that includes an execution ID, the type of execution (for example, ‘Command`), and the date/time of the execution using a datetime object that is saved in the following format: `yyyy-MM-dd’T’HH:mm:ss’Z’‘

  • :items (required, Array<Types::ComplianceItemEntry>)

    Information about the compliance as defined by the resource type. For example, for a patch compliance type, ‘Items` includes information about the PatchSeverity, Classification, and so on.

  • :item_content_hash (String)

    MD5 or SHA-256 content hash. The content hash is used to determine if existing information should be overwritten or ignored. If the content hashes match, the request to put compliance information is ignored.

  • :upload_type (String)

    The mode for uploading compliance items. You can specify ‘COMPLETE` or `PARTIAL`. In `COMPLETE` mode, the system overwrites all existing compliance information for the resource. You must provide a full list of compliance items each time you send the request.

    In ‘PARTIAL` mode, the system overwrites compliance information for a specific association. The association must be configured with `SyncCompliance` set to `MANUAL`. By default, all requests use `COMPLETE` mode.

    <note markdown=“1”> This attribute is only valid for association compliance.

    </note>
    

Returns:

  • (Struct)

    Returns an empty response.

See Also:



9259
9260
9261
9262
# File 'lib/aws-sdk-ssm/client.rb', line 9259

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

#put_inventory(params = {}) ⇒ Types::PutInventoryResult

Bulk update custom inventory items on one or more managed nodes. The request adds an inventory item, if it doesn’t already exist, or updates an inventory item, if it does exist.

Examples:

Request syntax with placeholder values


resp = client.put_inventory({
  instance_id: "InstanceId", # required
  items: [ # required
    {
      type_name: "InventoryItemTypeName", # required
      schema_version: "InventoryItemSchemaVersion", # required
      capture_time: "InventoryItemCaptureTime", # required
      content_hash: "InventoryItemContentHash",
      content: [
        {
          "AttributeName" => "AttributeValue",
        },
      ],
      context: {
        "AttributeName" => "AttributeValue",
      },
    },
  ],
})

Response structure


resp.message #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    An managed node ID where you want to add or update inventory items.

  • :items (required, Array<Types::InventoryItem>)

    The inventory items that you want to add or update on managed nodes.

Returns:

See Also:



9308
9309
9310
9311
# File 'lib/aws-sdk-ssm/client.rb', line 9308

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

#put_parameter(params = {}) ⇒ Types::PutParameterResult

Add a parameter to the system.

Examples:

Request syntax with placeholder values


resp = client.put_parameter({
  name: "PSParameterName", # required
  description: "ParameterDescription",
  value: "PSParameterValue", # required
  type: "String", # accepts String, StringList, SecureString
  key_id: "ParameterKeyId",
  overwrite: false,
  allowed_pattern: "AllowedPattern",
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  tier: "Standard", # accepts Standard, Advanced, Intelligent-Tiering
  policies: "ParameterPolicies",
  data_type: "ParameterDataType",
})

Response structure


resp.version #=> Integer
resp.tier #=> String, one of "Standard", "Advanced", "Intelligent-Tiering"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The fully qualified name of the parameter that you want to add to the system.

    <note markdown=“1”> You can’t enter the Amazon Resource Name (ARN) for a parameter, only the parameter name itself.

    </note>
    

    The fully qualified name includes the complete hierarchy of the parameter path and name. For parameters in a hierarchy, you must include a leading forward slash character (/) when you create or reference a parameter. For example: ‘/Dev/DBServer/MySQL/db-string13`

    Naming Constraints:

    • Parameter names are case sensitive.

    • A parameter name must be unique within an Amazon Web Services Region

    • A parameter name can’t be prefixed with “‘aws`” or “`ssm`” (case-insensitive).

    • Parameter names can include only the following symbols and letters: ‘a-zA-Z0-9_.-`

      In addition, the slash character ( / ) is used to delineate hierarchies in parameter names. For example: ‘/Dev/Production/East/Project-ABC/MyParameter`

    • A parameter name can’t include spaces.

    • Parameter hierarchies are limited to a maximum depth of fifteen levels.

    For additional information about valid values for parameter names, see

    Creating Systems Manager parameters][1

    in the *Amazon Web Services

    Systems Manager User Guide*.

    <note markdown=“1”> The maximum length constraint of 2048 characters listed below includes 1037 characters reserved for internal use by Systems Manager. The maximum length for a parameter name that you create is 1011 characters. This includes the characters in the ARN that precede the name you specify, such as ‘arn:aws:ssm:us-east-2:111122223333:parameter/`.

    </note>
    

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

  • :description (String)

    Information about the parameter that you want to add to the system. Optional but recommended.

    Don’t enter personally identifiable information in this field.

  • :value (required, String)

    The parameter value that you want to add to the system. Standard parameters have a value limit of 4 KB. Advanced parameters have a value limit of 8 KB.

    <note markdown=“1”> Parameters can’t be referenced or nested in the values of other parameters. You can’t include ‘{}` or `{ssm:parameter-name}` in a parameter value.

    </note>
    
  • :type (String)

    The type of parameter that you want to add to the system.

    <note markdown=“1”> ‘SecureString` isn’t currently supported for CloudFormation templates.

    </note>
    

    Items in a ‘StringList` must be separated by a comma (,). You can’t use other punctuation or special character to escape items in the list. If you have a parameter value that requires a comma, then use the ‘String` data type.

    Specifying a parameter type isn’t required when updating a parameter. You must specify a parameter type when creating a parameter.

  • :key_id (String)

    The Key Management Service (KMS) ID that you want to use to encrypt a parameter. Use a custom key for better security. Required for parameters that use the ‘SecureString` data type.

    If you don’t specify a key ID, the system uses the default key associated with your Amazon Web Services account which is not as secure as using a custom key.

    • To use a custom KMS key, choose the ‘SecureString` data type with the `Key ID` parameter.

    ^

  • :overwrite (Boolean)

    Overwrite an existing parameter. The default value is ‘false`.

  • :allowed_pattern (String)

    A regular expression used to validate the parameter value. For example, for String types with values restricted to numbers, you can specify the following: AllowedPattern=^\d+$

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

    Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a Systems Manager parameter to identify the type of resource to which it applies, the environment, or the type of configuration data referenced by the parameter. In this case, you could specify the following key-value pairs:

    • ‘Key=Resource,Value=S3bucket`

    • ‘Key=OS,Value=Windows`

    • ‘Key=ParameterType,Value=LicenseKey`

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

    </note>
    
  • :tier (String)

    The parameter tier to assign to a parameter.

    Parameter Store offers a standard tier and an advanced tier for parameters. Standard parameters have a content size limit of 4 KB and can’t be configured to use parameter policies. You can create a maximum of 10,000 standard parameters for each Region in an Amazon Web Services account. Standard parameters are offered at no additional cost.

    Advanced parameters have a content size limit of 8 KB and can be configured to use parameter policies. You can create a maximum of 100,000 advanced parameters for each Region in an Amazon Web Services account. Advanced parameters incur a charge. For more information, see

    Managing parameter tiers][1

    in the *Amazon Web Services Systems

    Manager User Guide*.

    You can change a standard parameter to an advanced parameter any time. But you can’t revert an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard parameter would result in data loss because the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, advanced parameters use a different form of encryption than standard parameters.

    If you no longer need an advanced parameter, or if you no longer want to incur charges for an advanced parameter, you must delete it and recreate it as a new standard parameter.

    **Using the Default Tier Configuration**

    In ‘PutParameter` requests, you can specify the tier to create the parameter in. Whenever you specify a tier in the request, Parameter Store creates or updates the parameter according to that request. However, if you don’t specify a tier in a request, Parameter Store assigns the tier based on the current Parameter Store default tier configuration.

    The default tier when you begin using Parameter Store is the standard-parameter tier. If you use the advanced-parameter tier, you can specify one of the following as the default:

    • Advanced: With this option, Parameter Store evaluates all requests as advanced parameters.

    • Intelligent-Tiering: With this option, Parameter Store evaluates each request to determine if the parameter is standard or advanced.

      If the request doesn’t include any options that require an advanced parameter, the parameter is created in the standard-parameter tier. If one or more options requiring an advanced parameter are included in the request, Parameter Store create a parameter in the advanced-parameter tier.

      This approach helps control your parameter-related costs by always creating standard parameters unless an advanced parameter is necessary.

    Options that require an advanced parameter include the following:

    • The content size of the parameter is more than 4 KB.

    • The parameter uses a parameter policy.

    • More than 10,000 parameters already exist in your Amazon Web Services account in the current Amazon Web Services Region.

    For more information about configuring the default tier option, see

    Specifying a default parameter tier][2

    in the *Amazon Web Services

    Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html#ps-default-tier

  • :policies (String)

    One or more policies to apply to a parameter. This operation takes a JSON array. Parameter Store, a capability of Amazon Web Services Systems Manager supports the following policy types:

    Expiration: This policy deletes the parameter after it expires. When you create the policy, you specify the expiration date. You can update the expiration date and time by updating the policy. Updating the parameter doesn’t affect the expiration date and time. When the expiration time is reached, Parameter Store deletes the parameter.

    ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that notifies you about the expiration. By using this policy, you can receive notification before or after the expiration time is reached, in units of days or hours.

    NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn’t been modified for a specified period of time. This policy type is useful when, for example, a secret needs to be changed within a period of time, but it hasn’t been changed.

    All existing policies are preserved until you send new policies or an empty policy. For more information about parameter policies, see [Assigning parameter policies].

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html

  • :data_type (String)

    The data type for a ‘String` parameter. Supported data types include plain text and Amazon Machine Image (AMI) IDs.

    **The following data type values are supported.**

    • ‘text`

    • ‘aws:ec2:image`

    • ‘aws:ssm:integration`

    When you create a ‘String` parameter and specify `aws:ec2:image`, Amazon Web Services Systems Manager validates the parameter value is in the required format, such as `ami-12345abcdeEXAMPLE`, and that the specified AMI is available in your Amazon Web Services account.

    <note markdown=“1”> If the action is successful, the service sends back an HTTP 200 response which indicates a successful ‘PutParameter` call for all cases except for data type `aws:ec2:image`. If you call `PutParameter` with `aws:ec2:image` data type, a successful HTTP 200 response does not guarantee that your parameter was successfully created or updated. The `aws:ec2:image` value is validated asynchronously, and the `PutParameter` call returns before the validation is complete. If you submit an invalid AMI value, the PutParameter operation will return success, but the asynchronous validation will fail and the parameter will not be created or updated. To monitor whether your `aws:ec2:image` parameters are created successfully, see [Setting up notifications or trigger actions based on Parameter Store events]. For more information about AMI format validation , see [Native parameter support for Amazon Machine Image IDs].

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-cwe.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html

Returns:

See Also:



9621
9622
9623
9624
# File 'lib/aws-sdk-ssm/client.rb', line 9621

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

#put_resource_policy(params = {}) ⇒ Types::PutResourcePolicyResponse

Creates or updates a Systems Manager resource policy. A resource policy helps you to define the IAM entity (for example, an Amazon Web Services account) that can manage your Systems Manager resources. The following resources support Systems Manager resource policies.

  • ‘OpsItemGroup` - The resource policy for `OpsItemGroup` enables Amazon Web Services accounts to view and interact with OpsCenter operational work items (OpsItems).

  • ‘Parameter` - The resource policy is used to share a parameter with other accounts using Resource Access Manager (RAM).

    To share a parameter, it must be in the advanced parameter tier. For information about parameter tiers, see [Managing parameter tiers]. For information about changing an existing standard parameter to an advanced parameter, see [Changing a standard parameter to an advanced parameter].

    To share a ‘SecureString` parameter, it must be encrypted with a customer managed key, and you must share the key separately through Key Management Service. Amazon Web Services managed keys cannot be shared. Parameters encrypted with the default Amazon Web Services managed key can be updated to use a customer managed key instead. For KMS key definitions, see [KMS concepts] in the *Key Management Service Developer Guide*.

    While you can share a parameter using the Systems Manager ‘PutResourcePolicy` operation, we recommend using Resource Access Manager (RAM) instead. This is because using `PutResourcePolicy` requires the extra step of promoting the parameter to a standard RAM Resource Share using the RAM

    PromoteResourceShareCreatedFromPolicy][4

    API operation. Otherwise,

    the parameter won’t be returned by the Systems Manager

    DescribeParameters][5

    API operation using the ‘–shared` option.

    For more information, see [Sharing a parameter][6] in the *Amazon
    

    Web Services Systems Manager User Guide*

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html#parameter-store-advanced-parameters-enabling [3]: docs.aws.amazon.com/kms/latest/developerguide/concepts.html [4]: docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html [5]: docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html [6]: docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-shared-parameters.html#share

Examples:

Request syntax with placeholder values


resp = client.put_resource_policy({
  resource_arn: "ResourceArnString", # required
  policy: "Policy", # required
  policy_id: "PolicyId",
  policy_hash: "PolicyHash",
})

Response structure


resp.policy_id #=> String
resp.policy_hash #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Amazon Resource Name (ARN) of the resource to which you want to attach a policy.

  • :policy (required, String)

    A policy you want to associate with a resource.

  • :policy_id (String)

    The policy ID.

  • :policy_hash (String)

    ID of the current policy version. The hash helps to prevent a situation where multiple users attempt to overwrite a policy. You must provide this hash when updating or deleting a policy.

Returns:

See Also:



9711
9712
9713
9714
# File 'lib/aws-sdk-ssm/client.rb', line 9711

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

#register_default_patch_baseline(params = {}) ⇒ Types::RegisterDefaultPatchBaselineResult

Defines the default patch baseline for the relevant operating system.

To reset the Amazon Web Services-predefined patch baseline as the default, specify the full patch baseline Amazon Resource Name (ARN) as the baseline ID value. For example, for CentOS, specify ‘arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed` instead of `pb-0574b43a65ea646ed`.

Examples:

Request syntax with placeholder values


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

Response structure


resp.baseline_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline that should be the default patch baseline.

Returns:

See Also:



9746
9747
9748
9749
# File 'lib/aws-sdk-ssm/client.rb', line 9746

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

#register_patch_baseline_for_patch_group(params = {}) ⇒ Types::RegisterPatchBaselineForPatchGroupResult

Registers a patch baseline for a patch group.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to register with the patch group.

  • :patch_group (required, String)

    The name of the patch group to be registered with the patch baseline.

Returns:

See Also:



9780
9781
9782
9783
# File 'lib/aws-sdk-ssm/client.rb', line 9780

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

#register_target_with_maintenance_window(params = {}) ⇒ Types::RegisterTargetWithMaintenanceWindowResult

Registers a target with a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.register_target_with_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  resource_type: "INSTANCE", # required, accepts INSTANCE, RESOURCE_GROUP
  targets: [ # required
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  owner_information: "OwnerInformation",
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  client_token: "ClientToken",
})

Response structure


resp.window_target_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window the target should be registered with.

  • :resource_type (required, String)

    The type of target being registered with the maintenance window.

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

    The targets to register with the maintenance window. In other words, the managed nodes to run commands on when the maintenance window runs.

    <note markdown=“1”> If a single maintenance window task is registered with multiple targets, its task invocations occur sequentially and not in parallel. If your task must run on multiple targets at the same time, register a task for each target individually and assign each task the same priority level.

    </note>
    

    You can specify targets using managed node IDs, resource group names, or tags that have been applied to managed nodes.

    **Example 1**: Specify managed node IDs

    ‘Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>,<instance-id-3>`

    **Example 2**: Use tag key-pairs applied to managed nodes

    ‘Key=tag:<my-tag-key>,Values=<my-tag-value-1>,<my-tag-value-2>`

    **Example 3**: Use tag-keys applied to managed nodes

    ‘Key=tag-key,Values=<my-tag-key-1>,<my-tag-key-2>`

    **Example 4**: Use resource group names

    ‘Key=resource-groups:Name,Values=<resource-group-name>`

    **Example 5**: Use filters for resource group types

    ‘Key=resource-groups:ResourceTypeFilters,Values=<resource-type-1>,<resource-type-2>`

    <note markdown=“1”> For ‘Key=resource-groups:ResourceTypeFilters`, specify resource types in the following format

    `Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC`
    
    </note>
    

    For more information about these examples formats, including the best use case for each one, see [Examples: Register targets with a maintenance window] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html

  • :owner_information (String)

    User-provided value that will be included in any Amazon CloudWatch Events events raised while running tasks for these targets in this maintenance window.

  • :name (String)

    An optional name for the target.

  • :description (String)

    An optional description for the target.

  • :client_token (String)

    User-provided idempotency token.

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

Returns:

See Also:



9890
9891
9892
9893
# File 'lib/aws-sdk-ssm/client.rb', line 9890

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

#register_task_with_maintenance_window(params = {}) ⇒ Types::RegisterTaskWithMaintenanceWindowResult

Adds a new task to a maintenance window.

Examples:

Request syntax with placeholder values


resp = client.register_task_with_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  task_arn: "MaintenanceWindowTaskArn", # required
  service_role_arn: "ServiceRole",
  task_type: "RUN_COMMAND", # required, accepts RUN_COMMAND, AUTOMATION, STEP_FUNCTIONS, LAMBDA
  task_parameters: {
    "MaintenanceWindowTaskParameterName" => {
      values: ["MaintenanceWindowTaskParameterValue"],
    },
  },
  task_invocation_parameters: {
    run_command: {
      comment: "Comment",
      cloud_watch_output_config: {
        cloud_watch_log_group_name: "CloudWatchLogGroupName",
        cloud_watch_output_enabled: false,
      },
      document_hash: "DocumentHash",
      document_hash_type: "Sha256", # accepts Sha256, Sha1
      document_version: "DocumentVersion",
      notification_config: {
        notification_arn: "NotificationArn",
        notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed
        notification_type: "Command", # accepts Command, Invocation
      },
      output_s3_bucket_name: "S3BucketName",
      output_s3_key_prefix: "S3KeyPrefix",
      parameters: {
        "ParameterName" => ["ParameterValue"],
      },
      service_role_arn: "ServiceRole",
      timeout_seconds: 1,
    },
    automation: {
      document_version: "DocumentVersion",
      parameters: {
        "AutomationParameterKey" => ["AutomationParameterValue"],
      },
    },
    step_functions: {
      input: "MaintenanceWindowStepFunctionsInput",
      name: "MaintenanceWindowStepFunctionsName",
    },
    lambda: {
      client_context: "MaintenanceWindowLambdaClientContext",
      qualifier: "MaintenanceWindowLambdaQualifier",
      payload: "data",
    },
  },
  priority: 1,
  max_concurrency: "MaxConcurrency",
  max_errors: "MaxErrors",
  logging_info: {
    s3_bucket_name: "S3BucketName", # required
    s3_key_prefix: "S3KeyPrefix",
    s3_region: "S3Region", # required
  },
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  client_token: "ClientToken",
  cutoff_behavior: "CONTINUE_TASK", # accepts CONTINUE_TASK, CANCEL_TASK
  alarm_configuration: {
    ignore_poll_alarm_failure: false,
    alarms: [ # required
      {
        name: "AlarmName", # required
      },
    ],
  },
})

Response structure


resp.window_task_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window the task should be added to.

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

    The targets (either managed nodes or maintenance window targets).

    <note markdown=“1”> One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don’t specify targets, see [Registering maintenance window tasks without targets] in the *Amazon Web Services Systems Manager User Guide*.

    </note>
    

    Specify managed nodes using the following format:

    ‘Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>`

    Specify maintenance window targets using the following format:

    ‘Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2>`

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

  • :task_arn (required, String)

    The ARN of the task to run.

  • :service_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run ‘RegisterTaskWithMaintenanceWindow`.

    However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows] in the in the *Amazon Web Services Systems Manager User Guide*.

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

  • :task_type (required, String)

    The type of task being registered.

  • :task_parameters (Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>)

    The parameters that should be passed to the task when it is run.

    <note markdown=“1”> ‘TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    </note>
    
  • :task_invocation_parameters (Types::MaintenanceWindowTaskInvocationParameters)

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

  • :priority (Integer)

    The priority of the task in the maintenance window, the lower the number the higher the priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

  • :max_concurrency (String)

    The maximum number of targets this task can be run for, in parallel.

    <note markdown=“1”> Although this element is listed as “Required: No”, a value can be omitted only when you are registering or updating a [targetless task] You must provide a value in all other cases.

    For maintenance window tasks without a target specified, you can't
    

    supply a value for this option. Instead, the system inserts a placeholder value of ‘1`. This value doesn’t affect the running of your task.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

  • :max_errors (String)

    The maximum number of errors allowed before this task stops being scheduled.

    <note markdown=“1”> Although this element is listed as “Required: No”, a value can be omitted only when you are registering or updating a [targetless task] You must provide a value in all other cases.

    For maintenance window tasks without a target specified, you can't
    

    supply a value for this option. Instead, the system inserts a placeholder value of ‘1`. This value doesn’t affect the running of your task.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

  • :logging_info (Types::LoggingInfo)

    A structure containing information about an Amazon Simple Storage Service (Amazon S3) bucket to write managed node-level logs to.

    <note markdown=“1”> ‘LoggingInfo` has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    </note>
    
  • :name (String)

    An optional name for the task.

  • :description (String)

    An optional description for the task.

  • :client_token (String)

    User-provided idempotency token.

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

  • :cutoff_behavior (String)

    Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.

    • ‘CONTINUE_TASK`: When the cutoff time is reached, any tasks that are running continue. The default value.

    • ‘CANCEL_TASK`:

      • For Automation, Lambda, Step Functions tasks: When the cutoff time is reached, any task invocations that are already running continue, but no new task invocations are started.

      • For Run Command tasks: When the cutoff time is reached, the system sends a CancelCommand operation that attempts to cancel the command associated with the task. However, there is no guarantee that the command will be terminated and the underlying process stopped.

      The status for tasks that are not completed is ‘TIMED_OUT`.

  • :alarm_configuration (Types::AlarmConfiguration)

    The CloudWatch alarm you want to apply to your maintenance window task.

Returns:

See Also:



10149
10150
10151
10152
# File 'lib/aws-sdk-ssm/client.rb', line 10149

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

#remove_tags_from_resource(params = {}) ⇒ Struct

Removes tag keys from the specified resource.

Examples:

Request syntax with placeholder values


resp = client.remove_tags_from_resource({
  resource_type: "Document", # required, accepts Document, ManagedInstance, MaintenanceWindow, Parameter, PatchBaseline, OpsItem, OpsMetadata, Automation, Association
  resource_id: "ResourceId", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :resource_type (required, String)

    The type of resource from which you want to remove a tag.

    <note markdown=“1”> The ‘ManagedInstance` type for this API operation is only for on-premises managed nodes. Specify the name of the managed node in the following format: `mi-ID_number `. For example, `mi-1a2b3c4d5e6f`.

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

    The ID of the resource from which you want to remove tags. For example:

    ManagedInstance: mi-012345abcde

    MaintenanceWindow: mw-012345abcde

    ‘Automation`: `example-c160-4567-8519-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.

    <note markdown=“1”> The ‘ManagedInstance` type for this API operation is only for on-premises managed nodes. Specify the name of the managed node in the following format: mi-ID_number. For example, mi-1a2b3c4d5e6f.

    </note>
    
  • :tag_keys (required, Array<String>)

    Tag keys that you want to remove from the specified resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



10210
10211
10212
10213
# File 'lib/aws-sdk-ssm/client.rb', line 10210

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

#reset_service_setting(params = {}) ⇒ Types::ResetServiceSettingResult

‘ServiceSetting` is an account-level setting for an Amazon Web Services service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an Amazon Web Services service charges money to the account based on feature or service usage, then the Amazon Web Services service team might create a default setting of “false”. This means the user can’t use this feature unless they change the setting to “true” and intentionally opt in for a paid feature.

Services map a ‘SettingId` object to a setting value. Amazon Web Services services teams define the default value for a `SettingId`. You can’t create a new ‘SettingId`, but you can overwrite the default value if you have the `ssm:UpdateServiceSetting` permission for the setting. Use the GetServiceSetting API operation to view the current value. Use the UpdateServiceSetting API operation to change the default setting.

Reset the service setting for the account to the default value as provisioned by the Amazon Web Services service team.

Examples:

Request syntax with placeholder values


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

Response structure


resp.service_setting.setting_id #=> String
resp.service_setting.setting_value #=> String
resp.service_setting.last_modified_date #=> Time
resp.service_setting.last_modified_user #=> String
resp.service_setting.arn #=> String
resp.service_setting.status #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :setting_id (required, String)

    The Amazon Resource Name (ARN) of the service setting to reset. The setting ID can be one of the following.

    • ‘/ssm/appmanager/appmanager-enabled`

    • ‘/ssm/automation/customer-script-log-destination`

    • ‘/ssm/automation/customer-script-log-group-name`

    • /ssm/automation/enable-adaptive-concurrency

    • ‘/ssm/documents/console/public-sharing-permission`

    • ‘/ssm/managed-instance/activation-tier`

    • ‘/ssm/managed-instance/default-ec2-instance-management-role`

    • ‘/ssm/opsinsights/opscenter`

    • ‘/ssm/parameter-store/default-parameter-tier`

    • ‘/ssm/parameter-store/high-throughput-enabled`

Returns:

See Also:



10282
10283
10284
10285
# File 'lib/aws-sdk-ssm/client.rb', line 10282

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

#resume_session(params = {}) ⇒ Types::ResumeSessionResponse

Reconnects a session to a managed node after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions.

<note markdown=“1”> This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It isn’t intended for any other use.

</note>

Examples:

Request syntax with placeholder values


resp = client.resume_session({
  session_id: "SessionId", # required
})

Response structure


resp.session_id #=> String
resp.token_value #=> String
resp.stream_url #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :session_id (required, String)

    The ID of the disconnected session to resume.

Returns:

See Also:



10322
10323
10324
10325
# File 'lib/aws-sdk-ssm/client.rb', line 10322

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

#send_automation_signal(params = {}) ⇒ Struct

Sends a signal to an Automation execution to change the current behavior or status of the execution.

Examples:

Request syntax with placeholder values


resp = client.send_automation_signal({
  automation_execution_id: "AutomationExecutionId", # required
  signal_type: "Approve", # required, accepts Approve, Reject, StartStep, StopStep, Resume
  payload: {
    "AutomationParameterKey" => ["AutomationParameterValue"],
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :automation_execution_id (required, String)

    The unique identifier for an existing Automation execution that you want to send the signal to.

  • :signal_type (required, String)

    The type of signal to send to an Automation execution.

  • :payload (Hash<String,Array>)

    The data sent with the signal. The data schema depends on the type of signal used in the request.

    For ‘Approve` and `Reject` signal types, the payload is an optional comment that you can send with the signal type. For example:

    ‘Comment=“Looks good”`

    For ‘StartStep` and `Resume` signal types, you must send the name of the Automation step to start or resume as the payload. For example:

    ‘StepName=“step1”`

    For the ‘StopStep` signal type, you must send the step execution ID as the payload. For example:

    ‘StepExecutionId=“97fff367-fc5a-4299-aed8-0123456789ab”`

Returns:

  • (Struct)

    Returns an empty response.

See Also:



10372
10373
10374
10375
# File 'lib/aws-sdk-ssm/client.rb', line 10372

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

#send_command(params = {}) ⇒ Types::SendCommandResult

Runs commands on one or more managed nodes.

Examples:

Request syntax with placeholder values


resp = client.send_command({
  instance_ids: ["InstanceId"],
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  document_name: "DocumentARN", # required
  document_version: "DocumentVersion",
  document_hash: "DocumentHash",
  document_hash_type: "Sha256", # accepts Sha256, Sha1
  timeout_seconds: 1,
  comment: "Comment",
  parameters: {
    "ParameterName" => ["ParameterValue"],
  },
  output_s3_region: "S3Region",
  output_s3_bucket_name: "S3BucketName",
  output_s3_key_prefix: "S3KeyPrefix",
  max_concurrency: "MaxConcurrency",
  max_errors: "MaxErrors",
  service_role_arn: "ServiceRole",
  notification_config: {
    notification_arn: "NotificationArn",
    notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed
    notification_type: "Command", # accepts Command, Invocation
  },
  cloud_watch_output_config: {
    cloud_watch_log_group_name: "CloudWatchLogGroupName",
    cloud_watch_output_enabled: false,
  },
  alarm_configuration: {
    ignore_poll_alarm_failure: false,
    alarms: [ # required
      {
        name: "AlarmName", # required
      },
    ],
  },
})

Response structure


resp.command.command_id #=> String
resp.command.document_name #=> String
resp.command.document_version #=> String
resp.command.comment #=> String
resp.command.expires_after #=> Time
resp.command.parameters #=> Hash
resp.command.parameters["ParameterName"] #=> Array
resp.command.parameters["ParameterName"][0] #=> String
resp.command.instance_ids #=> Array
resp.command.instance_ids[0] #=> String
resp.command.targets #=> Array
resp.command.targets[0].key #=> String
resp.command.targets[0].values #=> Array
resp.command.targets[0].values[0] #=> String
resp.command.requested_date_time #=> Time
resp.command.status #=> String, one of "Pending", "InProgress", "Success", "Cancelled", "Failed", "TimedOut", "Cancelling"
resp.command.status_details #=> String
resp.command.output_s3_region #=> String
resp.command.output_s3_bucket_name #=> String
resp.command.output_s3_key_prefix #=> String
resp.command.max_concurrency #=> String
resp.command.max_errors #=> String
resp.command.target_count #=> Integer
resp.command.completed_count #=> Integer
resp.command.error_count #=> Integer
resp.command.delivery_timed_out_count #=> Integer
resp.command.service_role #=> String
resp.command.notification_config.notification_arn #=> String
resp.command.notification_config.notification_events #=> Array
resp.command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.command.notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.command.cloud_watch_output_config.cloud_watch_log_group_name #=> String
resp.command.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean
resp.command.timeout_seconds #=> Integer
resp.command.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.command.alarm_configuration.alarms #=> Array
resp.command.alarm_configuration.alarms[0].name #=> String
resp.command.triggered_alarms #=> Array
resp.command.triggered_alarms[0].name #=> String
resp.command.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"

Parameters:

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

    ({})

Options Hash (params):

  • :instance_ids (Array<String>)

    The IDs of the managed nodes where the command should run. Specifying managed node IDs is most useful when you are targeting a limited number of managed nodes, though you can specify up to 50 IDs.

    To target a larger number of managed nodes, or if you prefer not to list individual node IDs, we recommend using the ‘Targets` option instead. Using `Targets`, which accepts tag key-value pairs to identify the managed nodes to send commands to, you can a send command to tens, hundreds, or thousands of nodes at once.

    For more information about how to use targets, see [Run commands at scale] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html

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

    An array of search criteria that targets managed nodes using a ‘Key,Value` combination that you specify. Specifying targets is most useful when you want to send a command to a large number of managed nodes at once. Using `Targets`, which accepts tag key-value pairs to identify managed nodes, you can send a command to tens, hundreds, or thousands of nodes at once.

    To send a command to a smaller number of managed nodes, you can use the ‘InstanceIds` option instead.

    For more information about how to use targets, see [Run commands at scale] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html

  • :document_name (required, String)

    The name of the Amazon Web Services Systems Manager document (SSM document) to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document Amazon Resource Name (ARN). For more information about how to use shared documents, see [Sharing SSM documents] in the *Amazon Web Services Systems Manager User Guide*.

    <note markdown=“1”> If you specify a document name or ARN that hasn’t been shared with your account, you receive an ‘InvalidDocument` error.

    </note>
    

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

  • :document_version (String)

    The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a specific version number. If you run commands by using the Command Line Interface (Amazon Web Services CLI), then you must escape the first two options by using a backslash. If you specify a version number, then you don’t need to use the backslash. For example:

    –document-version “\$DEFAULT”

    –document-version “\$LATEST”

    –document-version “3”

  • :document_hash (String)

    The Sha256 or Sha1 hash created by the system when the document was created.

    <note markdown=“1”> Sha1 hashes have been deprecated.

    </note>
    
  • :document_hash_type (String)

    Sha256 or Sha1.

    <note markdown=“1”> Sha1 hashes have been deprecated.

    </note>
    
  • :timeout_seconds (Integer)

    If this time is reached and the command hasn’t already started running, it won’t run.

  • :comment (String)

    User-specified information about the command, such as a brief description of what the command should do.

  • :parameters (Hash<String,Array>)

    The required and optional parameters specified in the document being run.

  • :output_s3_region (String) — default: Deprecated

    You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.

  • :output_s3_bucket_name (String)

    The name of the S3 bucket where command execution responses should be stored.

  • :output_s3_key_prefix (String)

    The directory structure within the S3 bucket where the responses should be stored.

  • :max_concurrency (String) — default: Optional

    The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number such as 10 or a percentage such as 10%. The default value is ‘50`. For more information about how to use `MaxConcurrency`, see [Using concurrency controls] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity

  • :max_errors (String)

    The maximum number of errors allowed without the command failing. When the command fails one more time beyond the value of ‘MaxErrors`, the systems stops sending the command to additional targets. You can specify a number like 10 or a percentage like 10%. The default value is `0`. For more information about how to use `MaxErrors`, see [Using error controls] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors

  • :service_role_arn (String)

    The ARN of the Identity and Access Management (IAM) service role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.

    This role must provide the ‘sns:Publish` permission for your notification topic. For information about creating and using this service role, see [Monitoring Systems Manager status changes using Amazon SNS notifications] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html

  • :notification_config (Types::NotificationConfig)

    Configurations for sending notifications.

  • :cloud_watch_output_config (Types::CloudWatchOutputConfig)

    Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a capability of Amazon Web Services Systems Manager.

  • :alarm_configuration (Types::AlarmConfiguration)

    The CloudWatch alarm you want to apply to your command.

Returns:

See Also:



10631
10632
10633
10634
# File 'lib/aws-sdk-ssm/client.rb', line 10631

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

#start_associations_once(params = {}) ⇒ Struct

Runs an association immediately and only one time. This operation can be helpful when troubleshooting associations.

Examples:

Request syntax with placeholder values


resp = client.start_associations_once({
  association_ids: ["AssociationId"], # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :association_ids (required, Array<String>)

    The association IDs that you want to run immediately and only one time.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



10655
10656
10657
10658
# File 'lib/aws-sdk-ssm/client.rb', line 10655

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

#start_automation_execution(params = {}) ⇒ Types::StartAutomationExecutionResult

Initiates execution of an Automation runbook.

Examples:

Request syntax with placeholder values


resp = client.start_automation_execution({
  document_name: "DocumentARN", # required
  document_version: "DocumentVersion",
  parameters: {
    "AutomationParameterKey" => ["AutomationParameterValue"],
  },
  client_token: "IdempotencyToken",
  mode: "Auto", # accepts Auto, Interactive
  target_parameter_name: "AutomationParameterKey",
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  target_maps: [
    {
      "TargetMapKey" => ["TargetMapValue"],
    },
  ],
  max_concurrency: "MaxConcurrency",
  max_errors: "MaxErrors",
  target_locations: [
    {
      accounts: ["Account"],
      regions: ["Region"],
      target_location_max_concurrency: "MaxConcurrency",
      target_location_max_errors: "MaxErrors",
      execution_role_name: "ExecutionRoleName",
      target_location_alarm_configuration: {
        ignore_poll_alarm_failure: false,
        alarms: [ # required
          {
            name: "AlarmName", # required
          },
        ],
      },
      include_child_organization_units: false,
      exclude_accounts: ["ExcludeAccount"],
      targets: [
        {
          key: "TargetKey",
          values: ["TargetValue"],
        },
      ],
      targets_max_concurrency: "MaxConcurrency",
      targets_max_errors: "MaxErrors",
    },
  ],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  alarm_configuration: {
    ignore_poll_alarm_failure: false,
    alarms: [ # required
      {
        name: "AlarmName", # required
      },
    ],
  },
  target_locations_url: "TargetLocationsURL",
})

Response structure


resp.automation_execution_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :document_name (required, String)

    The name of the SSM document to run. This can be a public document or a custom document. To run a shared document belonging to another account, specify the document ARN. For more information about how to use shared documents, see [Sharing SSM documents] in the *Amazon Web Services Systems Manager User Guide*.

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

  • :document_version (String)

    The version of the Automation runbook to use for this execution.

  • :parameters (Hash<String,Array>)

    A key-value map of execution parameters, which match the declared parameters in the Automation runbook.

  • :client_token (String)

    User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can’t be reused.

  • :mode (String)

    The execution mode of the automation. Valid modes include the following: Auto and Interactive. The default mode is Auto.

  • :target_parameter_name (String)

    The name of the parameter used as the target resource for the rate-controlled execution. Required if you specify targets.

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

    A key-value mapping to target resources. Required if you specify TargetParameterName.

    If both this parameter and the ‘TargetLocation:Targets` parameter are supplied, `TargetLocation:Targets` takes precedence.

  • :target_maps (Array<Hash>)

    A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can’t be specified together.

  • :max_concurrency (String)

    The maximum number of targets allowed to run this task in parallel. You can specify a number, such as 10, or a percentage, such as 10%. The default value is ‘10`.

    If both this parameter and the ‘TargetLocation:TargetsMaxConcurrency` are supplied, `TargetLocation:TargetsMaxConcurrency` takes precedence.

  • :max_errors (String)

    The number of errors that are allowed before the system stops running the automation on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops running the automation when the fourth error is received. If you specify 0, then the system stops running the automation on additional targets after the first error result is returned. If you run an automation on 50 resources and set max-errors to 10%, then the system stops running the automation on additional targets when the sixth error is received.

    Executions that are already running an automation when max-errors is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won’t be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one at a time.

    If this parameter and the ‘TargetLocation:TargetsMaxErrors` parameter are both supplied, `TargetLocation:TargetsMaxErrors` takes precedence.

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

    A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple Amazon Web Services accounts. For more information, see [Running automations in multiple Amazon Web Services Regions and accounts] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html

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

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

    • ‘Key=environment,Value=test`

    • ‘Key=OS,Value=Windows`

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

    </note>
    
  • :alarm_configuration (Types::AlarmConfiguration)

    The CloudWatch alarm you want to apply to your automation.

  • :target_locations_url (String)

    Specify a publicly accessible URL for a file that contains the ‘TargetLocations` body. Currently, only files in presigned Amazon S3 buckets are supported.

Returns:

See Also:



10850
10851
10852
10853
# File 'lib/aws-sdk-ssm/client.rb', line 10850

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

#start_change_request_execution(params = {}) ⇒ Types::StartChangeRequestExecutionResult

Creates a change request for Change Manager. The Automation runbooks specified in the change request run only after all required approvals for the change request have been received.

Examples:

Request syntax with placeholder values


resp = client.start_change_request_execution({
  scheduled_time: Time.now,
  document_name: "DocumentARN", # required
  document_version: "DocumentVersion",
  parameters: {
    "AutomationParameterKey" => ["AutomationParameterValue"],
  },
  change_request_name: "ChangeRequestName",
  client_token: "IdempotencyToken",
  auto_approve: false,
  runbooks: [ # required
    {
      document_name: "DocumentARN", # required
      document_version: "DocumentVersion",
      parameters: {
        "AutomationParameterKey" => ["AutomationParameterValue"],
      },
      target_parameter_name: "AutomationParameterKey",
      targets: [
        {
          key: "TargetKey",
          values: ["TargetValue"],
        },
      ],
      target_maps: [
        {
          "TargetMapKey" => ["TargetMapValue"],
        },
      ],
      max_concurrency: "MaxConcurrency",
      max_errors: "MaxErrors",
      target_locations: [
        {
          accounts: ["Account"],
          regions: ["Region"],
          target_location_max_concurrency: "MaxConcurrency",
          target_location_max_errors: "MaxErrors",
          execution_role_name: "ExecutionRoleName",
          target_location_alarm_configuration: {
            ignore_poll_alarm_failure: false,
            alarms: [ # required
              {
                name: "AlarmName", # required
              },
            ],
          },
          include_child_organization_units: false,
          exclude_accounts: ["ExcludeAccount"],
          targets: [
            {
              key: "TargetKey",
              values: ["TargetValue"],
            },
          ],
          targets_max_concurrency: "MaxConcurrency",
          targets_max_errors: "MaxErrors",
        },
      ],
    },
  ],
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  scheduled_end_time: Time.now,
  change_details: "ChangeDetailsValue",
})

Response structure


resp.automation_execution_id #=> String

Parameters:

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

    ({})

Options Hash (params):

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

    The date and time specified in the change request to run the Automation runbooks.

    <note markdown=“1”> The Automation runbooks specified for the runbook workflow can’t run until all required approvals for the change request have been received.

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

    The name of the change template document to run during the runbook workflow.

  • :document_version (String)

    The version of the change template document to run during the runbook workflow.

  • :parameters (Hash<String,Array>)

    A key-value map of parameters that match the declared parameters in the change template document.

  • :change_request_name (String)

    The name of the change request associated with the runbook workflow to be run.

  • :client_token (String)

    The user-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can’t be reused.

  • :auto_approve (Boolean)

    Indicates whether the change request can be approved automatically without the need for manual approvals.

    If ‘AutoApprovable` is enabled in a change template, then setting `AutoApprove` to `true` in `StartChangeRequestExecution` creates a change request that bypasses approver review.

    <note markdown=“1”> Change Calendar restrictions are not bypassed in this scenario. If the state of an associated calendar is ‘CLOSED`, change freeze approvers must still grant permission for this change request to run. If they don’t, the change won’t be processed until the calendar state is again ‘OPEN`.

    </note>
    
  • :runbooks (required, Array<Types::Runbook>)

    Information about the Automation runbooks that are run during the runbook workflow.

    <note markdown=“1”> The Automation runbooks specified for the runbook workflow can’t run until all required approvals for the change request have been received.

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

    Optional metadata that you assign to a resource. You can specify a maximum of five tags for a change request. 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 change request 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`

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

    The time that the requester expects the runbook workflow related to the change request to complete. The time is an estimate only that the requester provides for reviewers.

  • :change_details (String)

    User-provided details about the change. If no details are provided, content specified in the **Template information** section of the associated change template is added.

Returns:

See Also:



11021
11022
11023
11024
# File 'lib/aws-sdk-ssm/client.rb', line 11021

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

#start_execution_preview(params = {}) ⇒ Types::StartExecutionPreviewResponse

Initiates the process of creating a preview showing the effects that running a specified Automation runbook would have on the targeted resources.

Examples:

Example: StartExecutionPreview


# This example illustrates one usage of StartExecutionPreview

resp = client.start_execution_preview({
  document_name: "AWS-StartEC2Instance", 
})

resp.to_h outputs the following:
{
  execution_preview_id: "2f27d6e5-9676-4708-b8bd-aef0ab47bb26", 
}

Request syntax with placeholder values


resp = client.start_execution_preview({
  document_name: "DocumentName", # required
  document_version: "DocumentVersion",
  execution_inputs: {
    automation: {
      parameters: {
        "AutomationParameterKey" => ["AutomationParameterValue"],
      },
      target_parameter_name: "AutomationParameterKey",
      targets: [
        {
          key: "TargetKey",
          values: ["TargetValue"],
        },
      ],
      target_maps: [
        {
          "TargetMapKey" => ["TargetMapValue"],
        },
      ],
      target_locations: [
        {
          accounts: ["Account"],
          regions: ["Region"],
          target_location_max_concurrency: "MaxConcurrency",
          target_location_max_errors: "MaxErrors",
          execution_role_name: "ExecutionRoleName",
          target_location_alarm_configuration: {
            ignore_poll_alarm_failure: false,
            alarms: [ # required
              {
                name: "AlarmName", # required
              },
            ],
          },
          include_child_organization_units: false,
          exclude_accounts: ["ExcludeAccount"],
          targets: [
            {
              key: "TargetKey",
              values: ["TargetValue"],
            },
          ],
          targets_max_concurrency: "MaxConcurrency",
          targets_max_errors: "MaxErrors",
        },
      ],
      target_locations_url: "TargetLocationsURL",
    },
  },
})

Response structure


resp.execution_preview_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :document_name (required, String)

    The name of the Automation runbook to run. The result of the execution preview indicates what the impact would be of running this runbook.

  • :document_version (String)

    The version of the Automation runbook to run. The default value is ‘$DEFAULT`.

  • :execution_inputs (Types::ExecutionInputs)

    Information about the inputs that can be specified for the preview operation.

Returns:

See Also:



11122
11123
11124
11125
# File 'lib/aws-sdk-ssm/client.rb', line 11122

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

#start_session(params = {}) ⇒ Types::StartSessionResponse

Initiates a connection to a target (for example, a managed node) for a Session Manager session. Returns a URL and token that can be used to open a WebSocket connection for sending input and receiving outputs.

<note markdown=“1”> Amazon Web Services CLI usage: ‘start-session` is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see [Install the Session Manager plugin for the Amazon Web Services CLI] in the *Amazon Web Services Systems Manager User Guide*.

Amazon Web Services Tools for PowerShell usage: Start-SSMSession

isn’t currently supported by Amazon Web Services Tools for PowerShell on Windows local machines.

</note>

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html

Examples:

Request syntax with placeholder values


resp = client.start_session({
  target: "SessionTarget", # required
  document_name: "DocumentARN",
  reason: "SessionReason",
  parameters: {
    "SessionManagerParameterName" => ["SessionManagerParameterValue"],
  },
})

Response structure


resp.session_id #=> String
resp.token_value #=> String
resp.stream_url #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :target (required, String)

    The managed node to connect to for the session.

  • :document_name (String)

    The name of the SSM document you want to use to define the type of session, input parameters, or preferences for the session. For example, ‘SSM-SessionManagerRunShell`. You can call the GetDocument API to verify the document exists before attempting to start a session. If no document name is provided, a shell to the managed node is launched by default. For more information, see [Start a session] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html

  • :reason (String)

    The reason for connecting to the instance. This value is included in the details for the Amazon CloudWatch Events event created when you start the session.

  • :parameters (Hash<String,Array>)

    The values you want to specify for the parameters defined in the Session document.

Returns:

See Also:



11199
11200
11201
11202
# File 'lib/aws-sdk-ssm/client.rb', line 11199

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

#stop_automation_execution(params = {}) ⇒ Struct

Stop an Automation that is currently running.

Examples:

Request syntax with placeholder values


resp = client.stop_automation_execution({
  automation_execution_id: "AutomationExecutionId", # required
  type: "Complete", # accepts Complete, Cancel
})

Parameters:

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

    ({})

Options Hash (params):

  • :automation_execution_id (required, String)

    The execution ID of the Automation to stop.

  • :type (String)

    The stop request type. Valid types include the following: Cancel and Complete. The default type is Cancel.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



11226
11227
11228
11229
# File 'lib/aws-sdk-ssm/client.rb', line 11226

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

#terminate_session(params = {}) ⇒ Types::TerminateSessionResponse

Permanently ends a session and closes the data connection between the Session Manager client and SSM Agent on the managed node. A terminated session can’t be resumed.

Examples:

Request syntax with placeholder values


resp = client.terminate_session({
  session_id: "SessionId", # required
})

Response structure


resp.session_id #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :session_id (required, String)

    The ID of the session to terminate.

Returns:

See Also:



11256
11257
11258
11259
# File 'lib/aws-sdk-ssm/client.rb', line 11256

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

#unlabel_parameter_version(params = {}) ⇒ Types::UnlabelParameterVersionResult

Remove a label or labels from a parameter.

Examples:

Request syntax with placeholder values


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

Response structure


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

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the parameter from which you want to delete one or more labels.

    <note markdown=“1”> You can’t enter the Amazon Resource Name (ARN) for a parameter, only the parameter name itself.

    </note>
    
  • :parameter_version (required, Integer)

    The specific version of the parameter which you want to delete one or more labels from. If it isn’t present, the call will fail.

  • :labels (required, Array<String>)

    One or more labels to delete from the specified parameter version.

Returns:

See Also:



11303
11304
11305
11306
# File 'lib/aws-sdk-ssm/client.rb', line 11303

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

#update_association(params = {}) ⇒ Types::UpdateAssociationResult

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output. When you call ‘UpdateAssociation`, the system removes all optional parameters from the request and overwrites the association with null values for those parameters. This is by design. You must specify all optional parameters in the call, even if you are not changing the parameters. This includes the `Name` parameter. Before calling this API action, we recommend that you call the DescribeAssociation API operation and make a note of all optional parameters required for your `UpdateAssociation` call.

In order to call this API operation, a user, group, or role must be granted permission to call the DescribeAssociation API operation. If you don’t have permission to call ‘DescribeAssociation`, then you receive the following error: `An error occurred (AccessDeniedException) when calling the UpdateAssociation operation: User: <user_arn> isn’t authorized to perform: ssm:DescribeAssociation on resource: <resource_arn>‘

When you update an association, the association immediately runs against the specified targets. You can add the ‘ApplyOnlyAtCronInterval` parameter to run the association during the next schedule run.

Examples:

Request syntax with placeholder values


resp = client.update_association({
  association_id: "AssociationId", # required
  parameters: {
    "ParameterName" => ["ParameterValue"],
  },
  document_version: "DocumentVersion",
  schedule_expression: "ScheduleExpression",
  output_location: {
    s3_location: {
      output_s3_region: "S3Region",
      output_s3_bucket_name: "S3BucketName",
      output_s3_key_prefix: "S3KeyPrefix",
    },
  },
  name: "DocumentARN",
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  association_name: "AssociationName",
  association_version: "AssociationVersion",
  automation_target_parameter_name: "AutomationTargetParameterName",
  max_errors: "MaxErrors",
  max_concurrency: "MaxConcurrency",
  compliance_severity: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, UNSPECIFIED
  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",
      target_location_alarm_configuration: {
        ignore_poll_alarm_failure: false,
        alarms: [ # required
          {
            name: "AlarmName", # required
          },
        ],
      },
      include_child_organization_units: false,
      exclude_accounts: ["ExcludeAccount"],
      targets: [
        {
          key: "TargetKey",
          values: ["TargetValue"],
        },
      ],
      targets_max_concurrency: "MaxConcurrency",
      targets_max_errors: "MaxErrors",
    },
  ],
  schedule_offset: 1,
  duration: 1,
  target_maps: [
    {
      "TargetMapKey" => ["TargetMapValue"],
    },
  ],
  alarm_configuration: {
    ignore_poll_alarm_failure: false,
    alarms: [ # required
      {
        name: "AlarmName", # required
      },
    ],
  },
})

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
resp.association_description.target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.association_description.target_locations[0].include_child_organization_units #=> Boolean
resp.association_description.target_locations[0].exclude_accounts #=> Array
resp.association_description.target_locations[0].exclude_accounts[0] #=> String
resp.association_description.target_locations[0].targets #=> Array
resp.association_description.target_locations[0].targets[0].key #=> String
resp.association_description.target_locations[0].targets[0].values #=> Array
resp.association_description.target_locations[0].targets[0].values[0] #=> String
resp.association_description.target_locations[0].targets_max_concurrency #=> String
resp.association_description.target_locations[0].targets_max_errors #=> String
resp.association_description.schedule_offset #=> Integer
resp.association_description.duration #=> Integer
resp.association_description.target_maps #=> Array
resp.association_description.target_maps[0] #=> Hash
resp.association_description.target_maps[0]["TargetMapKey"] #=> Array
resp.association_description.target_maps[0]["TargetMapKey"][0] #=> String
resp.association_description.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.alarm_configuration.alarms #=> Array
resp.association_description.alarm_configuration.alarms[0].name #=> String
resp.association_description.triggered_alarms #=> Array
resp.association_description.triggered_alarms[0].name #=> String
resp.association_description.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"

Parameters:

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

    ({})

Options Hash (params):

  • :association_id (required, String)

    The ID of the association you want to update.

  • :parameters (Hash<String,Array>)

    The parameters you want to update for the association. If you create a parameter using Parameter Store, a capability of Amazon Web Services Systems Manager, you can reference the parameter using ‘{ssm:parameter-name}`.

  • :document_version (String)

    The document version you want update for the association.

    State Manager doesn’t support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the ‘default` version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to `default`.

  • :schedule_expression (String)

    The cron expression used to schedule the association that you want to update.

  • :output_location (Types::InstanceAssociationOutputLocation)

    An S3 bucket where you want to store the results of this request.

  • :name (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 document (SSM document) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:

    ‘arn:aws:ssm:region:account-id:document/document-name `

    For example:

    ‘arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document`

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

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

    The targets of the association.

  • :association_name (String)

    The name of the association that you want to update.

  • :association_version (String)

    This parameter is provided for concurrency control purposes. You must specify the latest association version in the service. If you want to ensure that this request succeeds, either specify ‘$LATEST`, or omit this parameter.

  • :automation_target_parameter_name (String)

    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, a capability of Amazon Web Services Systems 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 update an association, the system runs it immediately after it is updated and then according to the schedule you specified. Specify this option if you don’t want an association to run immediately after you update it. This parameter isn’t supported for rate expressions.

    If you chose this option when you created an association and later you edit that association or you make changes to the SSM document on which that association is based (by using the Documents page in the console), State Manager applies the association at the next specified cron interval. For example, if you chose the ‘Latest` version of an SSM document when you created an association and you edit the association by choosing a different document version on the Documents page, State Manager applies the association at the next specified cron interval if you previously selected this option. If this option wasn’t selected, State Manager immediately runs the association.

    You can reset this option. To do so, specify the ‘no-apply-only-at-cron-interval` parameter when you update the association from the command line. This parameter forces the association to run immediately after updating it and according to the interval specified.

  • :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 update an association in multiple Regions and multiple accounts.

  • :schedule_offset (Integer)

    Number of days to wait after the scheduled day to run an association. For example, if you specified a cron schedule of ‘cron(0 0 ? * THU#2 *)`, you could specify an offset of 3 to run the association each Sunday after the second Thursday of the month. For more information about cron schedules for associations, see [Reference: Cron and rate expressions for Systems Manager] in the *Amazon Web Services Systems Manager User Guide*.

    <note markdown=“1”> To use offsets, you must specify the ‘ApplyOnlyAtCronInterval` parameter. This option tells the system not to run an association immediately after you create it.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html

  • :duration (Integer)

    The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.

    The ‘Duration` parameter applies only when both these conditions are true:

    • The association for which you specify a duration is cancelable according to the parameters of the SSM command document or Automation runbook associated with this execution.

    • The command specifies the ‘ ApplyOnlyAtCronInterval ` parameter, which means that the association doesn’t run immediately after it is updated, but only according to the specified schedule.

  • :target_maps (Array<Hash>)

    A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can’t be specified together.

  • :alarm_configuration (Types::AlarmConfiguration)

    The details for the CloudWatch alarm you want to apply to an automation or command.

Returns:

See Also:



11688
11689
11690
11691
# File 'lib/aws-sdk-ssm/client.rb', line 11688

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

#update_association_status(params = {}) ⇒ Types::UpdateAssociationStatusResult

Updates the status of the Amazon Web Services Systems Manager document (SSM document) associated with the specified managed node.

‘UpdateAssociationStatus` is primarily used by the Amazon Web Services Systems Manager Agent (SSM Agent) to report status updates about your associations and is only used for associations created with the `InstanceId` legacy parameter.

Examples:

Request syntax with placeholder values


resp = client.update_association_status({
  name: "DocumentARN", # required
  instance_id: "InstanceId", # required
  association_status: { # required
    date: Time.now, # required
    name: "Pending", # required, accepts Pending, Success, Failed
    message: "StatusMessage", # required
    additional_info: "StatusAdditionalInfo",
  },
})

Response structure


resp.association_description.name #=> String
resp.association_description.instance_id #=> String
resp.association_description.association_version #=> String
resp.association_description.date #=> Time
resp.association_description.last_update_association_date #=> Time
resp.association_description.status.date #=> Time
resp.association_description.status.name #=> String, one of "Pending", "Success", "Failed"
resp.association_description.status.message #=> String
resp.association_description.status.additional_info #=> String
resp.association_description.overview.status #=> String
resp.association_description.overview.detailed_status #=> String
resp.association_description.overview.association_status_aggregated_count #=> Hash
resp.association_description.overview.association_status_aggregated_count["StatusName"] #=> Integer
resp.association_description.document_version #=> String
resp.association_description.automation_target_parameter_name #=> String
resp.association_description.parameters #=> Hash
resp.association_description.parameters["ParameterName"] #=> Array
resp.association_description.parameters["ParameterName"][0] #=> String
resp.association_description.association_id #=> String
resp.association_description.targets #=> Array
resp.association_description.targets[0].key #=> String
resp.association_description.targets[0].values #=> Array
resp.association_description.targets[0].values[0] #=> String
resp.association_description.schedule_expression #=> String
resp.association_description.output_location.s3_location.output_s3_region #=> String
resp.association_description.output_location.s3_location.output_s3_bucket_name #=> String
resp.association_description.output_location.s3_location.output_s3_key_prefix #=> String
resp.association_description.last_execution_date #=> Time
resp.association_description.last_successful_execution_date #=> Time
resp.association_description.association_name #=> String
resp.association_description.max_errors #=> String
resp.association_description.max_concurrency #=> String
resp.association_description.compliance_severity #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "UNSPECIFIED"
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
resp.association_description.target_locations[0].target_location_alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms #=> Array
resp.association_description.target_locations[0].target_location_alarm_configuration.alarms[0].name #=> String
resp.association_description.target_locations[0].include_child_organization_units #=> Boolean
resp.association_description.target_locations[0].exclude_accounts #=> Array
resp.association_description.target_locations[0].exclude_accounts[0] #=> String
resp.association_description.target_locations[0].targets #=> Array
resp.association_description.target_locations[0].targets[0].key #=> String
resp.association_description.target_locations[0].targets[0].values #=> Array
resp.association_description.target_locations[0].targets[0].values[0] #=> String
resp.association_description.target_locations[0].targets_max_concurrency #=> String
resp.association_description.target_locations[0].targets_max_errors #=> String
resp.association_description.schedule_offset #=> Integer
resp.association_description.duration #=> Integer
resp.association_description.target_maps #=> Array
resp.association_description.target_maps[0] #=> Hash
resp.association_description.target_maps[0]["TargetMapKey"] #=> Array
resp.association_description.target_maps[0]["TargetMapKey"][0] #=> String
resp.association_description.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.association_description.alarm_configuration.alarms #=> Array
resp.association_description.alarm_configuration.alarms[0].name #=> String
resp.association_description.triggered_alarms #=> Array
resp.association_description.triggered_alarms[0].name #=> String
resp.association_description.triggered_alarms[0].state #=> String, one of "UNKNOWN", "ALARM"

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the SSM document.

  • :instance_id (required, String)

    The managed node ID.

  • :association_status (required, Types::AssociationStatus)

    The association status.

Returns:

See Also:



11803
11804
11805
11806
# File 'lib/aws-sdk-ssm/client.rb', line 11803

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

#update_document(params = {}) ⇒ Types::UpdateDocumentResult

Updates one or more values for an SSM document.

Examples:

Request syntax with placeholder values


resp = client.update_document({
  content: "DocumentContent", # required
  attachments: [
    {
      key: "SourceUrl", # accepts SourceUrl, S3FileUrl, AttachmentReference
      values: ["AttachmentsSourceValue"],
      name: "AttachmentIdentifier",
    },
  ],
  name: "DocumentName", # required
  display_name: "DocumentDisplayName",
  version_name: "DocumentVersionName",
  document_version: "DocumentVersion",
  document_format: "YAML", # accepts YAML, JSON, TEXT
  target_type: "TargetType",
})

Response structure


resp.document_description.sha_1 #=> String
resp.document_description.hash #=> String
resp.document_description.hash_type #=> String, one of "Sha256", "Sha1"
resp.document_description.name #=> String
resp.document_description.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", "CloudFormation", "ConformancePackTemplate", "QuickSetup"
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.requires[0].require_type #=> String
resp.document_description.requires[0].version_name #=> 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"
resp.document_description.category #=> Array
resp.document_description.category[0] #=> String
resp.document_description.category_enum #=> Array
resp.document_description.category_enum[0] #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :content (required, String)

    A valid JSON or YAML string.

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

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

  • :name (required, String)

    The name of the SSM document that you want to update.

  • :display_name (String)

    The friendly name of the SSM document that you want to update. This value can differ for each version of the document. If you don’t specify a value for this parameter in your request, the existing value is applied to the new document version.

  • :version_name (String)

    An optional field specifying the version of the artifact you are updating with the document. For example, 12.6. This value is unique across all versions of a document, and can’t be changed.

  • :document_version (String)

    The version of the document that you want to update. Currently, Systems Manager supports updating only the latest version of the document. You can specify the version number of the latest version or use the ‘$LATEST` variable.

    <note markdown=“1”> If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the ‘apply-only-at-cron-interval` parameter.

    </note>
    
  • :document_format (String)

    Specify the document format for the new document version. Systems Manager supports JSON and YAML documents. JSON is the default format.

  • :target_type (String)

    Specify a new target type for the document.

Returns:

See Also:



11927
11928
11929
11930
# File 'lib/aws-sdk-ssm/client.rb', line 11927

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

#update_document_default_version(params = {}) ⇒ Types::UpdateDocumentDefaultVersionResult

Set the default version of a document.

<note markdown=“1”> If you change a document version for a State Manager association, Systems Manager immediately runs the association unless you previously specifed the ‘apply-only-at-cron-interval` parameter.

</note>

Examples:

Request syntax with placeholder values


resp = client.update_document_default_version({
  name: "DocumentName", # required
  document_version: "DocumentVersionNumber", # required
})

Response structure


resp.description.name #=> String
resp.description.default_version #=> String
resp.description.default_version_name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of a custom document that you want to set as the default version.

  • :document_version (required, String)

    The version of a custom document that you want to set as the default version.

Returns:

See Also:



11969
11970
11971
11972
# File 'lib/aws-sdk-ssm/client.rb', line 11969

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

#update_document_metadata(params = {}) ⇒ Struct

Updates information related to approval reviews for a specific version of a change template in Change Manager.

Examples:

Request syntax with placeholder values


resp = client.({
  name: "DocumentName", # required
  document_version: "DocumentVersion",
  document_reviews: { # required
    action: "SendForReview", # required, accepts SendForReview, UpdateReview, Approve, Reject
    comment: [
      {
        type: "Comment", # accepts Comment
        content: "DocumentReviewComment",
      },
    ],
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :name (required, String)

    The name of the change template for which a version’s metadata is to be updated.

  • :document_version (String)

    The version of a change template in which to update approval metadata.

  • :document_reviews (required, Types::DocumentReviews)

    The change template review details to update.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



12009
12010
12011
12012
# File 'lib/aws-sdk-ssm/client.rb', line 12009

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

#update_maintenance_window(params = {}) ⇒ Types::UpdateMaintenanceWindowResult

Updates an existing maintenance window. Only specified parameters are modified.

<note markdown=“1”> The value you specify for ‘Duration` determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for `Cutoff`. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for `Cutoff` is one hour, no maintenance window tasks can start after 5 PM.

</note>

Examples:

Request syntax with placeholder values


resp = client.update_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  start_date: "MaintenanceWindowStringDateTime",
  end_date: "MaintenanceWindowStringDateTime",
  schedule: "MaintenanceWindowSchedule",
  schedule_timezone: "MaintenanceWindowTimezone",
  schedule_offset: 1,
  duration: 1,
  cutoff: 1,
  allow_unassociated_targets: false,
  enabled: false,
  replace: false,
})

Response structure


resp.window_id #=> String
resp.name #=> String
resp.description #=> String
resp.start_date #=> String
resp.end_date #=> String
resp.schedule #=> String
resp.schedule_timezone #=> String
resp.schedule_offset #=> Integer
resp.duration #=> Integer
resp.cutoff #=> Integer
resp.allow_unassociated_targets #=> Boolean
resp.enabled #=> Boolean

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

    The ID of the maintenance window to update.

  • :name (String)

    The name of the maintenance window.

  • :description (String)

    An optional description for the update request.

  • :start_date (String)

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

    <note markdown=“1”> When using a rate schedule, if you provide a start date that occurs in the past, the current date and time are used as the start date.

    </note>
    
  • :end_date (String)

    The date and time, in ISO-8601 Extended format, for when you want the maintenance window to become inactive. ‘EndDate` allows you to set a date and time in the future when the maintenance window will no longer run.

  • :schedule (String)

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

  • :schedule_timezone (String)

    The time zone that the scheduled maintenance window executions are based on, in Internet Assigned Numbers Authority (IANA) format. For example: “America/Los_Angeles”, “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 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 (Integer)

    The duration of the maintenance window in hours.

  • :cutoff (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 (Boolean)

    Whether targets must be registered with the maintenance window before tasks can be defined for those targets.

  • :enabled (Boolean)

    Whether the maintenance window is enabled.

  • :replace (Boolean)

    If ‘True`, then all fields that are required by the CreateMaintenanceWindow operation are also required for this API request. Optional fields that aren’t specified are set to null.

Returns:

See Also:



12150
12151
12152
12153
# File 'lib/aws-sdk-ssm/client.rb', line 12150

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

#update_maintenance_window_target(params = {}) ⇒ Types::UpdateMaintenanceWindowTargetResult

Modifies the target of an existing maintenance window. You can change the following:

  • Name

  • Description

  • Owner

  • IDs for an ID target

  • Tags for a Tag target

  • From any supported tag type to another. The three supported tag types are ID target, Tag target, and resource group. For more information, see Target.

<note markdown=“1”> If a parameter is null, then the corresponding field isn’t modified.

</note>

Examples:

Request syntax with placeholder values


resp = client.update_maintenance_window_target({
  window_id: "MaintenanceWindowId", # required
  window_target_id: "MaintenanceWindowTargetId", # required
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  owner_information: "OwnerInformation",
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  replace: false,
})

Response structure


resp.window_id #=> String
resp.window_target_id #=> String
resp.targets #=> Array
resp.targets[0].key #=> String
resp.targets[0].values #=> Array
resp.targets[0].values[0] #=> String
resp.owner_information #=> String
resp.name #=> String
resp.description #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

    The maintenance window ID with which to modify the target.

  • :window_target_id (required, String)

    The target ID to modify.

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

    The targets to add or replace.

  • :owner_information (String)

    User-provided value that will be included in any Amazon CloudWatch Events events raised while running tasks for these targets in this maintenance window.

  • :name (String)

    A name for the update.

  • :description (String)

    An optional description for the update.

  • :replace (Boolean)

    If ‘True`, then all fields that are required by the RegisterTargetWithMaintenanceWindow operation are also required for this API request. Optional fields that aren’t specified are set to null.

Returns:

See Also:



12244
12245
12246
12247
# File 'lib/aws-sdk-ssm/client.rb', line 12244

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

#update_maintenance_window_task(params = {}) ⇒ Types::UpdateMaintenanceWindowTaskResult

Modifies a task assigned to a maintenance window. You can’t change the task type, but you can change the following values:

  • ‘TaskARN`. For example, you can change a `RUN_COMMAND` task from `AWS-RunPowerShellScript` to `AWS-RunShellScript`.

  • ‘ServiceRoleArn`

  • ‘TaskInvocationParameters`

  • ‘Priority`

  • ‘MaxConcurrency`

  • ‘MaxErrors`

<note markdown=“1”> One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don’t specify targets, see [Registering maintenance window tasks without targets] in the *Amazon Web Services Systems Manager User Guide*.

</note>

If the value for a parameter in ‘UpdateMaintenanceWindowTask` is null, then the corresponding field isn’t modified. If you set ‘Replace` to true, then all fields required by the RegisterTaskWithMaintenanceWindow operation are required for this request. Optional fields that aren’t specified are set to null.

When you update a maintenance window task that has options specified in ‘TaskInvocationParameters`, you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you don’t specify again are removed. For example, suppose that when you registered a Run Command task, you specified ‘TaskInvocationParameters` values for `Comment`, `NotificationConfig`, and `OutputS3BucketName`. If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed.

[1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

Examples:

Request syntax with placeholder values


resp = client.update_maintenance_window_task({
  window_id: "MaintenanceWindowId", # required
  window_task_id: "MaintenanceWindowTaskId", # required
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  task_arn: "MaintenanceWindowTaskArn",
  service_role_arn: "ServiceRole",
  task_parameters: {
    "MaintenanceWindowTaskParameterName" => {
      values: ["MaintenanceWindowTaskParameterValue"],
    },
  },
  task_invocation_parameters: {
    run_command: {
      comment: "Comment",
      cloud_watch_output_config: {
        cloud_watch_log_group_name: "CloudWatchLogGroupName",
        cloud_watch_output_enabled: false,
      },
      document_hash: "DocumentHash",
      document_hash_type: "Sha256", # accepts Sha256, Sha1
      document_version: "DocumentVersion",
      notification_config: {
        notification_arn: "NotificationArn",
        notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed
        notification_type: "Command", # accepts Command, Invocation
      },
      output_s3_bucket_name: "S3BucketName",
      output_s3_key_prefix: "S3KeyPrefix",
      parameters: {
        "ParameterName" => ["ParameterValue"],
      },
      service_role_arn: "ServiceRole",
      timeout_seconds: 1,
    },
    automation: {
      document_version: "DocumentVersion",
      parameters: {
        "AutomationParameterKey" => ["AutomationParameterValue"],
      },
    },
    step_functions: {
      input: "MaintenanceWindowStepFunctionsInput",
      name: "MaintenanceWindowStepFunctionsName",
    },
    lambda: {
      client_context: "MaintenanceWindowLambdaClientContext",
      qualifier: "MaintenanceWindowLambdaQualifier",
      payload: "data",
    },
  },
  priority: 1,
  max_concurrency: "MaxConcurrency",
  max_errors: "MaxErrors",
  logging_info: {
    s3_bucket_name: "S3BucketName", # required
    s3_key_prefix: "S3KeyPrefix",
    s3_region: "S3Region", # required
  },
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  replace: false,
  cutoff_behavior: "CONTINUE_TASK", # accepts CONTINUE_TASK, CANCEL_TASK
  alarm_configuration: {
    ignore_poll_alarm_failure: false,
    alarms: [ # required
      {
        name: "AlarmName", # required
      },
    ],
  },
})

Response structure


resp.window_id #=> String
resp.window_task_id #=> String
resp.targets #=> Array
resp.targets[0].key #=> String
resp.targets[0].values #=> Array
resp.targets[0].values[0] #=> String
resp.task_arn #=> String
resp.service_role_arn #=> String
resp.task_parameters #=> Hash
resp.task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array
resp.task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String
resp.task_invocation_parameters.run_command.comment #=> String
resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_log_group_name #=> String
resp.task_invocation_parameters.run_command.cloud_watch_output_config.cloud_watch_output_enabled #=> Boolean
resp.task_invocation_parameters.run_command.document_hash #=> String
resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1"
resp.task_invocation_parameters.run_command.document_version #=> String
resp.task_invocation_parameters.run_command.notification_config.notification_arn #=> String
resp.task_invocation_parameters.run_command.notification_config.notification_events #=> Array
resp.task_invocation_parameters.run_command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.task_invocation_parameters.run_command.notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.task_invocation_parameters.run_command.output_s3_bucket_name #=> String
resp.task_invocation_parameters.run_command.output_s3_key_prefix #=> String
resp.task_invocation_parameters.run_command.parameters #=> Hash
resp.task_invocation_parameters.run_command.parameters["ParameterName"] #=> Array
resp.task_invocation_parameters.run_command.parameters["ParameterName"][0] #=> String
resp.task_invocation_parameters.run_command.service_role_arn #=> String
resp.task_invocation_parameters.run_command.timeout_seconds #=> Integer
resp.task_invocation_parameters.automation.document_version #=> String
resp.task_invocation_parameters.automation.parameters #=> Hash
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"] #=> Array
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"][0] #=> String
resp.task_invocation_parameters.step_functions.input #=> String
resp.task_invocation_parameters.step_functions.name #=> String
resp.task_invocation_parameters.lambda.client_context #=> String
resp.task_invocation_parameters.lambda.qualifier #=> String
resp.task_invocation_parameters.lambda.payload #=> String
resp.priority #=> Integer
resp.max_concurrency #=> String
resp.max_errors #=> String
resp.logging_info.s3_bucket_name #=> String
resp.logging_info.s3_key_prefix #=> String
resp.logging_info.s3_region #=> String
resp.name #=> String
resp.description #=> String
resp.cutoff_behavior #=> String, one of "CONTINUE_TASK", "CANCEL_TASK"
resp.alarm_configuration.ignore_poll_alarm_failure #=> Boolean
resp.alarm_configuration.alarms #=> Array
resp.alarm_configuration.alarms[0].name #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :window_id (required, String)

    The maintenance window ID that contains the task to modify.

  • :window_task_id (required, String)

    The task ID to modify.

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

    The targets (either managed nodes or tags) to modify. Managed nodes are specified using the format ‘Key=instanceids,Values=instanceID_1,instanceID_2`. Tags are specified using the format ` Key=tag_name,Values=tag_value`.

    <note markdown=“1”> One or more targets must be specified for maintenance window Run Command-type tasks. Depending on the task, targets are optional for other maintenance window task types (Automation, Lambda, and Step Functions). For more information about running tasks that don’t specify targets, see [Registering maintenance window tasks without targets] in the *Amazon Web Services Systems Manager User Guide*.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

  • :task_arn (String)

    The task ARN to modify.

  • :service_role_arn (String)

    The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a service role ARN, Systems Manager uses a service-linked role in your account. If no appropriate service-linked role for Systems Manager exists in your account, it is created when you run ‘RegisterTaskWithMaintenanceWindow`.

    However, for an improved security posture, we strongly recommend creating a custom policy and custom service role for running your maintenance window tasks. The policy can be crafted to provide only the permissions needed for your particular maintenance window tasks. For more information, see [Setting up Maintenance Windows] in the in the *Amazon Web Services Systems Manager User Guide*.

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

  • :task_parameters (Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>)

    The parameters to modify.

    <note markdown=“1”> ‘TaskParameters` has been deprecated. To specify parameters to pass to a task when it runs, instead use the `Parameters` option in the `TaskInvocationParameters` structure. For information about how Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    </note>
    

    The map has the following format:

    Key: string, between 1 and 255 characters

    Value: an array of strings, each string is between 1 and 255 characters

  • :task_invocation_parameters (Types::MaintenanceWindowTaskInvocationParameters)

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

    When you update a maintenance window task that has options specified in ‘TaskInvocationParameters`, you must provide again all the `TaskInvocationParameters` values that you want to retain. The values you don’t specify again are removed. For example, suppose that when you registered a Run Command task, you specified ‘TaskInvocationParameters` values for `Comment`, `NotificationConfig`, and `OutputS3BucketName`. If you update the maintenance window task and specify only a different `OutputS3BucketName` value, the values for `Comment` and `NotificationConfig` are removed.

  • :priority (Integer)

    The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

  • :max_concurrency (String)

    The new ‘MaxConcurrency` value you want to specify. `MaxConcurrency` is the number of targets that are allowed to run this task, in parallel.

    <note markdown=“1”> Although this element is listed as “Required: No”, a value can be omitted only when you are registering or updating a [targetless task] You must provide a value in all other cases.

    For maintenance window tasks without a target specified, you can't
    

    supply a value for this option. Instead, the system inserts a placeholder value of ‘1`. This value doesn’t affect the running of your task.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

  • :max_errors (String)

    The new ‘MaxErrors` value to specify. `MaxErrors` is the maximum number of errors that are allowed before the task stops being scheduled.

    <note markdown=“1”> Although this element is listed as “Required: No”, a value can be omitted only when you are registering or updating a [targetless task] You must provide a value in all other cases.

    For maintenance window tasks without a target specified, you can't
    

    supply a value for this option. Instead, the system inserts a placeholder value of ‘1`. This value doesn’t affect the running of your task.

    </note>
    

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html

  • :logging_info (Types::LoggingInfo)

    The new logging location in Amazon S3 to specify.

    <note markdown=“1”> ‘LoggingInfo` has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the `OutputS3BucketName` and `OutputS3KeyPrefix` options in the `TaskInvocationParameters` structure. For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters.

    </note>
    
  • :name (String)

    The new task name to specify.

  • :description (String)

    The new task description to specify.

  • :replace (Boolean)

    If True, then all fields that are required by the RegisterTaskWithMaintenanceWindow operation are also required for this API request. Optional fields that aren’t specified are set to null.

  • :cutoff_behavior (String)

    Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached.

    • ‘CONTINUE_TASK`: When the cutoff time is reached, any tasks that are running continue. The default value.

    • ‘CANCEL_TASK`:

      • For Automation, Lambda, Step Functions tasks: When the cutoff time is reached, any task invocations that are already running continue, but no new task invocations are started.

      • For Run Command tasks: When the cutoff time is reached, the system sends a CancelCommand operation that attempts to cancel the command associated with the task. However, there is no guarantee that the command will be terminated and the underlying process stopped.

      The status for tasks that are not completed is ‘TIMED_OUT`.

  • :alarm_configuration (Types::AlarmConfiguration)

    The CloudWatch alarm you want to apply to your maintenance window task.

Returns:

See Also:



12619
12620
12621
12622
# File 'lib/aws-sdk-ssm/client.rb', line 12619

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

#update_managed_instance_role(params = {}) ⇒ Struct

Changes the Identity and Access Management (IAM) role that is assigned to the on-premises server, edge device, or virtual machines (VM). IAM roles are first assigned to these hybrid nodes during the activation process. For more information, see CreateActivation.

Examples:

Request syntax with placeholder values


resp = client.update_managed_instance_role({
  instance_id: "ManagedInstanceId", # required
  iam_role: "IamRole", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :instance_id (required, String)

    The ID of the managed node where you want to update the role.

  • :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 the IAM service role required for Systems Manager in hybrid and multicloud environments] in the *Amazon Web Services Systems Manager User Guide*.

    <note markdown=“1”> You can’t specify an IAM service-linked role for this parameter. You must create a unique role.

    </note>
    

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:



12663
12664
12665
12666
# File 'lib/aws-sdk-ssm/client.rb', line 12663

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

#update_ops_item(params = {}) ⇒ Struct

Edit or change an OpsItem. You must have permission in Identity and Access Management (IAM) to update an OpsItem. For more information, see [Set up 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 [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-setup.html [2]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html

Examples:

Request syntax with placeholder values


resp = client.update_ops_item({
  description: "OpsItemDescription",
  operational_data: {
    "OpsItemDataKey" => {
      value: "OpsItemDataValueString",
      type: "SearchableString", # accepts SearchableString, String
    },
  },
  operational_data_to_delete: ["String"],
  notifications: [
    {
      arn: "String",
    },
  ],
  priority: 1,
  related_ops_items: [
    {
      ops_item_id: "String", # required
    },
  ],
  status: "Open", # accepts Open, InProgress, Resolved, Pending, TimedOut, Cancelling, Cancelled, Failed, CompletedWithSuccess, CompletedWithFailure, Scheduled, RunbookInProgress, PendingChangeCalendarOverride, ChangeCalendarOverrideApproved, ChangeCalendarOverrideRejected, PendingApproval, Approved, Rejected, Closed
  ops_item_id: "OpsItemId", # required
  title: "OpsItemTitle",
  category: "OpsItemCategory",
  severity: "OpsItemSeverity",
  actual_start_time: Time.now,
  actual_end_time: Time.now,
  planned_start_time: Time.now,
  planned_end_time: Time.now,
  ops_item_arn: "OpsItemArn",
})

Parameters:

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

    ({})

Options Hash (params):

  • :description (String)

    User-defined text that contains information about the OpsItem, in Markdown format.

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

    Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem object.

    Operational data is custom data that provides useful reference details about the OpsItem. For example, you can specify log files, error strings, license keys, troubleshooting tips, or other relevant data. You enter operational data as key-value pairs. The key has a maximum length of 128 characters. The value has a maximum size of 20 KB.

    Operational data keys *can’t* begin with the following: ‘amazon`, `aws`, `amzn`, `ssm`, `/amazon`, `/aws`, `/amzn`, `/ssm`.

    You can choose to make the data searchable by other users in the account or you can restrict search access. Searchable data means that all users with access to the OpsItem Overview page (as provided by the DescribeOpsItems API 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-manually-create-OpsItems.html

  • :operational_data_to_delete (Array<String>)

    Keys that you want to remove from the OperationalData map.

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

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

  • :priority (Integer)

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

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

    One or more OpsItems that share something in common with the current OpsItems. For example, related OpsItems can include OpsItems with similar error messages, impacted resources, or statuses for the impacted resource.

  • :status (String)

    The OpsItem status. For more information, see [Editing OpsItem details] in the *Amazon Web Services Systems Manager User Guide*.

    [1]: docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html

  • :ops_item_id (required, String)

    The ID of the OpsItem.

  • :title (String)

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

  • :category (String)

    Specify a new category for an OpsItem.

  • :severity (String)

    Specify a new severity for 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`.

  • :ops_item_arn (String)

    The OpsItem Amazon Resource Name (ARN).

Returns:

  • (Struct)

    Returns an empty response.

See Also:



12819
12820
12821
12822
# File 'lib/aws-sdk-ssm/client.rb', line 12819

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

#update_ops_metadata(params = {}) ⇒ Types::UpdateOpsMetadataResult

Amazon Web Services Systems Manager calls this API operation when you edit OpsMetadata in Application Manager.

Examples:

Request syntax with placeholder values


resp = client.({
  ops_metadata_arn: "OpsMetadataArn", # required
  metadata_to_update: {
    "MetadataKey" => {
      value: "MetadataValueString",
    },
  },
  keys_to_delete: ["MetadataKey"],
})

Response structure


resp. #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :ops_metadata_arn (required, String)

    The Amazon Resource Name (ARN) of the OpsMetadata Object to update.

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

    Metadata to add to an OpsMetadata object.

  • :keys_to_delete (Array<String>)

    The metadata keys to delete from the OpsMetadata object.

Returns:

See Also:



12860
12861
12862
12863
# File 'lib/aws-sdk-ssm/client.rb', line 12860

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

#update_patch_baseline(params = {}) ⇒ Types::UpdatePatchBaselineResult

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

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

</note>

Examples:

Request syntax with placeholder values


resp = client.update_patch_baseline({
  baseline_id: "BaselineId", # required
  name: "BaselineName",
  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
    },
  ],
  replace: false,
})

Response structure


resp.baseline_id #=> String
resp.name #=> String
resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "AMAZON_LINUX_2", "AMAZON_LINUX_2022", "UBUNTU", "REDHAT_ENTERPRISE_LINUX", "SUSE", "CENTOS", "ORACLE_LINUX", "DEBIAN", "MACOS", "RASPBIAN", "ROCKY_LINUX", "ALMA_LINUX", "AMAZON_LINUX_2023"
resp.global_filters.patch_filters #=> Array
resp.global_filters.patch_filters[0].key #=> String, one of "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"
resp.global_filters.patch_filters[0].values #=> Array
resp.global_filters.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].key #=> String, one of "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"
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules[0].compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.approval_rules.patch_rules[0].approve_after_days #=> Integer
resp.approval_rules.patch_rules[0].approve_until_date #=> String
resp.approval_rules.patch_rules[0].enable_non_security #=> Boolean
resp.approved_patches #=> Array
resp.approved_patches[0] #=> String
resp.approved_patches_compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.approved_patches_enable_non_security #=> Boolean
resp.rejected_patches #=> Array
resp.rejected_patches[0] #=> String
resp.rejected_patches_action #=> String, one of "ALLOW_AS_DEPENDENCY", "BLOCK"
resp.created_date #=> Time
resp.modified_date #=> Time
resp.description #=> String
resp.sources #=> Array
resp.sources[0].name #=> String
resp.sources[0].products #=> Array
resp.sources[0].products[0] #=> String
resp.sources[0].configuration #=> String

Parameters:

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

    ({})

Options Hash (params):

  • :baseline_id (required, String)

    The ID of the patch baseline to update.

  • :name (String)

    The name of the patch baseline.

  • :global_filters (Types::PatchFilterGroup)

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

    The ‘GlobalFilters` parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can’t be configured from the Patch Manager console, and its value isn’t displayed in the console.

  • :approval_rules (Types::PatchRuleGroup)

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

  • :approved_patches (Array<String>)

    A list of explicitly approved patches for the baseline.

    For information about accepted formats for lists of approved patches and rejected patches, see [Package name formats for approved and rejected patch lists] in the *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)

    Assigns a new compliance severity level to an existing patch baseline.

  • :approved_patches_enable_non_security (Boolean)

    Indicates whether the list of approved patches includes non-security updates that should be applied to the 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 [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

    : **Linux and macOS**: 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 `INSTALLED_OTHER`. This is the default action if no
    option is specified.
    
    **Windows Server**: Windows Server doesn't support the concept of
    package dependencies. If a package in the rejected patches list and
    already installed on the node, its status is reported as
    `INSTALLED_OTHER`. Any package not already installed on the node is
    skipped. This is the default action if no option is specified.
    

    BLOCK

    : **All OSs**: Packages in the rejected patches list, and packages

    that include them as dependencies, aren't installed by Patch
    Manager under any circumstances. If a package was installed before
    it was added to the rejected patches list, or is installed outside
    of Patch Manager afterward, it's considered noncompliant with the
    patch baseline and its status is reported as `INSTALLED_REJECTED`.
    
  • :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.

  • :replace (Boolean)

    If True, then all fields that are required by the CreatePatchBaseline operation are also required for this API request. Optional fields that aren’t specified are set to null.

Returns:

See Also:



13063
13064
13065
13066
# File 'lib/aws-sdk-ssm/client.rb', line 13063

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

#update_resource_data_sync(params = {}) ⇒ Struct

Update a resource data sync. After you create a resource data sync for a Region, you can’t change the account options for that sync. For example, if you create a sync in the us-east-2 (Ohio) Region and you choose the ‘Include only the current account` option, you can’t edit that sync later and choose the ‘Include all accounts from my Organizations configuration` option. Instead, you must delete the first resource data sync, and create a new one.

<note markdown=“1”> This API operation only supports a resource data sync that was created with a SyncFromSource ‘SyncType`.

</note>

Examples:

Request syntax with placeholder values


resp = client.update_resource_data_sync({
  sync_name: "ResourceDataSyncName", # required
  sync_type: "ResourceDataSyncType", # required
  sync_source: { # required
    source_type: "ResourceDataSyncSourceType", # required
    aws_organizations_source: {
      organization_source_type: "ResourceDataSyncOrganizationSourceType", # required
      organizational_units: [
        {
          organizational_unit_id: "ResourceDataSyncOrganizationalUnitId",
        },
      ],
    },
    source_regions: ["ResourceDataSyncSourceRegion"], # required
    include_future_regions: false,
    enable_all_ops_data_sources: false,
  },
})

Parameters:

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

    ({})

Options Hash (params):

  • :sync_name (required, String)

    The name of the resource data sync you want to update.

  • :sync_type (required, String)

    The type of resource data sync. The supported ‘SyncType` is SyncFromSource.

  • :sync_source (required, Types::ResourceDataSyncSource)

    Specify information about the data sources to synchronize.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



13118
13119
13120
13121
# File 'lib/aws-sdk-ssm/client.rb', line 13118

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

#update_service_setting(params = {}) ⇒ Struct

‘ServiceSetting` is an account-level setting for an Amazon Web Services service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an Amazon Web Services service charges money to the account based on feature or service usage, then the Amazon Web Services service team might create a default setting of “false”. This means the user can’t use this feature unless they change the setting to “true” and intentionally opt in for a paid feature.

Services map a ‘SettingId` object to a setting value. Amazon Web Services services teams define the default value for a `SettingId`. You can’t create a new ‘SettingId`, but you can overwrite the default value if you have the `ssm:UpdateServiceSetting` permission for the setting. Use the GetServiceSetting API operation to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the Amazon Web Services service team.

Update the service setting for the account.

Examples:

Request syntax with placeholder values


resp = client.update_service_setting({
  setting_id: "ServiceSettingId", # required
  setting_value: "ServiceSettingValue", # required
})

Parameters:

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

    ({})

Options Hash (params):

  • :setting_id (required, String)

    The Amazon Resource Name (ARN) of the service setting to update. For example, ‘arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled`. The setting ID can be one of the following.

    • ‘/ssm/appmanager/appmanager-enabled`

    • ‘/ssm/automation/customer-script-log-destination`

    • ‘/ssm/automation/customer-script-log-group-name`

    • /ssm/automation/enable-adaptive-concurrency

    • ‘/ssm/documents/console/public-sharing-permission`

    • ‘/ssm/managed-instance/activation-tier`

    • ‘/ssm/managed-instance/default-ec2-instance-management-role`

    • ‘/ssm/opsinsights/opscenter`

    • ‘/ssm/parameter-store/default-parameter-tier`

    • ‘/ssm/parameter-store/high-throughput-enabled`

    <note markdown=“1”> Permissions to update the ‘/ssm/managed-instance/default-ec2-instance-management-role` setting should only be provided to administrators. Implement least privilege access when allowing individuals to configure or modify the Default Host Management Configuration.

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

    The new value to specify for the service setting. The following list specifies the available values for each setting.

    • For ‘/ssm/appmanager/appmanager-enabled`, enter `True` or `False`.

    • For ‘/ssm/automation/customer-script-log-destination`, enter `CloudWatch`.

    • For ‘/ssm/automation/customer-script-log-group-name`, enter the name of an Amazon CloudWatch Logs log group.

    • For ‘/ssm/documents/console/public-sharing-permission`, enter `Enable` or `Disable`.

    • For ‘/ssm/managed-instance/activation-tier`, enter `standard` or `advanced`.

    • For ‘/ssm/managed-instance/default-ec2-instance-management-role`, enter the name of an IAM role.

    • For ‘/ssm/opsinsights/opscenter`, enter `Enabled` or `Disabled`.

    • For ‘/ssm/parameter-store/default-parameter-tier`, enter `Standard`, `Advanced`, or `Intelligent-Tiering`

    • For ‘/ssm/parameter-store/high-throughput-enabled`, enter `true` or `false`.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



13218
13219
13220
13221
# File 'lib/aws-sdk-ssm/client.rb', line 13218

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

#wait_until(waiter_name, params = {}, options = {}) {|w.waiter| ... } ⇒ Boolean

Polls an API operation until a resource enters a desired state.

## Basic Usage

A waiter will call an API operation until:

  • It is successful

  • It enters a terminal state

  • It makes the maximum number of attempts

In between attempts, the waiter will sleep.

# polls in a loop, sleeping between attempts
client.wait_until(waiter_name, params)

## Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You can pass configuration as the final arguments hash.

# poll for ~25 seconds
client.wait_until(waiter_name, params, {
  max_attempts: 5,
  delay: 5,
})

## Callbacks

You can be notified before each polling attempt and before each delay. If you throw ‘:success` or `:failure` from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(waiter_name, params, {

  # disable max attempts
  max_attempts: nil,

  # poll for 1 hour, instead of a number of attempts
  before_wait: -> (attempts, response) do
    throw :failure if Time.now - started_at > 3600
  end
})

## Handling Errors

When a waiter is unsuccessful, it will raise an error. All of the failure errors extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

## Valid Waiters

The following table lists the valid waiter names, the operations they call, and the default ‘:delay` and `:max_attempts` values.

| waiter_name | params | :delay | :max_attempts | | —————- | ——————————- | ——– | ————- | | command_executed | #get_command_invocation | 5 | 20 |

Parameters:

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

    ({})

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

    ({})

Options Hash (options):

  • :max_attempts (Integer)
  • :delay (Integer)
  • :before_attempt (Proc)
  • :before_wait (Proc)

Yields:

  • (w.waiter)

Returns:

  • (Boolean)

    Returns ‘true` if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.



13333
13334
13335
13336
13337
# File 'lib/aws-sdk-ssm/client.rb', line 13333

def wait_until(waiter_name, params = {}, options = {})
  w = waiter(waiter_name, options)
  yield(w.waiter) if block_given? # deprecated
  w.wait(params)
end

#waiter_namesObject

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

Deprecated.


13341
13342
13343
# File 'lib/aws-sdk-ssm/client.rb', line 13341

def waiter_names
  waiters.keys
end