/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.simplesystemsmanagement.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateAssociationRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The name of the SSM Command document or Automation runbook that contains the configuration information for the * managed node. *
** You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared * with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, * you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to
* specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
*
* The document version you want to associate with the target(s). Can be a specific version or the default version. *
*
* State Manager doesn't support running associations that use a new version of a document if that document is
* shared from another account. State Manager always runs the default
version of a document if shared
* from another account, even though the Systems Manager console shows that a new version was processed. If you want
* to run an association using a new version of a document shared form another account, you must set the document
* version to default
.
*
* The managed node ID. *
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems Manager
* documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter
* InstanceId
, you can't use the parameters AssociationName
, DocumentVersion
,
* MaxErrors
, MaxConcurrency
, OutputLocation
, or
* ScheduleExpression
. To use these parameters, you must use the Targets
parameter.
*
* The parameters for the runtime configuration of the document. *
*/ private java.util.Map
* The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups,
* all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed
* nodes in an Amazon Web Services account by specifying the InstanceIds
key with a value of
* *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
*
* A cron expression when the association will be applied to the target(s). *
*/ private String scheduleExpression; /** ** An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request. *
*/ private InstanceAssociationOutputLocation outputLocation; /** ** Specify a descriptive name for the association. *
*/ private String associationName; /** ** 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. *
*/ private String automationTargetParameterName; /** *
* 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.
*
* 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
.
*
* The severity level to assign to the association. *
*/ private String complianceSeverity; /** *
* The mode for generating association compliance. You can specify AUTO
or MANUAL
. In
* AUTO
mode, the system uses the status of the association execution to determine the compliance
* status. If the association execution runs successfully, then the association is COMPLIANT
. If the
* association execution doesn't run successfully, the association is NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It is
* managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
*
* By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run immediately * after you create it. This parameter isn't supported for rate expressions. *
*/ private Boolean applyOnlyAtCronInterval; /** ** 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. *
*/ private com.amazonaws.internal.SdkInternalList* A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run * the association. Use this action to create an association in multiple Regions and multiple accounts. *
*/ private com.amazonaws.internal.SdkInternalList
* Number of days to wait after the scheduled day to run an association. For example, if you specified a cron
* schedule of cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the association each
* Sunday after the second Thursday of the month. For more information about cron schedules for associations, see
* Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems Manager User
* Guide.
*
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells the system
* not to run an association immediately after you create it.
*
* A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified * together. *
*/ private com.amazonaws.internal.SdkInternalList* Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can assign * to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for * example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you * define. *
*/ private com.amazonaws.internal.SdkInternalList* The name of the SSM Command document or Automation runbook that contains the configuration information for the * managed node. *
** You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared * with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, * you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to
* specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
*
* You can specify Amazon Web Services-predefined documents, documents you created, or a document that is * shared with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services * accounts, you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need
* to specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
*/
public void setName(String name) {
this.name = name;
}
/**
*
* The name of the SSM Command document or Automation runbook that contains the configuration information for the * managed node. *
** You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared * with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, * you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to
* specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
*
* You can specify Amazon Web Services-predefined documents, documents you created, or a document that is * shared with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services * accounts, you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need
* to specify the document name. For example, AWS-ApplyPatchBaseline
or
* My-Document
.
*/
public String getName() {
return this.name;
}
/**
*
* The name of the SSM Command document or Automation runbook that contains the configuration information for the * managed node. *
** You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared * with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, * you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to
* specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
*
* You can specify Amazon Web Services-predefined documents, documents you created, or a document that is * shared with you from another Amazon Web Services account. *
** For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services * accounts, you must specify the complete SSM document ARN, in the following format: *
*
* arn:partition:ssm:region:account-id:document/document-name
*
* For example: *
*
* arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
*
* For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need
* to specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAssociationRequest withName(String name) {
setName(name);
return this;
}
/**
*
* The document version you want to associate with the target(s). Can be a specific version or the default version. *
*
* State Manager doesn't support running associations that use a new version of a document if that document is
* shared from another account. State Manager always runs the default
version of a document if shared
* from another account, even though the Systems Manager console shows that a new version was processed. If you want
* to run an association using a new version of a document shared form another account, you must set the document
* version to default
.
*
* State Manager doesn't support running associations that use a new version of a document if that document
* is shared from another account. State Manager always runs the default
version of a document
* if shared from another account, even though the Systems Manager console shows that a new version was
* processed. If you want to run an association using a new version of a document shared form another
* account, you must set the document version to default
.
*
* The document version you want to associate with the target(s). Can be a specific version or the default version. *
*
* State Manager doesn't support running associations that use a new version of a document if that document is
* shared from another account. State Manager always runs the default
version of a document if shared
* from another account, even though the Systems Manager console shows that a new version was processed. If you want
* to run an association using a new version of a document shared form another account, you must set the document
* version to default
.
*
* State Manager doesn't support running associations that use a new version of a document if that document
* is shared from another account. State Manager always runs the default
version of a document
* if shared from another account, even though the Systems Manager console shows that a new version was
* processed. If you want to run an association using a new version of a document shared form another
* account, you must set the document version to default
.
*
* The document version you want to associate with the target(s). Can be a specific version or the default version. *
*
* State Manager doesn't support running associations that use a new version of a document if that document is
* shared from another account. State Manager always runs the default
version of a document if shared
* from another account, even though the Systems Manager console shows that a new version was processed. If you want
* to run an association using a new version of a document shared form another account, you must set the document
* version to default
.
*
* State Manager doesn't support running associations that use a new version of a document if that document
* is shared from another account. State Manager always runs the default
version of a document
* if shared from another account, even though the Systems Manager console shows that a new version was
* processed. If you want to run an association using a new version of a document shared form another
* account, you must set the document version to default
.
*
* The managed node ID. *
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems Manager
* documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter
* InstanceId
, you can't use the parameters AssociationName
, DocumentVersion
,
* MaxErrors
, MaxConcurrency
, OutputLocation
, or
* ScheduleExpression
. To use these parameters, you must use the Targets
parameter.
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems
* Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use
* the parameter InstanceId
, you can't use the parameters AssociationName
,
* DocumentVersion
, MaxErrors
, MaxConcurrency
,
* OutputLocation
, or ScheduleExpression
. To use these parameters, you must use the
* Targets
parameter.
*
* The managed node ID. *
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems Manager
* documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter
* InstanceId
, you can't use the parameters AssociationName
, DocumentVersion
,
* MaxErrors
, MaxConcurrency
, OutputLocation
, or
* ScheduleExpression
. To use these parameters, you must use the Targets
parameter.
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems
* Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use
* the parameter InstanceId
, you can't use the parameters AssociationName
,
* DocumentVersion
, MaxErrors
, MaxConcurrency
,
* OutputLocation
, or ScheduleExpression
. To use these parameters, you must use
* the Targets
parameter.
*
* The managed node ID. *
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems Manager
* documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameter
* InstanceId
, you can't use the parameters AssociationName
, DocumentVersion
,
* MaxErrors
, MaxConcurrency
, OutputLocation
, or
* ScheduleExpression
. To use these parameters, you must use the Targets
parameter.
*
* InstanceId
has been deprecated. To specify a managed node ID for an association, use the
* Targets
parameter. Requests that include the parameter InstanceID
with Systems
* Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use
* the parameter InstanceId
, you can't use the parameters AssociationName
,
* DocumentVersion
, MaxErrors
, MaxConcurrency
,
* OutputLocation
, or ScheduleExpression
. To use these parameters, you must use the
* Targets
parameter.
*
* The parameters for the runtime configuration of the document. *
* * @return The parameters for the runtime configuration of the document. */ public java.util.Map* The parameters for the runtime configuration of the document. *
* * @param parameters * The parameters for the runtime configuration of the document. */ public void setParameters(java.util.Map* The parameters for the runtime configuration of the document. *
* * @param parameters * The parameters for the runtime configuration of the document. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withParameters(java.util.Map
* The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups,
* all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed
* nodes in an Amazon Web Services account by specifying the InstanceIds
key with a value of
* *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
*
InstanceIds
key
* with a value of *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services
* Systems Manager User Guide.
*/
public java.util.List
* The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups,
* all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed
* nodes in an Amazon Web Services account by specifying the InstanceIds
key with a value of
* *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
*
InstanceIds
key
* with a value of *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
*/
public void setTargets(java.util.Collection
* The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups,
* all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed
* nodes in an Amazon Web Services account by specifying the InstanceIds
key with a value of
* *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setTargets(java.util.Collection)} or {@link #withTargets(java.util.Collection)} if you want to override * the existing values. *
* * @param targets * The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource * groups, all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can * target all managed nodes in an Amazon Web Services account by specifying theInstanceIds
key
* with a value of *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAssociationRequest withTargets(Target... targets) {
if (this.targets == null) {
setTargets(new com.amazonaws.internal.SdkInternalList
* The targets for the association. You can target managed nodes by using tags, Amazon Web Services resource groups,
* all managed nodes in an Amazon Web Services account, or individual managed node IDs. You can target all managed
* nodes in an Amazon Web Services account by specifying the InstanceIds
key with a value of
* *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
*
InstanceIds
key
* with a value of *
. For more information about choosing targets for an association, see Using targets and rate controls with State Manager associations in the Amazon Web Services Systems
* Manager User Guide.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAssociationRequest withTargets(java.util.Collection* A cron expression when the association will be applied to the target(s). *
* * @param scheduleExpression * A cron expression when the association will be applied to the target(s). */ public void setScheduleExpression(String scheduleExpression) { this.scheduleExpression = scheduleExpression; } /** ** A cron expression when the association will be applied to the target(s). *
* * @return A cron expression when the association will be applied to the target(s). */ public String getScheduleExpression() { return this.scheduleExpression; } /** ** A cron expression when the association will be applied to the target(s). *
* * @param scheduleExpression * A cron expression when the association will be applied to the target(s). * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withScheduleExpression(String scheduleExpression) { setScheduleExpression(scheduleExpression); return this; } /** ** An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request. *
* * @param outputLocation * An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the * request. */ public void setOutputLocation(InstanceAssociationOutputLocation outputLocation) { this.outputLocation = outputLocation; } /** ** An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request. *
* * @return An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the * request. */ public InstanceAssociationOutputLocation getOutputLocation() { return this.outputLocation; } /** ** An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request. *
* * @param outputLocation * An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the * request. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withOutputLocation(InstanceAssociationOutputLocation outputLocation) { setOutputLocation(outputLocation); return this; } /** ** Specify a descriptive name for the association. *
* * @param associationName * Specify a descriptive name for the association. */ public void setAssociationName(String associationName) { this.associationName = associationName; } /** ** Specify a descriptive name for the association. *
* * @return Specify a descriptive name for the association. */ public String getAssociationName() { return this.associationName; } /** ** Specify a descriptive name for the association. *
* * @param associationName * Specify a descriptive name for the association. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withAssociationName(String associationName) { setAssociationName(associationName); return this; } /** ** 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. *
* * @param automationTargetParameterName * 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. */ public void setAutomationTargetParameterName(String automationTargetParameterName) { this.automationTargetParameterName = automationTargetParameterName; } /** ** 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. *
* * @return 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. */ public String getAutomationTargetParameterName() { return this.automationTargetParameterName; } /** ** 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. *
* * @param automationTargetParameterName * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withAutomationTargetParameterName(String automationTargetParameterName) { setAutomationTargetParameterName(automationTargetParameterName); return this; } /** *
* 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.
*
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.
*/
public void setMaxErrors(String maxErrors) {
this.maxErrors = maxErrors;
}
/**
*
* 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.
*
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.
*/
public String getMaxErrors() {
return this.maxErrors;
}
/**
*
* 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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAssociationRequest withMaxErrors(String maxErrors) {
setMaxErrors(maxErrors);
return this;
}
/**
*
* 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
.
*
* 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
.
*/
public void setMaxConcurrency(String maxConcurrency) {
this.maxConcurrency = maxConcurrency;
}
/**
*
* 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
.
*
* 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
.
*/
public String getMaxConcurrency() {
return this.maxConcurrency;
}
/**
*
* 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
.
*
* 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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateAssociationRequest withMaxConcurrency(String maxConcurrency) {
setMaxConcurrency(maxConcurrency);
return this;
}
/**
*
* The severity level to assign to the association. *
* * @param complianceSeverity * The severity level to assign to the association. * @see AssociationComplianceSeverity */ public void setComplianceSeverity(String complianceSeverity) { this.complianceSeverity = complianceSeverity; } /** ** The severity level to assign to the association. *
* * @return The severity level to assign to the association. * @see AssociationComplianceSeverity */ public String getComplianceSeverity() { return this.complianceSeverity; } /** ** The severity level to assign to the association. *
* * @param complianceSeverity * The severity level to assign to the association. * @return Returns a reference to this object so that method calls can be chained together. * @see AssociationComplianceSeverity */ public CreateAssociationRequest withComplianceSeverity(String complianceSeverity) { setComplianceSeverity(complianceSeverity); return this; } /** ** The severity level to assign to the association. *
* * @param complianceSeverity * The severity level to assign to the association. * @return Returns a reference to this object so that method calls can be chained together. * @see AssociationComplianceSeverity */ public CreateAssociationRequest withComplianceSeverity(AssociationComplianceSeverity complianceSeverity) { this.complianceSeverity = complianceSeverity.toString(); return this; } /** *
* The mode for generating association compliance. You can specify AUTO
or MANUAL
. In
* AUTO
mode, the system uses the status of the association execution to determine the compliance
* status. If the association execution runs successfully, then the association is COMPLIANT
. If the
* association execution doesn't run successfully, the association is NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It is
* managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
*
AUTO
or MANUAL
.
* In AUTO
mode, the system uses the status of the association execution to determine the
* compliance status. If the association execution runs successfully, then the association is
* COMPLIANT
. If the association execution doesn't run successfully, the association is
* NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It
* is managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
* @see AssociationSyncCompliance
*/
public void setSyncCompliance(String syncCompliance) {
this.syncCompliance = syncCompliance;
}
/**
*
* The mode for generating association compliance. You can specify AUTO
or MANUAL
. In
* AUTO
mode, the system uses the status of the association execution to determine the compliance
* status. If the association execution runs successfully, then the association is COMPLIANT
. If the
* association execution doesn't run successfully, the association is NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It is
* managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
*
AUTO
or MANUAL
.
* In AUTO
mode, the system uses the status of the association execution to determine the
* compliance status. If the association execution runs successfully, then the association is
* COMPLIANT
. If the association execution doesn't run successfully, the association is
* NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It
* is managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
* @see AssociationSyncCompliance
*/
public String getSyncCompliance() {
return this.syncCompliance;
}
/**
*
* The mode for generating association compliance. You can specify AUTO
or MANUAL
. In
* AUTO
mode, the system uses the status of the association execution to determine the compliance
* status. If the association execution runs successfully, then the association is COMPLIANT
. If the
* association execution doesn't run successfully, the association is NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It is
* managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
*
AUTO
or MANUAL
.
* In AUTO
mode, the system uses the status of the association execution to determine the
* compliance status. If the association execution runs successfully, then the association is
* COMPLIANT
. If the association execution doesn't run successfully, the association is
* NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It
* is managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AssociationSyncCompliance
*/
public CreateAssociationRequest withSyncCompliance(String syncCompliance) {
setSyncCompliance(syncCompliance);
return this;
}
/**
*
* The mode for generating association compliance. You can specify AUTO
or MANUAL
. In
* AUTO
mode, the system uses the status of the association execution to determine the compliance
* status. If the association execution runs successfully, then the association is COMPLIANT
. If the
* association execution doesn't run successfully, the association is NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It is
* managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
*
AUTO
or MANUAL
.
* In AUTO
mode, the system uses the status of the association execution to determine the
* compliance status. If the association execution runs successfully, then the association is
* COMPLIANT
. If the association execution doesn't run successfully, the association is
* NON-COMPLIANT
.
*
* In MANUAL
mode, you must specify the AssociationId
as a parameter for the
* PutComplianceItems API operation. In this case, compliance data isn't managed by State Manager. It
* is managed by your direct call to the PutComplianceItems API operation.
*
* By default, all associations use AUTO
mode.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AssociationSyncCompliance
*/
public CreateAssociationRequest withSyncCompliance(AssociationSyncCompliance syncCompliance) {
this.syncCompliance = syncCompliance.toString();
return this;
}
/**
*
* By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run immediately * after you create it. This parameter isn't supported for rate expressions. *
* * @param applyOnlyAtCronInterval * By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run * immediately after you create it. This parameter isn't supported for rate expressions. */ public void setApplyOnlyAtCronInterval(Boolean applyOnlyAtCronInterval) { this.applyOnlyAtCronInterval = applyOnlyAtCronInterval; } /** ** By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run immediately * after you create it. This parameter isn't supported for rate expressions. *
* * @return By default, when you create a new association, the system runs it immediately after it is created and * then according to the schedule you specified. Specify this option if you don't want an association to run * immediately after you create it. This parameter isn't supported for rate expressions. */ public Boolean getApplyOnlyAtCronInterval() { return this.applyOnlyAtCronInterval; } /** ** By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run immediately * after you create it. This parameter isn't supported for rate expressions. *
* * @param applyOnlyAtCronInterval * By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run * immediately after you create it. This parameter isn't supported for rate expressions. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withApplyOnlyAtCronInterval(Boolean applyOnlyAtCronInterval) { setApplyOnlyAtCronInterval(applyOnlyAtCronInterval); return this; } /** ** By default, when you create a new association, the system runs it immediately after it is created and then * according to the schedule you specified. Specify this option if you don't want an association to run immediately * after you create it. This parameter isn't supported for rate expressions. *
* * @return By default, when you create a new association, the system runs it immediately after it is created and * then according to the schedule you specified. Specify this option if you don't want an association to run * immediately after you create it. This parameter isn't supported for rate expressions. */ public Boolean isApplyOnlyAtCronInterval() { return this.applyOnlyAtCronInterval; } /** ** 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. *
* * @return 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. */ public java.util.List* 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. *
* * @param calendarNames * 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. */ public void setCalendarNames(java.util.Collection* 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. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setCalendarNames(java.util.Collection)} or {@link #withCalendarNames(java.util.Collection)} if you want * to override the existing values. *
* * @param calendarNames * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withCalendarNames(String... calendarNames) { if (this.calendarNames == null) { setCalendarNames(new com.amazonaws.internal.SdkInternalList* 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. *
* * @param calendarNames * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withCalendarNames(java.util.Collection* A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run * the association. Use this action to create an association in multiple Regions and multiple accounts. *
* * @return A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you * want to run the association. Use this action to create an association in multiple Regions and multiple * accounts. */ public java.util.List* A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run * the association. Use this action to create an association in multiple Regions and multiple accounts. *
* * @param targetLocations * A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want * to run the association. Use this action to create an association in multiple Regions and multiple * accounts. */ public void setTargetLocations(java.util.Collection* A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run * the association. Use this action to create an association in multiple Regions and multiple accounts. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTargetLocations(java.util.Collection)} or {@link #withTargetLocations(java.util.Collection)} if you * want to override the existing values. *
* * @param targetLocations * A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want * to run the association. Use this action to create an association in multiple Regions and multiple * accounts. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withTargetLocations(TargetLocation... targetLocations) { if (this.targetLocations == null) { setTargetLocations(new com.amazonaws.internal.SdkInternalList* A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run * the association. Use this action to create an association in multiple Regions and multiple accounts. *
* * @param targetLocations * A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want * to run the association. Use this action to create an association in multiple Regions and multiple * accounts. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withTargetLocations(java.util.Collection
* Number of days to wait after the scheduled day to run an association. For example, if you specified a cron
* schedule of cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the association each
* Sunday after the second Thursday of the month. For more information about cron schedules for associations, see
* Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems Manager User
* Guide.
*
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells the system
* not to run an association immediately after you create it.
*
cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the association
* each Sunday after the second Thursday of the month. For more information about cron schedules for
* associations, see Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems
* Manager User Guide.
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells the
* system not to run an association immediately after you create it.
*
* Number of days to wait after the scheduled day to run an association. For example, if you specified a cron
* schedule of cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the association each
* Sunday after the second Thursday of the month. For more information about cron schedules for associations, see
* Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems Manager User
* Guide.
*
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells the system
* not to run an association immediately after you create it.
*
cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the
* association each Sunday after the second Thursday of the month. For more information about cron schedules
* for associations, see Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems
* Manager User Guide.
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells
* the system not to run an association immediately after you create it.
*
* Number of days to wait after the scheduled day to run an association. For example, if you specified a cron
* schedule of cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the association each
* Sunday after the second Thursday of the month. For more information about cron schedules for associations, see
* Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems Manager User
* Guide.
*
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells the system
* not to run an association immediately after you create it.
*
cron(0 0 ? * THU#2 *)
, you could specify an offset of 3 to run the association
* each Sunday after the second Thursday of the month. For more information about cron schedules for
* associations, see Reference: Cron and rate expressions for Systems Manager in the Amazon Web Services Systems
* Manager User Guide.
* To use offsets, you must specify the ApplyOnlyAtCronInterval
parameter. This option tells the
* system not to run an association immediately after you create it.
*
* A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified * together. *
* * @return A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be * specified together. */ public java.util.List* A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified * together. *
* * @param targetMaps * A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be * specified together. */ public void setTargetMaps(java.util.Collection* A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified * together. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTargetMaps(java.util.Collection)} or {@link #withTargetMaps(java.util.Collection)} if you want to * override the existing values. *
* * @param targetMaps * A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be * specified together. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withTargetMaps(java.util.Map* A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified * together. *
* * @param targetMaps * A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be * specified together. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withTargetMaps(java.util.Collection* Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can assign * to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for * example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you * define. *
* * @return Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you * can assign to your Amazon Web Services resources. Tags enable you to categorize your resources in * different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an * optional value, both of which you define. */ public java.util.List* Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can assign * to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for * example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you * define. *
* * @param tags * Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can * assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different * ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, * both of which you define. */ public void setTags(java.util.Collection* Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can assign * to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for * example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you * define. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setTags(java.util.Collection)} or {@link #withTags(java.util.Collection)} if you want to override the * existing values. *
* * @param tags * Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can * assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different * ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, * both of which you define. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withTags(Tag... tags) { if (this.tags == null) { setTags(new com.amazonaws.internal.SdkInternalList* Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can assign * to your Amazon Web Services resources. Tags enable you to categorize your resources in different ways, for * example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you * define. *
* * @param tags * Adds or overwrites one or more tags for a State Manager association. Tags are metadata that you can * assign to your Amazon Web Services resources. Tags enable you to categorize your resources in different * ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, * both of which you define. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateAssociationRequest withTags(java.util.Collection