Struct aws_sdk_ssm::client::fluent_builders::CreateAssociation
source · [−]pub struct CreateAssociation { /* private fields */ }
Expand description
Fluent builder constructing a request to CreateAssociation
.
A State Manager association defines the state that you want to maintain on your managed nodes. For example, an association can specify that anti-virus software must be installed and running on your managed nodes, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a capability of Amazon Web Services Systems Manager applies the configuration when new managed nodes are added to the group. The association also specifies actions to take when applying the configuration. For example, an association for anti-virus software might run once a day. If the software isn't installed, then State Manager installs it. If the software is installed, but the service isn't running, then the association might instruct State Manager to start the service.
Implementations
sourceimpl CreateAssociation
impl CreateAssociation
sourcepub async fn send(
self
) -> Result<CreateAssociationOutput, SdkError<CreateAssociationError>>
pub async fn send(
self
) -> Result<CreateAssociationOutput, SdkError<CreateAssociationError>>
Sends the request and returns the response.
If an error occurs, an SdkError
will be returned with additional details that
can be matched against.
By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.
sourcepub fn name(self, input: impl Into<String>) -> Self
pub fn name(self, input: impl Into<String>) -> Self
The name of the SSM Command document or Automation runbook that contains the configuration information for the managed node.
You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another account.
For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:
arn:partition:ssm:region:account-id:document/document-name
For example:
arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
sourcepub fn set_name(self, input: Option<String>) -> Self
pub fn set_name(self, input: Option<String>) -> Self
The name of the SSM Command document or Automation runbook that contains the configuration information for the managed node.
You can specify Amazon Web Services-predefined documents, documents you created, or a document that is shared with you from another account.
For Systems Manager documents (SSM documents) that are shared with you from other Amazon Web Services accounts, you must specify the complete SSM document ARN, in the following format:
arn:partition:ssm:region:account-id:document/document-name
For example:
arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document
For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example, AWS-ApplyPatchBaseline
or My-Document
.
sourcepub fn document_version(self, input: impl Into<String>) -> Self
pub fn document_version(self, input: impl Into<String>) -> Self
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
.
sourcepub fn set_document_version(self, input: Option<String>) -> Self
pub fn set_document_version(self, input: Option<String>) -> Self
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
.
sourcepub fn instance_id(self, input: impl Into<String>) -> Self
pub fn instance_id(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_instance_id(self, input: Option<String>) -> Self
pub fn set_instance_id(self, input: Option<String>) -> Self
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.
sourcepub fn parameters(self, k: impl Into<String>, v: Vec<String>) -> Self
pub fn parameters(self, k: impl Into<String>, v: Vec<String>) -> Self
Adds a key-value pair to Parameters
.
To override the contents of this collection use set_parameters
.
The parameters for the runtime configuration of the document.
sourcepub fn set_parameters(self, input: Option<HashMap<String, Vec<String>>>) -> Self
pub fn set_parameters(self, input: Option<HashMap<String, Vec<String>>>) -> Self
The parameters for the runtime configuration of the document.
sourcepub fn targets(self, input: Target) -> Self
pub fn targets(self, input: Target) -> Self
Appends an item to Targets
.
To override the contents of this collection use set_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 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.
sourcepub fn set_targets(self, input: Option<Vec<Target>>) -> Self
pub fn set_targets(self, input: Option<Vec<Target>>) -> Self
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.
sourcepub fn schedule_expression(self, input: impl Into<String>) -> Self
pub fn schedule_expression(self, input: impl Into<String>) -> Self
A cron expression when the association will be applied to the target(s).
sourcepub fn set_schedule_expression(self, input: Option<String>) -> Self
pub fn set_schedule_expression(self, input: Option<String>) -> Self
A cron expression when the association will be applied to the target(s).
sourcepub fn output_location(self, input: InstanceAssociationOutputLocation) -> Self
pub fn output_location(self, input: InstanceAssociationOutputLocation) -> Self
An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.
sourcepub fn set_output_location(
self,
input: Option<InstanceAssociationOutputLocation>
) -> Self
pub fn set_output_location(
self,
input: Option<InstanceAssociationOutputLocation>
) -> Self
An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.
sourcepub fn association_name(self, input: impl Into<String>) -> Self
pub fn association_name(self, input: impl Into<String>) -> Self
Specify a descriptive name for the association.
sourcepub fn set_association_name(self, input: Option<String>) -> Self
pub fn set_association_name(self, input: Option<String>) -> Self
Specify a descriptive name for the association.
sourcepub fn automation_target_parameter_name(self, input: impl Into<String>) -> Self
pub fn automation_target_parameter_name(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_automation_target_parameter_name(self, input: Option<String>) -> Self
pub fn set_automation_target_parameter_name(self, input: Option<String>) -> Self
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.
sourcepub fn max_errors(self, input: impl Into<String>) -> Self
pub fn max_errors(self, input: impl Into<String>) -> Self
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.
sourcepub fn set_max_errors(self, input: Option<String>) -> Self
pub fn set_max_errors(self, input: Option<String>) -> Self
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.
sourcepub fn max_concurrency(self, input: impl Into<String>) -> Self
pub fn max_concurrency(self, input: impl Into<String>) -> Self
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
.
sourcepub fn set_max_concurrency(self, input: Option<String>) -> Self
pub fn set_max_concurrency(self, input: Option<String>) -> Self
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
.
sourcepub fn compliance_severity(self, input: AssociationComplianceSeverity) -> Self
pub fn compliance_severity(self, input: AssociationComplianceSeverity) -> Self
The severity level to assign to the association.
sourcepub fn set_compliance_severity(
self,
input: Option<AssociationComplianceSeverity>
) -> Self
pub fn set_compliance_severity(
self,
input: Option<AssociationComplianceSeverity>
) -> Self
The severity level to assign to the association.
sourcepub fn sync_compliance(self, input: AssociationSyncCompliance) -> Self
pub fn sync_compliance(self, input: AssociationSyncCompliance) -> Self
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.
sourcepub fn set_sync_compliance(
self,
input: Option<AssociationSyncCompliance>
) -> Self
pub fn set_sync_compliance(
self,
input: Option<AssociationSyncCompliance>
) -> Self
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.
sourcepub fn apply_only_at_cron_interval(self, input: bool) -> Self
pub fn apply_only_at_cron_interval(self, input: bool) -> Self
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.
sourcepub fn set_apply_only_at_cron_interval(self, input: Option<bool>) -> Self
pub fn set_apply_only_at_cron_interval(self, input: Option<bool>) -> Self
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.
sourcepub fn calendar_names(self, input: impl Into<String>) -> Self
pub fn calendar_names(self, input: impl Into<String>) -> Self
Appends an item to CalendarNames
.
To override the contents of this collection use set_calendar_names
.
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.
sourcepub fn set_calendar_names(self, input: Option<Vec<String>>) -> Self
pub fn set_calendar_names(self, input: Option<Vec<String>>) -> Self
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.
sourcepub fn target_locations(self, input: TargetLocation) -> Self
pub fn target_locations(self, input: TargetLocation) -> Self
Appends an item to TargetLocations
.
To override the contents of this collection use set_target_locations
.
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.
sourcepub fn set_target_locations(self, input: Option<Vec<TargetLocation>>) -> Self
pub fn set_target_locations(self, input: Option<Vec<TargetLocation>>) -> Self
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.
Trait Implementations
sourceimpl Clone for CreateAssociation
impl Clone for CreateAssociation
sourcefn clone(&self) -> CreateAssociation
fn clone(&self) -> CreateAssociation
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
Auto Trait Implementations
impl !RefUnwindSafe for CreateAssociation
impl Send for CreateAssociation
impl Sync for CreateAssociation
impl Unpin for CreateAssociation
impl !UnwindSafe for CreateAssociation
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more