create_association
¶
create_association(
name: DocumentARN,
*,
config_overrides: Optional[SSMClientConfig] = None,
document_version: Optional[DocumentVersion] = None,
instance_id: Optional[InstanceId] = None,
parameters: Optional[Parameters] = None,
targets: Optional[Targets] = None,
schedule_expression: Optional[ScheduleExpression] = None,
output_location: Optional[InstanceAssociationOutputLocation] = None,
association_name: Optional[AssociationName] = None,
automation_target_parameter_name: Optional[AutomationTargetParameterName] = None,
max_errors: Optional[MaxErrors] = None,
max_concurrency: Optional[MaxConcurrency] = None,
compliance_severity: Optional[AssociationComplianceSeverity] = None,
sync_compliance: Optional[AssociationSyncCompliance] = None,
apply_only_at_cron_interval: Optional[ApplyOnlyAtCronInterval] = None,
calendar_names: Optional[CalendarNameOrARNList] = None,
target_locations: Optional[TargetLocations] = None,
schedule_offset: Optional[ScheduleOffset] = None,
duration: Optional[Duration] = None,
target_maps: Optional[TargetMaps] = None,
tags: Optional[TagList] = None,
alarm_configuration: Optional[AlarmConfiguration] = None,
association_dispatch_assume_role: Optional[AssociationDispatchAssumeRoleArn] = None,
) -> CreateAssociationResult
A State Manager association defines the state that you want to maintain on your managed nodes. For example, an association can specify that anti-virus software must be installed and running on your managed nodes, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an Amazon Web Services resource group or an Amazon Web Services autoscaling group, State Manager, a tool in 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.
Parameters:
-
name(DocumentARN) –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-nameFor example:
arn:aws:ssm:us-east-2:12345678912:document/My-Shared-DocumentFor Amazon Web Services-predefined documents and SSM documents you created in your account, you only need to specify the document name. For example,
AWS-ApplyPatchBaselineorMy-Document. -
document_version(Optional[DocumentVersion], default:None) –The document version you want to associate with the targets. Can be a specific version or the default version.
State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the
defaultversion 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 todefault. -
instance_id(Optional[InstanceId], default:None) –The managed node ID.
InstanceIdhas been deprecated. To specify a managed node ID for an association, use theTargetsparameter. Requests that include the parameterInstanceIDwith Systems Manager documents (SSM documents) that use schema version 2.0 or later will fail. In addition, if you use the parameterInstanceId, you can't use the parametersAssociationName,DocumentVersion,MaxErrors,MaxConcurrency,OutputLocation, orScheduleExpression. To use these parameters, you must use theTargetsparameter. -
parameters(Optional[Parameters], default:None) –The parameters for the runtime configuration of the document.
-
targets(Optional[Targets], default:None) –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
InstanceIdskey with a value of*. For more information about choosing targets for an association, see Understanding targets and rate controls in State Manager associations in the Amazon Web Services Systems Manager User Guide. -
schedule_expression(Optional[ScheduleExpression], default:None) –A cron expression when the association will be applied to the targets.
-
output_location(Optional[InstanceAssociationOutputLocation], default:None) –An Amazon Simple Storage Service (Amazon S3) bucket where you want to store the output details of the request.
-
association_name(Optional[AssociationName], default:None) –Specify a descriptive name for the association.
-
automation_target_parameter_name(Optional[AutomationTargetParameterName], default:None) –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 tool in Amazon Web Services Systems Manager.
-
max_errors(Optional[MaxErrors], default:None) –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
MaxErrorto 10%, then the system stops sending the request when the sixth error is received.Executions that are already running an association when
MaxErrorsis 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, setMaxConcurrencyto 1 so that executions proceed one at a time. -
max_concurrency(Optional[MaxConcurrency], default:None) –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
MaxConcurrencyassociations, the association is allowed to run. During the next association interval, the new managed node will process its association within the limit specified forMaxConcurrency. -
compliance_severity(Optional[AssociationComplianceSeverity], default:None) –The severity level to assign to the association.
-
sync_compliance(Optional[AssociationSyncCompliance], default:None) –The mode for generating association compliance. You can specify
AUTOorMANUAL. InAUTOmode, the system uses the status of the association execution to determine the compliance status. If the association execution runs successfully, then the association isCOMPLIANT. If the association execution doesn't run successfully, the association isNON-COMPLIANT.In
MANUALmode, you must specify theAssociationIdas 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
AUTOmode. -
apply_only_at_cron_interval(Optional[ApplyOnlyAtCronInterval], default:None) –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 and when target changes are detected. Specify
trueforApplyOnlyAtCronIntervalif you want the association to run only according to the schedule you specified.For more information, see Understanding when associations are applied to resources and >About target updates with Automation runbooks in the Amazon Web Services Systems Manager User Guide.
This parameter isn't supported for rate expressions.
-
calendar_names(Optional[CalendarNameOrARNList], default:None) –The names of 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 in the Amazon Web Services Systems Manager User Guide.
-
target_locations(Optional[TargetLocations], default:None) –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.
The
TargetLocationAlarmConfigurationparameter is not supported by State Manager. -
schedule_offset(Optional[ScheduleOffset], default:None) –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
ApplyOnlyAtCronIntervalparameter. This option tells the system not to run an association immediately after you create it. -
duration(Optional[Duration], default:None) –The number of hours the association can run before it is canceled. Duration applies to associations that are currently running, and any pending and in progress commands on all targets. If a target was taken offline for the association to run, it is made available again immediately, without a reboot.
The
Durationparameter applies only when both these conditions are true:-
The association for which you specify a duration is cancelable according to the parameters of the SSM command document or Automation runbook associated with this execution.
-
The command specifies the
ApplyOnlyAtCronIntervalparameter, which means that the association doesn't run immediately after it is created, but only according to the specified schedule.
-
-
target_maps(Optional[TargetMaps], default:None) –A key-value mapping of document parameters to target resources. Both Targets and TargetMaps can't be specified together.
-
tags(Optional[TagList], default:None) –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.
-
association_dispatch_assume_role(Optional[AssociationDispatchAssumeRoleArn], default:None) –A role used by association to take actions on your behalf. State Manager will assume this role and call required APIs when dispatching configurations to nodes. If not specified, service-linked role for Systems Manager will be used by default.
It is recommended that you define a custom IAM role so that you have full control of the permissions that State Manager has when taking actions on your behalf.
Service-linked role support in State Manager is being phased out. Associations relying on service-linked role may require updates in the future to continue functioning properly.
Raises:
-
AssociationAlreadyExists–The specified association already exists.
-
AssociationLimitExceeded–You can have at most 2,000 active associations.
-
InternalServerError–An error occurred on the server side.
-
InvalidDocument–The specified SSM document doesn't exist.
-
InvalidDocumentVersion–The document version isn't valid or doesn't exist.
-
InvalidInstanceId–The following problems can cause this exception:
-
You don't have permission to access the managed node.
-
Amazon Web Services Systems Manager Agent (SSM Agent) isn't running. Verify that SSM Agent is running.
-
SSM Agent isn't registered with the SSM endpoint. Try reinstalling SSM Agent.
-
The managed node isn't in a valid state. Valid states are:
Running,Pending,Stopped, andStopping. Invalid states are:Shutting-downandTerminated.
-
-
InvalidOutputLocation–The output location isn't valid or doesn't exist.
-
InvalidParameters–You must specify values for all required parameters in the Amazon Web Services Systems Manager document (SSM document). You can only supply values to parameters defined in the SSM document.
-
InvalidSchedule–The schedule is invalid. Verify your cron or rate expression and try again.
-
InvalidTag–The specified tag key or value isn't valid.
-
InvalidTarget–The target isn't valid or doesn't exist. It might not be configured for Systems Manager or you might not have permission to perform the operation.
-
InvalidTargetMaps–TargetMap parameter isn't valid.
-
UnsupportedPlatformType–The document doesn't support the platform type of the given managed node IDs. For example, you sent an document for a Windows managed node to a Linux node.
-
UnknownServiceError–The service returned an error code this client does not model.
Source code in docs_src/capo_ssm/_services/ssm.py
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 | |