You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::SSM::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for Amazon Simple Systems Manager (SSM). To construct a client, you need to configure a :region and :credentials.

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

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

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::SSM::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::SSM::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects. See Plugins::Protocols::JsonRpc for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :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. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#add_tags_to_resource(options = {}) ⇒ Struct

Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, Maintenance Windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account's managed instances that helps you track each instance's owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test.

Each resource can have a maximum of 10 tags.

We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don't have any semantic meaning to Amazon EC2 and are interpreted strictly as a string of characters.

For more information about tags, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

Examples:

Request syntax with placeholder values


resp = client.add_tags_to_resource({
  resource_type: "Document", # required, accepts Document, ManagedInstance, MaintenanceWindow, Parameter, PatchBaseline
  resource_id: "ResourceId", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Options Hash (options):

  • :resource_type (required, String)

    Specifies the type of resource you are tagging.

  • :resource_id (required, String)

    The resource ID you want to tag.

    For the ManagedInstance, MaintenanceWindow, and PatchBaseline values, use the ID of the resource, such as mw-01234361858c9b57b for a Maintenance Window.

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

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

    One or more tags. The value parameter is required, but if you don\'t want the tag to have a value, specify the parameter with no value, and we set the value to an empty string.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#cancel_command(options = {}) ⇒ 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"],
})

Options Hash (options):

  • :command_id (required, String)

    The ID of the command you want to cancel.

  • :instance_ids (Array<String>) — default: Optional

    A list of instance IDs on which you want to cancel the command. If not provided, the command is canceled on every instance on which it was requested.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

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

Registers your on-premises server or virtual machine with Amazon EC2 so that you can manage these resources using Run Command. An on-premises server or virtual machine that has been registered with EC2 is called a managed instance. For more information about activations, see Setting Up Systems Manager in Hybrid Environments.

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

Response structure


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

Options Hash (options):

  • :description (String)

    A userdefined description of the resource that you want to register with Amazon EC2.

  • :default_instance_name (String)

    The name of the registered, managed instance as it will appear in the Amazon EC2 console or when you use the AWS command line tools to list EC2 resources.

  • :iam_role (required, String)

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

  • :registration_limit (Integer)

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

  • :expiration_date (Time)

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

Returns:

See Also:

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

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

Examples:

Request syntax with placeholder values


resp = client.create_association({
  name: "DocumentName", # 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",
})

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

Options Hash (options):

  • :name (required, String)

    The name of the Systems Manager document.

  • :document_version (String)

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

  • :instance_id (String)

    The instance ID.

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

    The parameters for the documents runtime configuration.

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

    The targets (either instances or tags) for the association.

  • :schedule_expression (String)

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

  • :output_location (Types::InstanceAssociationOutputLocation)

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

  • :association_name (String)

    Specify a descriptive name for the association.

Returns:

See Also:

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

Associates the specified Systems Manager document with the specified instances or targets.

When you associate a document with one or more instances using instance IDs or tags, the SSM Agent running on the instance processes the document and configures the instance as specified.

If you associate a document with an instance that already has an associated document, the system throws the AssociationAlreadyExists exception.

Examples:

Request syntax with placeholder values


resp = client.create_association_batch({
  entries: [ # required
    {
      name: "DocumentName", # required
      instance_id: "InstanceId",
      parameters: {
        "ParameterName" => ["ParameterValue"],
      },
      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",
    },
  ],
})

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].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.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.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].message #=> String
resp.failed[0].fault #=> String, one of "Client", "Server", "Unknown"

Options Hash (options):

Returns:

See Also:

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

Creates a Systems Manager document.

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

Examples:

Request syntax with placeholder values


resp = client.create_document({
  content: "DocumentContent", # required
  name: "DocumentName", # required
  document_type: "Command", # accepts Command, Policy, Automation
})

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.owner #=> String
resp.document_description.created_date #=> Time
resp.document_description.status #=> String, one of "Creating", "Active", "Updating", "Deleting"
resp.document_description.document_version #=> String
resp.document_description.description #=> String
resp.document_description.parameters #=> Array
resp.document_description.parameters[0].name #=> String
resp.document_description.parameters[0].type #=> String, one of "String", "StringList"
resp.document_description.parameters[0].description #=> String
resp.document_description.parameters[0].default_value #=> String
resp.document_description.platform_types #=> Array
resp.document_description.platform_types[0] #=> String, one of "Windows", "Linux"
resp.document_description.document_type #=> String, one of "Command", "Policy", "Automation"
resp.document_description.schema_version #=> String
resp.document_description.latest_version #=> String
resp.document_description.default_version #=> String
resp.document_description.tags #=> Array
resp.document_description.tags[0].key #=> String
resp.document_description.tags[0].value #=> String

Options Hash (options):

  • :content (required, String)

    A valid JSON string.

  • :name (required, String)

    A name for the Systems Manager document.

  • :document_type (String)

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

Returns:

See Also:

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

Creates a new Maintenance Window.

Examples:

Request syntax with placeholder values


resp = client.create_maintenance_window({
  name: "MaintenanceWindowName", # required
  description: "MaintenanceWindowDescription",
  schedule: "MaintenanceWindowSchedule", # required
  duration: 1, # required
  cutoff: 1, # required
  allow_unassociated_targets: false, # required
  client_token: "ClientToken",
})

Response structure


resp.window_id #=> String

Options Hash (options):

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

  • :schedule (required, String)

    The schedule of the Maintenance Window in the form of a cron or rate expression.

  • :duration (required, Integer)

    The duration of the Maintenance Window in hours.

  • :cutoff (required, Integer)

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

  • :allow_unassociated_targets (required, Boolean)

    Enables a Maintenance Window task to execute on managed instances, even if you have not registered those instances as targets. If enabled, then you must specify the unregistered instances (by instance ID) when you register a task with the Maintenance Window

    If you don\'t enable this option, then you must specify previously-registered targets when you register a task with the Maintenance Window.

  • :client_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. User-provided idempotency token.

Returns:

See Also:

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

Creates a patch baseline.

Examples:

Request syntax with placeholder values


resp = client.create_patch_baseline({
  operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, UBUNTU, REDHAT_ENTERPRISE_LINUX
  name: "BaselineName", # required
  global_filters: {
    patch_filters: [ # required
      {
        key: "PRODUCT", # required, accepts PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY
        values: ["PatchFilterValue"], # required
      },
    ],
  },
  approval_rules: {
    patch_rules: [ # required
      {
        patch_filter_group: { # required
          patch_filters: [ # required
            {
              key: "PRODUCT", # required, accepts PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY
              values: ["PatchFilterValue"], # required
            },
          ],
        },
        compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
        approve_after_days: 1, # required
      },
    ],
  },
  approved_patches: ["PatchId"],
  approved_patches_compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
  rejected_patches: ["PatchId"],
  description: "BaselineDescription",
  client_token: "ClientToken",
})

Response structure


resp.baseline_id #=> String

Options Hash (options):

  • :operating_system (String)

    Defines the operating system the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, UBUNTU and REDHAT_ENTERPRISE_LINUX. 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 exclude patches from the baseline.

  • :approval_rules (Types::PatchRuleGroup)

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

  • :approved_patches (Array<String>)

    A list of explicitly approved patches for the baseline.

  • :approved_patches_compliance_level (String)

    Defines the compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid compliance severity levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED.

  • :rejected_patches (Array<String>)

    A list of explicitly rejected patches for the baseline.

  • :description (String)

    A description of the patch baseline.

  • :client_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. User-provided idempotency token.

Returns:

See Also:

#create_resource_data_sync(options = {}) ⇒ Struct

Creates a resource data sync configuration to a single bucket in Amazon S3. This is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data to the Amazon S3 bucket. To check the status of the sync, use the ListResourceDataSync operation.

By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy. To view an example of a restrictive Amazon S3 bucket policy for Resource Data Sync, see Configuring Resource Data Sync for Inventory.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :sync_name (required, String)

    A name for the configuration.

  • :s3_destination (required, Types::ResourceDataSyncS3Destination)

    Amazon S3 configuration details for the sync.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_activation(options = {}) ⇒ Struct

Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :activation_id (required, String)

    The ID of the activation that you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_association(options = {}) ⇒ Struct

Disassociates the specified Systems Manager document from the specified instance.

When you disassociate a document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :name (String)

    The name of the Systems Manager document.

  • :instance_id (String)

    The ID of the instance.

  • :association_id (String)

    The association ID that you want to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_document(options = {}) ⇒ Struct

Deletes the Systems Manager document and all instance associations to the document.

Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :name (required, String)

    The name of the document.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#delete_maintenance_window(options = {}) ⇒ 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

Options Hash (options):

  • :window_id (required, String)

    The ID of the Maintenance Window to delete.

Returns:

See Also:

#delete_parameter(options = {}) ⇒ Struct

Delete a parameter from the system.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :name (required, String)

    The name of the parameter to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

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

Delete a list of parameters. This API is used to delete parameters by using the Amazon EC2 console.

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

Options Hash (options):

  • :names (required, Array<String>)

    The names of the parameters to delete.

Returns:

See Also:

#delete_patch_baseline(options = {}) ⇒ 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

Options Hash (options):

  • :baseline_id (required, String)

    The ID of the patch baseline to delete.

Returns:

See Also:

#delete_resource_data_sync(options = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :sync_name (required, String)

    The name of the configuration to delete.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#deregister_managed_instance(options = {}) ⇒ Struct

Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don't plan to use Run Command on the server, we suggest uninstalling the SSM Agent first.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :instance_id (required, String)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#deregister_patch_baseline_for_patch_group(options = {}) ⇒ 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

Options Hash (options):

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

#deregister_target_from_maintenance_window(options = {}) ⇒ 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

Options Hash (options):

  • :window_id (required, String)

    The ID of the Maintenance Window the target should be removed from.

  • :window_target_id (required, String)

    The ID of the target definition to remove.

  • :safe (Boolean)

    The system checks if the target is being referenced by a task. If the target is being referenced, the system returns an error and does not deregister the target from the Maintenance Window.

Returns:

See Also:

#deregister_task_from_maintenance_window(options = {}) ⇒ 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

Options Hash (options):

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

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

Details about the activation, including: the date and time the activation was created, the expiration date, the IAM role assigned to the instances in the activation, and the number of instances activated by this registration.

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 #=> true/false
resp.activation_list[0].created_date #=> Time
resp.next_token #=> String

Options Hash (options):

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

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

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

Examples:

Request syntax with placeholder values


resp = client.describe_association({
  name: "DocumentName",
  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.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

Options Hash (options):

  • :name (String)

    The name of the Systems Manager document.

  • :instance_id (String)

    The instance ID.

  • :association_id (String)

    The association ID for which you want information.

  • :association_version (String)

    Specify the association version to retrieve. To view the latest version, either specify $LATEST for this parameter, or omit this parameter. To view a list of all associations for an instance, use ListInstanceAssociations. To get a list of versions for a specific association, use ListAssociationVersions.

Returns:

See Also:

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

Provides details about all active and terminated Automation executions.

Examples:

Request syntax with placeholder values


resp = client.describe_automation_executions({
  filters: [
    {
      key: "DocumentNamePrefix", # required, accepts DocumentNamePrefix, ExecutionStatus
      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", "Cancelled", "Failed"
resp.[0].execution_start_time #=> Time
resp.[0].execution_end_time #=> Time
resp.[0].executed_by #=> String
resp.[0].log_file #=> String
resp.[0].outputs #=> Hash
resp.[0].outputs["AutomationParameterKey"] #=> Array
resp.[0].outputs["AutomationParameterKey"][0] #=> String
resp.next_token #=> String

Options Hash (options):

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

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

Lists all patches that could possibly be included in a patch baseline.

Examples:

Request syntax with placeholder values


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

Response structure


resp.patches #=> Array
resp.patches[0].id #=> String
resp.patches[0].release_date #=> Time
resp.patches[0].title #=> String
resp.patches[0].description #=> String
resp.patches[0].content_url #=> String
resp.patches[0].vendor #=> String
resp.patches[0].product_family #=> String
resp.patches[0].product #=> String
resp.patches[0].classification #=> String
resp.patches[0].msrc_severity #=> String
resp.patches[0].kb_number #=> String
resp.patches[0].msrc_number #=> String
resp.patches[0].language #=> String
resp.next_token #=> String

Options Hash (options):

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

    Filters used to scope down the returned patches.

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Describes the specified Systems Manager document.

Examples:

Request syntax with placeholder values


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

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.owner #=> String
resp.document.created_date #=> Time
resp.document.status #=> String, one of "Creating", "Active", "Updating", "Deleting"
resp.document.document_version #=> String
resp.document.description #=> String
resp.document.parameters #=> Array
resp.document.parameters[0].name #=> String
resp.document.parameters[0].type #=> String, one of "String", "StringList"
resp.document.parameters[0].description #=> String
resp.document.parameters[0].default_value #=> String
resp.document.platform_types #=> Array
resp.document.platform_types[0] #=> String, one of "Windows", "Linux"
resp.document.document_type #=> String, one of "Command", "Policy", "Automation"
resp.document.schema_version #=> String
resp.document.latest_version #=> String
resp.document.default_version #=> String
resp.document.tags #=> Array
resp.document.tags[0].key #=> String
resp.document.tags[0].value #=> String

Options Hash (options):

  • :name (required, String)

    The name of the Systems Manager document.

  • :document_version (String)

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

Returns:

See Also:

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

Describes the permissions for a Systems Manager document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user's AWS account ID) or publicly (All).

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

  • :name (required, String)

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

  • :permission_type (required, String)

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

Returns:

See Also:

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

All associations for the instance(s).

Examples:

Request syntax with placeholder values


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

Response structure


resp.associations #=> Array
resp.associations[0].association_id #=> String
resp.associations[0].instance_id #=> String
resp.associations[0].content #=> String
resp.associations[0].association_version #=> String
resp.next_token #=> String

Options Hash (options):

  • :instance_id (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline. Note that this API applies only to Windows patch baselines.

Examples:

Request syntax with placeholder values


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

Response structure


resp.effective_patches #=> Array
resp.effective_patches[0].patch.id #=> String
resp.effective_patches[0].patch.release_date #=> Time
resp.effective_patches[0].patch.title #=> String
resp.effective_patches[0].patch.description #=> String
resp.effective_patches[0].patch.content_url #=> String
resp.effective_patches[0].patch.vendor #=> String
resp.effective_patches[0].patch.product_family #=> String
resp.effective_patches[0].patch.product #=> String
resp.effective_patches[0].patch.classification #=> String
resp.effective_patches[0].patch.msrc_severity #=> String
resp.effective_patches[0].patch.kb_number #=> String
resp.effective_patches[0].patch.msrc_number #=> String
resp.effective_patches[0].patch.language #=> String
resp.effective_patches[0].patch_status.deployment_status #=> String, one of "APPROVED", "PENDING_APPROVAL", "EXPLICIT_APPROVED", "EXPLICIT_REJECTED"
resp.effective_patches[0].patch_status.compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.effective_patches[0].patch_status.approval_date #=> Time
resp.next_token #=> String

Options Hash (options):

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.instance_association_status_infos #=> Array
resp.instance_association_status_infos[0].association_id #=> String
resp.instance_association_status_infos[0].name #=> String
resp.instance_association_status_infos[0].document_version #=> String
resp.instance_association_status_infos[0].association_version #=> String
resp.instance_association_status_infos[0].instance_id #=> String
resp.instance_association_status_infos[0].execution_date #=> Time
resp.instance_association_status_infos[0].status #=> String
resp.instance_association_status_infos[0].detailed_status #=> String
resp.instance_association_status_infos[0].execution_summary #=> String
resp.instance_association_status_infos[0].error_code #=> String
resp.instance_association_status_infos[0].output_url.s3_output_url.output_url #=> String
resp.instance_association_status_infos[0].association_name #=> String
resp.next_token #=> String

Options Hash (options):

  • :instance_id (required, String)

    The instance IDs for which you want association status information.

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Describes one or more of your instances. You can use this to get information about instances like the operating system platform, the SSM Agent version (Linux), status etc. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error.

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 #=> true/false
resp.instance_information_list[0].platform_type #=> String, one of "Windows", "Linux"
resp.instance_information_list[0].platform_name #=> String
resp.instance_information_list[0].platform_version #=> String
resp.instance_information_list[0].activation_id #=> String
resp.instance_information_list[0].iam_role #=> String
resp.instance_information_list[0].registration_date #=> Time
resp.instance_information_list[0].resource_type #=> String, one of "ManagedInstance", "Document", "EC2Instance"
resp.instance_information_list[0].name #=> String
resp.instance_information_list[0].ip_address #=> String
resp.instance_information_list[0].computer_name #=> String
resp.instance_information_list[0].association_status #=> String
resp.instance_information_list[0].last_association_execution_date #=> Time
resp.instance_information_list[0].last_successful_association_execution_date #=> Time
resp.instance_information_list[0].association_overview.detailed_status #=> String
resp.instance_information_list[0].association_overview.instance_association_status_aggregated_count #=> Hash
resp.instance_information_list[0].association_overview.instance_association_status_aggregated_count["StatusName"] #=> Integer
resp.next_token #=> String

Options Hash (options):

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

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

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

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.instance_patch_states #=> Array
resp.instance_patch_states[0].instance_id #=> String
resp.instance_patch_states[0].patch_group #=> String
resp.instance_patch_states[0].baseline_id #=> String
resp.instance_patch_states[0].snapshot_id #=> String
resp.instance_patch_states[0].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].missing_count #=> Integer
resp.instance_patch_states[0].failed_count #=> Integer
resp.instance_patch_states[0].not_applicable_count #=> Integer
resp.instance_patch_states[0].operation_start_time #=> Time
resp.instance_patch_states[0].operation_end_time #=> Time
resp.instance_patch_states[0].operation #=> String, one of "Scan", "Install"
resp.next_token #=> String

Options Hash (options):

  • :instance_ids (required, Array<String>)

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

  • :next_token (String)

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

  • :max_results (Integer)

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


resp = client.describe_instance_patch_states_for_patch_group({
  patch_group: "PatchGroup", # required
  filters: [
    {
      key: "InstancePatchStateFilterKey", # required
      values: ["InstancePatchStateFilterValue"], # required
      type: "Equal", # required, accepts Equal, NotEqual, LessThan, GreaterThan
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.instance_patch_states #=> Array
resp.instance_patch_states[0].instance_id #=> String
resp.instance_patch_states[0].patch_group #=> String
resp.instance_patch_states[0].baseline_id #=> String
resp.instance_patch_states[0].snapshot_id #=> String
resp.instance_patch_states[0].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].missing_count #=> Integer
resp.instance_patch_states[0].failed_count #=> Integer
resp.instance_patch_states[0].not_applicable_count #=> Integer
resp.instance_patch_states[0].operation_start_time #=> Time
resp.instance_patch_states[0].operation_end_time #=> Time
resp.instance_patch_states[0].operation #=> String, one of "Scan", "Install"
resp.next_token #=> String

Options Hash (options):

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

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

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

Examples:

Request syntax with placeholder values


resp = client.describe_instance_patches({
  instance_id: "InstanceId", # required
  filters: [
    {
      key: "PatchOrchestratorFilterKey",
      values: ["PatchOrchestratorFilterValue"],
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


resp.patches #=> Array
resp.patches[0].title #=> String
resp.patches[0].kb_id #=> String
resp.patches[0].classification #=> String
resp.patches[0].severity #=> String
resp.patches[0].state #=> String, one of "INSTALLED", "INSTALLED_OTHER", "MISSING", "NOT_APPLICABLE", "FAILED"
resp.patches[0].installed_time #=> Time
resp.next_token #=> String

Options Hash (options):

  • :instance_id (required, String)

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

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

    Each entry in the array is a structure containing:

    Key (string, between 1 and 128 characters)

    Values (array of strings, each string between 1 and 256 characters)

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

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

Retrieves the individual task executions (one per target) for a particular task executed as part of a Maintenance Window execution.

Examples:

Request syntax with placeholder values


resp = client.describe_maintenance_window_execution_task_invocations({
  window_execution_id: "MaintenanceWindowExecutionId", # required
  task_id: "MaintenanceWindowExecutionTaskId", # required
  filters: [
    {
      key: "MaintenanceWindowFilterKey",
      values: ["MaintenanceWindowFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


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

Options Hash (options):

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

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

For a given Maintenance Window execution, lists the tasks that were executed.

Examples:

Request syntax with placeholder values


resp = client.describe_maintenance_window_execution_tasks({
  window_execution_id: "MaintenanceWindowExecutionId", # required
  filters: [
    {
      key: "MaintenanceWindowFilterKey",
      values: ["MaintenanceWindowFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.window_execution_task_identities #=> Array
resp.window_execution_task_identities[0].window_execution_id #=> String
resp.window_execution_task_identities[0].task_execution_id #=> String
resp.window_execution_task_identities[0].status #=> String, one of "PENDING", "IN_PROGRESS", "SUCCESS", "FAILED", "TIMED_OUT", "CANCELLING", "CANCELLED", "SKIPPED_OVERLAPPING"
resp.window_execution_task_identities[0].status_details #=> String
resp.window_execution_task_identities[0].start_time #=> Time
resp.window_execution_task_identities[0].end_time #=> Time
resp.window_execution_task_identities[0].task_arn #=> String
resp.window_execution_task_identities[0].task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA"
resp.next_token #=> String

Options Hash (options):

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

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

Lists the executions of a Maintenance Window. This includes information about when the Maintenance Window was scheduled to be active, and information about tasks registered and run with the Maintenance Window.

Examples:

Request syntax with placeholder values


resp = client.describe_maintenance_window_executions({
  window_id: "MaintenanceWindowId", # required
  filters: [
    {
      key: "MaintenanceWindowFilterKey",
      values: ["MaintenanceWindowFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


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

Options Hash (options):

  • :window_id (required, String)

    The ID of the Maintenance Window whose executions should be retrieved.

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

    Each entry in the array is a structure containing:

    Key (string, between 1 and 128 characters)

    Values (array of strings, each string is between 1 and 256 characters)

    The supported Keys are ExecutedBefore and ExecutedAfter with the value being a date/time string such as 2016-11-04T05:00:00Z.

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Lists the targets registered with the Maintenance Window.

Examples:

Request syntax with placeholder values


resp = client.describe_maintenance_window_targets({
  window_id: "MaintenanceWindowId", # required
  filters: [
    {
      key: "MaintenanceWindowFilterKey",
      values: ["MaintenanceWindowFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.targets #=> Array
resp.targets[0].window_id #=> String
resp.targets[0].window_target_id #=> String
resp.targets[0].resource_type #=> String, one of "INSTANCE"
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

Options Hash (options):

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

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

Lists the tasks in a Maintenance Window.

Examples:

Request syntax with placeholder values


resp = client.describe_maintenance_window_tasks({
  window_id: "MaintenanceWindowId", # required
  filters: [
    {
      key: "MaintenanceWindowFilterKey",
      values: ["MaintenanceWindowFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.tasks #=> Array
resp.tasks[0].window_id #=> String
resp.tasks[0].window_task_id #=> String
resp.tasks[0].task_arn #=> String
resp.tasks[0].type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA"
resp.tasks[0].targets #=> Array
resp.tasks[0].targets[0].key #=> String
resp.tasks[0].targets[0].values #=> Array
resp.tasks[0].targets[0].values[0] #=> String
resp.tasks[0].task_parameters #=> Hash
resp.tasks[0].task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array
resp.tasks[0].task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String
resp.tasks[0].priority #=> Integer
resp.tasks[0].logging_info.s3_bucket_name #=> String
resp.tasks[0].logging_info.s3_key_prefix #=> String
resp.tasks[0].logging_info.s3_region #=> String
resp.tasks[0].service_role_arn #=> String
resp.tasks[0].max_concurrency #=> String
resp.tasks[0].max_errors #=> String
resp.tasks[0].name #=> String
resp.tasks[0].description #=> String
resp.next_token #=> String

Options Hash (options):

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

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

Retrieves the Maintenance Windows in an AWS account.

Examples:

Request syntax with placeholder values


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

Response structure


resp.window_identities #=> Array
resp.window_identities[0].window_id #=> String
resp.window_identities[0].name #=> String
resp.window_identities[0].description #=> String
resp.window_identities[0].enabled #=> true/false
resp.window_identities[0].duration #=> Integer
resp.window_identities[0].cutoff #=> Integer
resp.next_token #=> String

Options Hash (options):

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

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Get information about a parameter.

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

Examples:

Request syntax with placeholder values


resp = client.describe_parameters({
  filters: [
    {
      key: "Name", # required, accepts Name, Type, KeyId
      values: ["ParametersFilterValue"], # required
    },
  ],
  parameter_filters: [
    {
      key: "ParameterStringFilterKey", # required
      option: "ParameterStringQueryOption",
      values: ["ParameterStringFilterValue"],
    },
  ],
  max_results: 1,
  next_token: "NextToken",
})

Response structure


resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString"
resp.parameters[0].key_id #=> String
resp.parameters[0].last_modified_date #=> Time
resp.parameters[0].last_modified_user #=> String
resp.parameters[0].description #=> String
resp.parameters[0].allowed_pattern #=> String
resp.parameters[0].version #=> Integer
resp.next_token #=> String

Options Hash (options):

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

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

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

    Filters to limit the request results.

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Lists the patch baselines in your AWS account.

Examples:

Request syntax with placeholder values


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

Response structure


resp.baseline_identities #=> Array
resp.baseline_identities[0].baseline_id #=> String
resp.baseline_identities[0].baseline_name #=> String
resp.baseline_identities[0].operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "UBUNTU", "REDHAT_ENTERPRISE_LINUX"
resp.baseline_identities[0].baseline_description #=> String
resp.baseline_identities[0].default_baseline #=> true/false
resp.next_token #=> String

Options Hash (options):

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

    Each element in the array is a structure containing:

    Key: (string, \"NAME_PREFIX\" or \"OWNER\")

    Value: (array of strings, exactly 1 entry, between 1 and 255 characters)

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.instances #=> Integer
resp.instances_with_installed_patches #=> Integer
resp.instances_with_installed_other_patches #=> Integer
resp.instances_with_missing_patches #=> Integer
resp.instances_with_failed_patches #=> Integer
resp.instances_with_not_applicable_patches #=> Integer

Options Hash (options):

  • :patch_group (required, String)

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.mappings #=> Array
resp.mappings[0].patch_group #=> String
resp.mappings[0].baseline_identity.baseline_id #=> String
resp.mappings[0].baseline_identity.baseline_name #=> String
resp.mappings[0].baseline_identity.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "UBUNTU", "REDHAT_ENTERPRISE_LINUX"
resp.mappings[0].baseline_identity.baseline_description #=> String
resp.mappings[0].baseline_identity.default_baseline #=> true/false
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer)

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

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

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

  • :next_token (String)

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

Returns:

See Also:

#get_automation_execution(options = {}) ⇒ 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", "Cancelled", "Failed"
resp.automation_execution.step_executions #=> Array
resp.automation_execution.step_executions[0].step_name #=> String
resp.automation_execution.step_executions[0].action #=> String
resp.automation_execution.step_executions[0].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", "Cancelled", "Failed"
resp.automation_execution.step_executions[0].response_code #=> String
resp.automation_execution.step_executions[0].inputs #=> Hash
resp.automation_execution.step_executions[0].inputs["String"] #=> String
resp.automation_execution.step_executions[0].outputs #=> Hash
resp.automation_execution.step_executions[0].outputs["AutomationParameterKey"] #=> Array
resp.automation_execution.step_executions[0].outputs["AutomationParameterKey"][0] #=> String
resp.automation_execution.step_executions[0].response #=> String
resp.automation_execution.step_executions[0].failure_message #=> String
resp.automation_execution.step_executions[0].failure_details.failure_stage #=> String
resp.automation_execution.step_executions[0].failure_details.failure_type #=> String
resp.automation_execution.step_executions[0].failure_details.details #=> Hash
resp.automation_execution.step_executions[0].failure_details.details["AutomationParameterKey"] #=> Array
resp.automation_execution.step_executions[0].failure_details.details["AutomationParameterKey"][0] #=> String
resp.automation_execution.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

Options Hash (options):

  • :automation_execution_id (required, String)

    The unique identifier for an existing automation execution to examine. The execution ID is returned by StartAutomationExecution when the execution of an Automation document is initiated.

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.command_id #=> String
resp.instance_id #=> String
resp.comment #=> String
resp.document_name #=> String
resp.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

Options Hash (options):

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

    The parent command ID of the invocation plugin.

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

    The ID of the managed instance targeted by the command. A managed instance can be an Amazon EC2 instance or an instance in your hybrid environment that is configured for Systems Manager.

  • :plugin_name (String) — default: Optional

    The name of the plugin for which you want detailed results. If the document contains only one plugin, the name can be omitted and the details will be returned.

Returns:

See Also:

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

Retrieves the default patch baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system.

Examples:

Request syntax with placeholder values


resp = client.get_default_patch_baseline({
  operating_system: "WINDOWS", # accepts WINDOWS, AMAZON_LINUX, UBUNTU, REDHAT_ENTERPRISE_LINUX
})

Response structure


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

Options Hash (options):

  • :operating_system (String)

    Returns the default patch baseline for the specified operating system.

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

  • :instance_id (required, String)

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

  • :snapshot_id (required, String)

    The user-defined snapshot ID.

Returns:

See Also:

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

Gets the contents of the specified Systems Manager document.

Examples:

Request syntax with placeholder values


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

Response structure


resp.name #=> String
resp.document_version #=> String
resp.content #=> String
resp.document_type #=> String, one of "Command", "Policy", "Automation"

Options Hash (options):

  • :name (required, String)

    The name of the Systems Manager document.

  • :document_version (String)

    The document version for which you want information.

Returns:

See Also:

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

Query inventory information.

Examples:

Request syntax with placeholder values


resp = client.get_inventory({
  filters: [
    {
      key: "InventoryFilterKey", # required
      values: ["InventoryFilterValue"], # required
      type: "Equal", # accepts Equal, NotEqual, BeginWith, LessThan, GreaterThan
    },
  ],
  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

Options Hash (options):

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

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

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

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

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

Examples:

Request syntax with placeholder values


resp = client.get_inventory_schema({
  type_name: "InventoryItemTypeNameFilter",
  next_token: "NextToken",
  max_results: 1,
  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.next_token #=> String

Options Hash (options):

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

  • :sub_type (Boolean)

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

Returns:

See Also:

#get_maintenance_window(options = {}) ⇒ 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.schedule #=> String
resp.duration #=> Integer
resp.cutoff #=> Integer
resp.allow_unassociated_targets #=> true/false
resp.enabled #=> true/false
resp.created_date #=> Time
resp.modified_date #=> Time

Options Hash (options):

  • :window_id (required, String)

    The ID of the desired Maintenance Window.

Returns:

See Also:

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

Retrieves details about a specific task executed as part of 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

Options Hash (options):

  • :window_execution_id (required, String)

    The ID of the Maintenance Window execution that includes the task.

Returns:

See Also:

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

Retrieves the details about a specific task executed 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

Options Hash (options):

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

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

Retrieves a task invocation. A task invocation is a specific task executing on a specific target. Maintenance Windows report status for all invocations.

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

Options Hash (options):

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

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

Lists the tasks in a Maintenance Window.

Examples:

Request syntax with placeholder values


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

Response structure


resp.window_id #=> String
resp.window_task_id #=> String
resp.targets #=> Array
resp.targets[0].key #=> String
resp.targets[0].values #=> Array
resp.targets[0].values[0] #=> String
resp.task_arn #=> String
resp.service_role_arn #=> String
resp.task_type #=> String, one of "RUN_COMMAND", "AUTOMATION", "STEP_FUNCTIONS", "LAMBDA"
resp.task_parameters #=> Hash
resp.task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array
resp.task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String
resp.task_invocation_parameters.run_command.comment #=> String
resp.task_invocation_parameters.run_command.document_hash #=> String
resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1"
resp.task_invocation_parameters.run_command.notification_config.notification_arn #=> String
resp.task_invocation_parameters.run_command.notification_config.notification_events #=> Array
resp.task_invocation_parameters.run_command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.task_invocation_parameters.run_command.notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.task_invocation_parameters.run_command.output_s3_bucket_name #=> String
resp.task_invocation_parameters.run_command.output_s3_key_prefix #=> String
resp.task_invocation_parameters.run_command.parameters #=> Hash
resp.task_invocation_parameters.run_command.parameters["ParameterName"] #=> Array
resp.task_invocation_parameters.run_command.parameters["ParameterName"][0] #=> String
resp.task_invocation_parameters.run_command.service_role_arn #=> String
resp.task_invocation_parameters.run_command.timeout_seconds #=> Integer
resp.task_invocation_parameters.automation.document_version #=> String
resp.task_invocation_parameters.automation.parameters #=> Hash
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"] #=> Array
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"][0] #=> String
resp.task_invocation_parameters.step_functions.input #=> String
resp.task_invocation_parameters.step_functions.name #=> String
resp.task_invocation_parameters.lambda.client_context #=> String
resp.task_invocation_parameters.lambda.qualifier #=> String
resp.task_invocation_parameters.lambda.payload #=> IO
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

Options Hash (options):

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

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

Get information about a parameter by using the parameter name.

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

Options Hash (options):

  • :name (required, String)

    The name of the parameter you want to query.

  • :with_decryption (Boolean)

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].type #=> String, one of "String", "StringList", "SecureString"
resp.parameters[0].key_id #=> String
resp.parameters[0].last_modified_date #=> Time
resp.parameters[0].last_modified_user #=> String
resp.parameters[0].description #=> String
resp.parameters[0].value #=> String
resp.parameters[0].allowed_pattern #=> String
resp.parameters[0].version #=> Integer
resp.next_token #=> String

Options Hash (options):

  • :name (required, String)

    The name of a parameter you want to query.

  • :with_decryption (Boolean)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Get details of a parameter.

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

Options Hash (options):

  • :names (required, Array<String>)

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

  • :with_decryption (Boolean)

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

Returns:

See Also:

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

Retrieve parameters in a specific hierarchy. For more information, see Working with Systems Manager Parameters.

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

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :path (required, String)

    The hierarchy for the parameter. Hierarchies start with a forward slash (/) and end with the parameter name. A hierarchy can have a maximum of five levels. Examples: /Environment/Test/DBString003

    /Finance/Prod/IAD/OS/WinServ2016/license15

  • :recursive (Boolean)

    Retrieve all parameters within a hierarchy.

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

    Filters to limit the request results.

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

#get_patch_baseline(options = {}) ⇒ 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", "UBUNTU", "REDHAT_ENTERPRISE_LINUX"
resp.global_filters.patch_filters #=> Array
resp.global_filters.patch_filters[0].key #=> String, one of "PRODUCT", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY"
resp.global_filters.patch_filters[0].values #=> Array
resp.global_filters.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].key #=> String, one of "PRODUCT", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY"
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules[0].compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.approval_rules.patch_rules[0].approve_after_days #=> Integer
resp.approved_patches #=> Array
resp.approved_patches[0] #=> String
resp.approved_patches_compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.rejected_patches #=> Array
resp.rejected_patches[0] #=> String
resp.patch_groups #=> Array
resp.patch_groups[0] #=> String
resp.created_date #=> Time
resp.modified_date #=> Time
resp.description #=> String

Options Hash (options):

  • :baseline_id (required, String)

    The ID of the patch baseline to retrieve.

Returns:

See Also:

#get_patch_baseline_for_patch_group(options = {}) ⇒ 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, UBUNTU, REDHAT_ENTERPRISE_LINUX
})

Response structure


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

Options Hash (options):

  • :patch_group (required, String)

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

  • :operating_system (String)

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.association_versions #=> Array
resp.association_versions[0].association_id #=> String
resp.association_versions[0].association_version #=> String
resp.association_versions[0].created_date #=> Time
resp.association_versions[0].name #=> String
resp.association_versions[0].document_version #=> String
resp.association_versions[0].parameters #=> Hash
resp.association_versions[0].parameters["ParameterName"] #=> Array
resp.association_versions[0].parameters["ParameterName"][0] #=> String
resp.association_versions[0].targets #=> Array
resp.association_versions[0].targets[0].key #=> String
resp.association_versions[0].targets[0].values #=> Array
resp.association_versions[0].targets[0].values[0] #=> String
resp.association_versions[0].schedule_expression #=> String
resp.association_versions[0].output_location.s3_location.output_s3_region #=> String
resp.association_versions[0].output_location.s3_location.output_s3_bucket_name #=> String
resp.association_versions[0].output_location.s3_location.output_s3_key_prefix #=> String
resp.association_versions[0].association_name #=> String
resp.next_token #=> String

Options Hash (options):

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

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

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user executes SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

Examples:

Request syntax with placeholder values


resp = client.list_command_invocations({
  command_id: "CommandId",
  instance_id: "InstanceId",
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status
      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].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.next_token #=> String

Options Hash (options):

  • :command_id (String) — default: Optional

    The invocations for a specific command ID.

  • :instance_id (String) — default: Optional

    The command execution details for a specific instance ID.

  • :max_results (Integer) — default: Optional

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

  • :next_token (String) — default: Optional

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

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

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

  • :details (Boolean) — default: Optional

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

Returns:

See Also:

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

Lists the commands requested by users of the AWS account.

Examples:

Request syntax with placeholder values


resp = client.list_commands({
  command_id: "CommandId",
  instance_id: "InstanceId",
  max_results: 1,
  next_token: "NextToken",
  filters: [
    {
      key: "InvokedAfter", # required, accepts InvokedAfter, InvokedBefore, Status
      value: "CommandFilterValue", # required
    },
  ],
})

Response structure


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

Options Hash (options):

  • :command_id (String) — default: Optional

    If provided, lists only the specified command.

  • :instance_id (String) — default: Optional

    Lists commands issued against this instance ID.

  • :max_results (Integer) — default: Optional

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

  • :next_token (String) — default: Optional

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

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

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

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

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

List all versions for a document.

Examples:

Request syntax with placeholder values


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

Response structure


resp.document_versions #=> Array
resp.document_versions[0].name #=> String
resp.document_versions[0].document_version #=> String
resp.document_versions[0].created_date #=> Time
resp.document_versions[0].is_default_version #=> true/false
resp.next_token #=> String

Options Hash (options):

  • :name (required, String)

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

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

Describes one or more of your Systems Manager documents.

Examples:

Request syntax with placeholder values


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

Response structure


resp.document_identifiers #=> Array
resp.document_identifiers[0].name #=> String
resp.document_identifiers[0].owner #=> String
resp.document_identifiers[0].platform_types #=> Array
resp.document_identifiers[0].platform_types[0] #=> String, one of "Windows", "Linux"
resp.document_identifiers[0].document_version #=> String
resp.document_identifiers[0].document_type #=> String, one of "Command", "Policy", "Automation"
resp.document_identifiers[0].schema_version #=> String
resp.document_identifiers[0].tags #=> Array
resp.document_identifiers[0].tags[0].key #=> String
resp.document_identifiers[0].tags[0].value #=> String
resp.next_token #=> String

Options Hash (options):

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

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

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

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

  • :max_results (Integer)

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

  • :next_token (String)

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

Returns:

See Also:

#list_inventory_entries(options = {}) ⇒ 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
    },
  ],
  next_token: "NextToken",
  max_results: 1,
})

Response structure


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

Options Hash (options):

  • :instance_id (required, String)

    The instance ID for which you want inventory information.

  • :type_name (required, String)

    The type of inventory item for which you want information.

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

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

  • :next_token (String)

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

  • :max_results (Integer)

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

Returns:

See Also:

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

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

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


resp.resource_data_sync_items #=> Array
resp.resource_data_sync_items[0].sync_name #=> String
resp.resource_data_sync_items[0].s3_destination.bucket_name #=> String
resp.resource_data_sync_items[0].s3_destination.prefix #=> String
resp.resource_data_sync_items[0].s3_destination.sync_format #=> String, one of "JsonSerDe"
resp.resource_data_sync_items[0].s3_destination.region #=> String
resp.resource_data_sync_items[0].s3_destination.awskms_key_arn #=> String
resp.resource_data_sync_items[0].last_sync_time #=> Time
resp.resource_data_sync_items[0].last_successful_sync_time #=> Time
resp.resource_data_sync_items[0].last_status #=> String, one of "Successful", "Failed", "InProgress"
resp.resource_data_sync_items[0].sync_created_time #=> Time
resp.next_token #=> String

Options Hash (options):

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

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

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

Examples:

Request syntax with placeholder values


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

Response structure


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

Options Hash (options):

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

#modify_document_permission(options = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :name (required, String)

    The name of the document that you want to share.

  • :permission_type (required, String)

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

  • :account_ids_to_add (Array<String>)

    The AWS user accounts that should have access to the document. The account IDs can either be a group of account IDs or All.

  • :account_ids_to_remove (Array<String>)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#put_compliance_items(options = {}) ⇒ Struct

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

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

Options Hash (options):

  • :resource_id (required, String)

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

  • :resource_type (required, String)

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

  • :compliance_type (required, String)

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

  • :execution_summary (required, Types::ComplianceExecutionSummary)

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

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

    Information about the compliance as defined by the resource type. For example, for a patch compliance type, Items includes information about the PatchSeverity, Classification, etc.

  • :item_content_hash (String)

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#put_inventory(options = {}) ⇒ Struct

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

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :instance_id (required, String)

    One or more instance IDs where you want to add or update inventory items.

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

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

Returns:

  • (Struct)

    Returns an empty response.

See Also:

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

Add one or more parameters to the system.

Examples:

Request syntax with placeholder values


resp = client.put_parameter({
  name: "PSParameterName", # required
  description: "ParameterDescription",
  value: "PSParameterValue", # required
  type: "String", # required, accepts String, StringList, SecureString
  key_id: "ParameterKeyId",
  overwrite: false,
  allowed_pattern: "AllowedPattern",
})

Response structure


resp.version #=> Integer

Options Hash (options):

  • :name (required, String)

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

  • :description (String)

    Information about the parameter that you want to add to the system

  • :value (required, String)

    The parameter value that you want to add to the system.

  • :type (required, String)

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

  • :key_id (String)

    The KMS Key ID that you want to use to encrypt a parameter when you choose the SecureString data type. If you don\'t specify a key ID, the system uses the default key associated with your AWS account.

  • :overwrite (Boolean)

    Overwrite an existing parameter. If not specified, will default to \"false\".

  • :allowed_pattern (String)

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

Returns:

See Also:

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

Defines the default patch baseline.

Examples:

Request syntax with placeholder values


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

Response structure


resp.baseline_id #=> String

Options Hash (options):

  • :baseline_id (required, String)

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

Returns:

See Also:

#register_patch_baseline_for_patch_group(options = {}) ⇒ 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

Options Hash (options):

  • :baseline_id (required, String)

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

  • :patch_group (required, String)

    The name of the patch group that should be registered with the patch baseline.

Returns:

See Also:

#register_target_with_maintenance_window(options = {}) ⇒ 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
  targets: [ # required
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  owner_information: "OwnerInformation",
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  client_token: "ClientToken",
})

Response structure


resp.window_target_id #=> String

Options Hash (options):

  • :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 (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

  • :owner_information (String)

    User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

  • :name (String)

    An optional name for the target.

  • :description (String)

    An optional description for the target.

  • :client_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. User-provided idempotency token.

Returns:

See Also:

#register_task_with_maintenance_window(options = {}) ⇒ Types::RegisterTaskWithMaintenanceWindowResult

Adds a new task to a Maintenance Window.

Examples:

Request syntax with placeholder values


resp = client.register_task_with_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  targets: [ # required
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  task_arn: "MaintenanceWindowTaskArn", # required
  service_role_arn: "ServiceRole", # required
  task_type: "RUN_COMMAND", # required, accepts RUN_COMMAND, AUTOMATION, STEP_FUNCTIONS, LAMBDA
  task_parameters: {
    "MaintenanceWindowTaskParameterName" => {
      values: ["MaintenanceWindowTaskParameterValue"],
    },
  },
  task_invocation_parameters: {
    run_command: {
      comment: "Comment",
      document_hash: "DocumentHash",
      document_hash_type: "Sha256", # accepts Sha256, Sha1
      notification_config: {
        notification_arn: "NotificationArn",
        notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed
        notification_type: "Command", # accepts Command, Invocation
      },
      output_s3_bucket_name: "S3BucketName",
      output_s3_key_prefix: "S3KeyPrefix",
      parameters: {
        "ParameterName" => ["ParameterValue"],
      },
      service_role_arn: "ServiceRole",
      timeout_seconds: 1,
    },
    automation: {
      document_version: "DocumentVersion",
      parameters: {
        "AutomationParameterKey" => ["AutomationParameterValue"],
      },
    },
    step_functions: {
      input: "MaintenanceWindowStepFunctionsInput",
      name: "MaintenanceWindowStepFunctionsName",
    },
    lambda: {
      client_context: "MaintenanceWindowLambdaClientContext",
      qualifier: "MaintenanceWindowLambdaQualifier",
      payload: "data",
    },
  },
  priority: 1,
  max_concurrency: "MaxConcurrency", # required
  max_errors: "MaxErrors", # required
  logging_info: {
    s3_bucket_name: "S3BucketName", # required
    s3_key_prefix: "S3KeyPrefix",
    s3_region: "S3Region", # required
  },
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  client_token: "ClientToken",
})

Response structure


resp.window_task_id #=> String

Options Hash (options):

  • :window_id (required, String)

    The id of the Maintenance Window the task should be added to.

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

    The targets (either instances or tags). Instances are specified using Key=instanceids,Values=<instanceid1>,<instanceid2>. Tags are specified using Key=<tag name>,Values=<tag value>.

  • :task_arn (required, String)

    The ARN of the task to execute

  • :service_role_arn (required, String)

    The role that should be assumed when executing the task.

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

  • :task_invocation_parameters (Types::MaintenanceWindowTaskInvocationParameters)

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

  • :priority (Integer)

    The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.

  • :max_concurrency (required, String)

    The maximum number of targets this task can be run for in parallel.

  • :max_errors (required, String)

    The maximum number of errors allowed before this task stops being scheduled.

  • :logging_info (Types::LoggingInfo)

    A structure containing information about an Amazon S3 bucket to write instance-level logs to.

  • :name (String)

    An optional name for the task.

  • :description (String)

    An optional description for the task.

  • :client_token (String)

    This parameter will be auto-filled on your behalf with a random UUIDv4 when no value is provided. User-provided idempotency token.

Returns:

See Also:

#remove_tags_from_resource(options = {}) ⇒ Struct

Removes all tags 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
  resource_id: "ResourceId", # required
  tag_keys: ["TagKey"], # required
})

Options Hash (options):

  • :resource_type (required, String)

    The type of resource of which you want to remove a tag.

  • :resource_id (required, String)

    The resource ID for which you want to remove tags.

  • :tag_keys (required, Array<String>)

    Tag keys that you want to remove from the specified resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#send_automation_signal(options = {}) ⇒ 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
  payload: {
    "AutomationParameterKey" => ["AutomationParameterValue"],
  },
})

Options Hash (options):

  • :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. Valid signal types include the following: Approve and Reject

  • :payload (Hash<String,Array<String>>)

    The data sent with the signal. The data schema depends on the type of signal used in the request.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#send_command(options = {}) ⇒ Types::SendCommandResult

Executes commands on one or more managed instances.

Examples:

Request syntax with placeholder values


resp = client.send_command({
  instance_ids: ["InstanceId"],
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  document_name: "DocumentARN", # required
  document_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
  },
})

Response structure


resp.command.command_id #=> String
resp.command.document_name #=> 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.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"

Options Hash (options):

  • :instance_ids (Array<String>)

    The instance IDs where the command should execute. You can specify a maximum of 50 IDs. If you prefer not to list individual instance IDs, you can instead send commands to a fleet of instances using the Targets parameter, which accepts EC2 tags. For more information about how to use Targets, see Sending Commands to a Fleet.

  • :targets (Array<Types::Target>) — default: Optional

    An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don\'t provide one or more instance IDs in the call. For more information about how to use Targets, see Sending Commands to a Fleet.

  • :document_name (required, String)

    Required. The name of the Systems Manager document to execute. This can be a public document or a custom document.

  • :document_hash (String)

    The Sha256 or Sha1 hash created by the system when the document was created.

    Sha1 hashes have been deprecated.

  • :document_hash_type (String)

    Sha256 or Sha1.

    Sha1 hashes have been deprecated.

  • :timeout_seconds (Integer)

    If this time is reached and the command has not already started executing, it will not execute.

  • :comment (String)

    User-specified information about the command, such as a brief description of what the command should do.

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

    The required and optional parameters specified in the document being executed.

  • :output_s3_region (String) — default: Deprecated

    You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon S3 bucket region.

  • :output_s3_bucket_name (String)

    The name of the S3 bucket where command execution responses should be stored.

  • :output_s3_key_prefix (String)

    The directory structure within the S3 bucket where the responses should be stored.

  • :max_concurrency (String) — default: Optional

    The maximum number of instances that are allowed to execute 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.

  • :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 50. For more information about how to use MaxErrors, see Using Error Controls.

  • :service_role_arn (String)

    The IAM role that Systems Manager uses to send notifications.

  • :notification_config (Types::NotificationConfig)

    Configurations for sending notifications.

Returns:

See Also:

#start_automation_execution(options = {}) ⇒ Types::StartAutomationExecutionResult

Initiates execution of an Automation document.

Examples:

Request syntax with placeholder values


resp = client.start_automation_execution({
  document_name: "DocumentARN", # required
  document_version: "DocumentVersion",
  parameters: {
    "AutomationParameterKey" => ["AutomationParameterValue"],
  },
  client_token: "IdempotencyToken",
})

Response structure


resp.automation_execution_id #=> String

Options Hash (options):

  • :document_name (required, String)

    The name of the Automation document to use for this execution.

  • :document_version (String)

    The version of the Automation document to use for this execution.

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

    A key-value map of execution parameters, which match the declared parameters in the Automation document.

  • :client_token (String)

    User-provided idempotency token. The token must be unique, is case insensitive, enforces the UUID format, and can\'t be reused.

Returns:

See Also:

#stop_automation_execution(options = {}) ⇒ Struct

Stop an Automation that is currently executing.

Examples:

Request syntax with placeholder values


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

Options Hash (options):

  • :automation_execution_id (required, String)

    The execution ID of the Automation to stop.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#update_association(options = {}) ⇒ Types::UpdateAssociationResult

Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output.

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: "DocumentName",
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  association_name: "AssociationName",
  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.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

Options Hash (options):

  • :association_id (required, String)

    The ID of the association you want to update.

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

    The parameters you want to update for the association. If you create a parameter using Parameter Store, you can reference the parameter using `{ssm:parameter-name}`

  • :document_version (String)

    The document version you want update for the association.

  • :schedule_expression (String)

    The cron expression used to schedule the association that you want to update.

  • :output_location (Types::InstanceAssociationOutputLocation)

    An Amazon S3 bucket where you want to store the results of this request.

  • :name (String)

    The name of the association 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.

Returns:

See Also:

#update_association_status(options = {}) ⇒ Types::UpdateAssociationStatusResult

Updates the status of the Systems Manager document associated with the specified instance.

Examples:

Request syntax with placeholder values


resp = client.update_association_status({
  name: "DocumentName", # 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.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

Options Hash (options):

  • :name (required, String)

    The name of the Systems Manager document.

  • :instance_id (required, String)

    The ID of the instance.

  • :association_status (required, Types::AssociationStatus)

    The association status.

Returns:

See Also:

#update_document(options = {}) ⇒ Types::UpdateDocumentResult

The document you want to update.

Examples:

Request syntax with placeholder values


resp = client.update_document({
  content: "DocumentContent", # required
  name: "DocumentName", # required
  document_version: "DocumentVersion",
})

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.owner #=> String
resp.document_description.created_date #=> Time
resp.document_description.status #=> String, one of "Creating", "Active", "Updating", "Deleting"
resp.document_description.document_version #=> String
resp.document_description.description #=> String
resp.document_description.parameters #=> Array
resp.document_description.parameters[0].name #=> String
resp.document_description.parameters[0].type #=> String, one of "String", "StringList"
resp.document_description.parameters[0].description #=> String
resp.document_description.parameters[0].default_value #=> String
resp.document_description.platform_types #=> Array
resp.document_description.platform_types[0] #=> String, one of "Windows", "Linux"
resp.document_description.document_type #=> String, one of "Command", "Policy", "Automation"
resp.document_description.schema_version #=> String
resp.document_description.latest_version #=> String
resp.document_description.default_version #=> String
resp.document_description.tags #=> Array
resp.document_description.tags[0].key #=> String
resp.document_description.tags[0].value #=> String

Options Hash (options):

  • :content (required, String)

    The content in a document that you want to update.

  • :name (required, String)

    The name of the document that you want to update.

  • :document_version (String)

    The version of the document that you want to update.

Returns:

See Also:

#update_document_default_version(options = {}) ⇒ Types::UpdateDocumentDefaultVersionResult

Set the default version of a document.

Examples:

Request syntax with placeholder values


resp = client.update_document_default_version({
  name: "DocumentName", # required
  document_version: "DocumentVersionNumber", # required
})

Response structure


resp.description.name #=> String
resp.description.default_version #=> String

Options Hash (options):

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

#update_maintenance_window(options = {}) ⇒ Types::UpdateMaintenanceWindowResult

Updates an existing Maintenance Window. Only specified parameters are modified.

Examples:

Request syntax with placeholder values


resp = client.update_maintenance_window({
  window_id: "MaintenanceWindowId", # required
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  schedule: "MaintenanceWindowSchedule",
  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.schedule #=> String
resp.duration #=> Integer
resp.cutoff #=> Integer
resp.allow_unassociated_targets #=> true/false
resp.enabled #=> true/false

Options Hash (options):

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

  • :schedule (String)

    The schedule of the Maintenance Window in the form of a cron or rate expression.

  • :duration (Integer)

    The duration of the Maintenance Window in hours.

  • :cutoff (Integer)

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

  • :allow_unassociated_targets (Boolean)

    Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.

  • :enabled (Boolean)

    Whether the Maintenance Window is enabled.

  • :replace (Boolean)

    If True, then all fields that are required by the CreateMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

Returns:

See Also:

#update_maintenance_window_target(options = {}) ⇒ Types::UpdateMaintenanceWindowTargetResult

Modifies the target of an existing Maintenance Window. You can't change the target type, but you can change the following:

The target from being an ID target to a Tag target, or a Tag target to an ID target.

IDs for an ID target.

Tags for a Tag target.

Owner.

Name.

Description.

If a parameter is null, then the corresponding field is not modified.

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

Options Hash (options):

  • :window_id (required, String)

    The Maintenance Window ID with which to modify the target.

  • :window_target_id (required, String)

    The target ID to modify.

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

    The targets to add or replace.

  • :owner_information (String)

    User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

  • :name (String)

    A name for the update.

  • :description (String)

    An optional description for the update.

  • :replace (Boolean)

    If True, then all fields that are required by the RegisterTargetWithMaintenanceWindow action are also required for this API request. Optional fields that are not specified are set to null.

Returns:

See Also:

#update_maintenance_window_task(options = {}) ⇒ Types::UpdateMaintenanceWindowTaskResult

Modifies a task assigned to a Maintenance Window. You can't change the task type, but you can change the following values:

Task ARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript.

Service role ARN.

Task parameters.

Task priority.

Task MaxConcurrency and MaxErrors.

Log location.

If a parameter is null, then the corresponding field is not modified. Also, if you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren't specified are set to null.

Examples:

Request syntax with placeholder values


resp = client.update_maintenance_window_task({
  window_id: "MaintenanceWindowId", # required
  window_task_id: "MaintenanceWindowTaskId", # required
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  task_arn: "MaintenanceWindowTaskArn",
  service_role_arn: "ServiceRole",
  task_parameters: {
    "MaintenanceWindowTaskParameterName" => {
      values: ["MaintenanceWindowTaskParameterValue"],
    },
  },
  task_invocation_parameters: {
    run_command: {
      comment: "Comment",
      document_hash: "DocumentHash",
      document_hash_type: "Sha256", # accepts Sha256, Sha1
      notification_config: {
        notification_arn: "NotificationArn",
        notification_events: ["All"], # accepts All, InProgress, Success, TimedOut, Cancelled, Failed
        notification_type: "Command", # accepts Command, Invocation
      },
      output_s3_bucket_name: "S3BucketName",
      output_s3_key_prefix: "S3KeyPrefix",
      parameters: {
        "ParameterName" => ["ParameterValue"],
      },
      service_role_arn: "ServiceRole",
      timeout_seconds: 1,
    },
    automation: {
      document_version: "DocumentVersion",
      parameters: {
        "AutomationParameterKey" => ["AutomationParameterValue"],
      },
    },
    step_functions: {
      input: "MaintenanceWindowStepFunctionsInput",
      name: "MaintenanceWindowStepFunctionsName",
    },
    lambda: {
      client_context: "MaintenanceWindowLambdaClientContext",
      qualifier: "MaintenanceWindowLambdaQualifier",
      payload: "data",
    },
  },
  priority: 1,
  max_concurrency: "MaxConcurrency",
  max_errors: "MaxErrors",
  logging_info: {
    s3_bucket_name: "S3BucketName", # required
    s3_key_prefix: "S3KeyPrefix",
    s3_region: "S3Region", # required
  },
  name: "MaintenanceWindowName",
  description: "MaintenanceWindowDescription",
  replace: false,
})

Response structure


resp.window_id #=> String
resp.window_task_id #=> String
resp.targets #=> Array
resp.targets[0].key #=> String
resp.targets[0].values #=> Array
resp.targets[0].values[0] #=> String
resp.task_arn #=> String
resp.service_role_arn #=> String
resp.task_parameters #=> Hash
resp.task_parameters["MaintenanceWindowTaskParameterName"].values #=> Array
resp.task_parameters["MaintenanceWindowTaskParameterName"].values[0] #=> String
resp.task_invocation_parameters.run_command.comment #=> String
resp.task_invocation_parameters.run_command.document_hash #=> String
resp.task_invocation_parameters.run_command.document_hash_type #=> String, one of "Sha256", "Sha1"
resp.task_invocation_parameters.run_command.notification_config.notification_arn #=> String
resp.task_invocation_parameters.run_command.notification_config.notification_events #=> Array
resp.task_invocation_parameters.run_command.notification_config.notification_events[0] #=> String, one of "All", "InProgress", "Success", "TimedOut", "Cancelled", "Failed"
resp.task_invocation_parameters.run_command.notification_config.notification_type #=> String, one of "Command", "Invocation"
resp.task_invocation_parameters.run_command.output_s3_bucket_name #=> String
resp.task_invocation_parameters.run_command.output_s3_key_prefix #=> String
resp.task_invocation_parameters.run_command.parameters #=> Hash
resp.task_invocation_parameters.run_command.parameters["ParameterName"] #=> Array
resp.task_invocation_parameters.run_command.parameters["ParameterName"][0] #=> String
resp.task_invocation_parameters.run_command.service_role_arn #=> String
resp.task_invocation_parameters.run_command.timeout_seconds #=> Integer
resp.task_invocation_parameters.automation.document_version #=> String
resp.task_invocation_parameters.automation.parameters #=> Hash
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"] #=> Array
resp.task_invocation_parameters.automation.parameters["AutomationParameterKey"][0] #=> String
resp.task_invocation_parameters.step_functions.input #=> String
resp.task_invocation_parameters.step_functions.name #=> String
resp.task_invocation_parameters.lambda.client_context #=> String
resp.task_invocation_parameters.lambda.qualifier #=> String
resp.task_invocation_parameters.lambda.payload #=> IO
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

Options Hash (options):

  • :window_id (required, String)

    The Maintenance Window ID that contains the task to modify.

  • :window_task_id (required, String)

    The task ID to modify.

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

    The targets (either instances or tags) to modify. Instances are specified using Key=instanceids,Values=instanceID_1,instanceID_2. Tags are specified using Key=tag_name,Values=tag_value.

  • :task_arn (String)

    The task ARN to modify.

  • :service_role_arn (String)

    The IAM service role ARN to modify. The system assumes this role during task execution.

  • :task_parameters (Hash<String,Types::MaintenanceWindowTaskParameterValueExpression>)

    The parameters to modify. The map has the following format:

    Key: string, between 1 and 255 characters

    Value: an array of strings, each string is between 1 and 255 characters

  • :task_invocation_parameters (Types::MaintenanceWindowTaskInvocationParameters)

    The parameters that the task should use during execution. Populate only the fields that match the task type. All other fields should be empty.

  • :priority (Integer)

    The new task priority to specify. The lower the number, the higher the priority. Tasks that have the same priority are scheduled in parallel.

  • :max_concurrency (String)

    The new MaxConcurrency value you want to specify. MaxConcurrency is the number of targets that are allowed to run this task in parallel.

  • :max_errors (String)

    The new MaxErrors value to specify. MaxErrors is the maximum number of errors that are allowed before the task stops being scheduled.

  • :logging_info (Types::LoggingInfo)

    The new logging location in Amazon S3 to specify.

  • :name (String)

    The new task name to specify.

  • :description (String)

    The new task description to specify.

  • :replace (Boolean)

    If True, then all fields that are required by the RegisterTaskWithMaintenanceWndow action are also required for this API request. Optional fields that are not specified are set to null.

Returns:

See Also:

#update_managed_instance_role(options = {}) ⇒ Struct

Assigns or changes an Amazon Identity and Access Management (IAM) role to the managed instance.

Examples:

Request syntax with placeholder values


resp = client.update_managed_instance_role({
  instance_id: "ManagedInstanceId", # required
  iam_role: "IamRole", # required
})

Options Hash (options):

  • :instance_id (required, String)

    The ID of the managed instance where you want to update the role.

  • :iam_role (required, String)

    The IAM role you want to assign or change.

Returns:

  • (Struct)

    Returns an empty response.

See Also:

#update_patch_baseline(options = {}) ⇒ Types::UpdatePatchBaselineResult

Modifies an existing patch baseline. Fields not specified in the request are left unchanged.

Examples:

Request syntax with placeholder values


resp = client.update_patch_baseline({
  baseline_id: "BaselineId", # required
  name: "BaselineName",
  global_filters: {
    patch_filters: [ # required
      {
        key: "PRODUCT", # required, accepts PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY
        values: ["PatchFilterValue"], # required
      },
    ],
  },
  approval_rules: {
    patch_rules: [ # required
      {
        patch_filter_group: { # required
          patch_filters: [ # required
            {
              key: "PRODUCT", # required, accepts PRODUCT, CLASSIFICATION, MSRC_SEVERITY, PATCH_ID, SECTION, PRIORITY, SEVERITY
              values: ["PatchFilterValue"], # required
            },
          ],
        },
        compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
        approve_after_days: 1, # required
      },
    ],
  },
  approved_patches: ["PatchId"],
  approved_patches_compliance_level: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED
  rejected_patches: ["PatchId"],
  description: "BaselineDescription",
})

Response structure


resp.baseline_id #=> String
resp.name #=> String
resp.operating_system #=> String, one of "WINDOWS", "AMAZON_LINUX", "UBUNTU", "REDHAT_ENTERPRISE_LINUX"
resp.global_filters.patch_filters #=> Array
resp.global_filters.patch_filters[0].key #=> String, one of "PRODUCT", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY"
resp.global_filters.patch_filters[0].values #=> Array
resp.global_filters.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].key #=> String, one of "PRODUCT", "CLASSIFICATION", "MSRC_SEVERITY", "PATCH_ID", "SECTION", "PRIORITY", "SEVERITY"
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values #=> Array
resp.approval_rules.patch_rules[0].patch_filter_group.patch_filters[0].values[0] #=> String
resp.approval_rules.patch_rules[0].compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.approval_rules.patch_rules[0].approve_after_days #=> Integer
resp.approved_patches #=> Array
resp.approved_patches[0] #=> String
resp.approved_patches_compliance_level #=> String, one of "CRITICAL", "HIGH", "MEDIUM", "LOW", "INFORMATIONAL", "UNSPECIFIED"
resp.rejected_patches #=> Array
resp.rejected_patches[0] #=> String
resp.created_date #=> Time
resp.modified_date #=> Time
resp.description #=> String

Options Hash (options):

  • :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 exclude patches from the baseline.

  • :approval_rules (Types::PatchRuleGroup)

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

  • :approved_patches (Array<String>)

    A list of explicitly approved patches for the baseline.

  • :approved_patches_compliance_level (String)

    Assigns a new compliance severity level to an existing patch baseline.

  • :rejected_patches (Array<String>)

    A list of explicitly rejected patches for the baseline.

  • :description (String)

    A description of the patch baseline.

Returns:

  • (