Class: Aws::SSM::Types::UpdateAssociationRequest

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
lib/aws-sdk-ssm/types.rb

Overview

Note:

When making an API call, you may pass UpdateAssociationRequest data as a hash:

{
  association_id: "AssociationId", # required
  parameters: {
    "ParameterName" => ["ParameterValue"],
  },
  document_version: "DocumentVersion",
  schedule_expression: "ScheduleExpression",
  output_location: {
    s3_location: {
      output_s3_region: "S3Region",
      output_s3_bucket_name: "S3BucketName",
      output_s3_key_prefix: "S3KeyPrefix",
    },
  },
  name: "DocumentARN",
  targets: [
    {
      key: "TargetKey",
      values: ["TargetValue"],
    },
  ],
  association_name: "AssociationName",
  association_version: "AssociationVersion",
  automation_target_parameter_name: "AutomationTargetParameterName",
  max_errors: "MaxErrors",
  max_concurrency: "MaxConcurrency",
  compliance_severity: "CRITICAL", # accepts CRITICAL, HIGH, MEDIUM, LOW, UNSPECIFIED
  sync_compliance: "AUTO", # accepts AUTO, MANUAL
  apply_only_at_cron_interval: false,
  calendar_names: ["CalendarNameOrARN"],
  target_locations: [
    {
      accounts: ["Account"],
      regions: ["Region"],
      target_location_max_concurrency: "MaxConcurrency",
      target_location_max_errors: "MaxErrors",
      execution_role_name: "ExecutionRoleName",
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[:parameters]

Instance Attribute Summary collapse

Instance Attribute Details

#apply_only_at_cron_intervalBoolean

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

Also, if you specified this option when you created the association, you can reset it. To do so, specify the `no-apply-only-at-cron-interval` parameter when you update the association from the command line. This parameter forces the association to run immediately after updating it and according to the interval specified.

Returns:

  • (Boolean)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#association_idString

The ID of the association you want to update.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#association_nameString

The name of the association that you want to update.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#association_versionString

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:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#automation_target_parameter_nameString

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

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#calendar_namesArray<String>

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

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

Returns:

  • (Array<String>)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#compliance_severityString

The severity level to assign to the association.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#document_versionString

The document version you want update for the association.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#max_concurrencyString

The maximum number of targets allowed to run the association at the same time. You can specify a number, for example 10, or a percentage of the target set, for example 10%. The default value is 100%, which means all targets run the association at the same time.

If a new managed node starts and attempts to run an association while Systems Manager is running `MaxConcurrency` associations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified for `MaxConcurrency`.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#max_errorsString

The number of errors that are allowed before the system stops sending requests to run the association on additional targets. You can specify either an absolute number of errors, for example 10, or a percentage of the target set, for example 10%. If you specify 3, for example, the system stops sending requests when the fourth error is received. If you specify 0, then the system stops sending requests after the first error is returned. If you run an association on 50 managed nodes and set `MaxError` to 10%, then the system stops sending the request when the sixth error is received.

Executions that are already running an association when `MaxErrors` is reached are allowed to complete, but some of these executions may fail as well. If you need to ensure that there won't be more than max-errors failed executions, set `MaxConcurrency` to 1 so that executions proceed one at a time.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#nameString

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

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

For Systems Manager document (SSM document) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:

`arn:aws:ssm:region:account-id:document/document-name `

For example:

`arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document`

For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, `AWS-ApplyPatchBaseline` or `My-Document`.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#output_locationTypes::InstanceAssociationOutputLocation

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


19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#parametersHash<String,Array<String>>

The parameters you want to update for the association. If you create a parameter using Parameter Store, a capability of Amazon Web Services Systems Manager, you can reference the parameter using `{ssm:parameter-name}`.

Returns:

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

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#schedule_expressionString

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

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#sync_complianceString

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

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

By default, all associations use `AUTO` mode.

Returns:

  • (String)

19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#target_locationsArray<Types::TargetLocation>

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

Returns:


19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end

#targetsArray<Types::Target>

The targets of the association.

Returns:


19893
19894
19895
19896
19897
19898
19899
19900
19901
19902
19903
19904
19905
19906
19907
19908
19909
19910
19911
19912
19913
# File 'lib/aws-sdk-ssm/types.rb', line 19893

class UpdateAssociationRequest < Struct.new(
  :association_id,
  :parameters,
  :document_version,
  :schedule_expression,
  :output_location,
  :name,
  :targets,
  :association_name,
  :association_version,
  :automation_target_parameter_name,
  :max_errors,
  :max_concurrency,
  :compliance_severity,
  :sync_compliance,
  :apply_only_at_cron_interval,
  :calendar_names,
  :target_locations)
  SENSITIVE = [:parameters]
  include Aws::Structure
end