Association Args
Associates an SSM Document to an instance or EC2 tag.
Example Usage
Create an association for a specific instance
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.Association;
import com.pulumi.aws.ssm.AssociationArgs;
import com.pulumi.aws.ssm.inputs.AssociationTargetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Association("example", AssociationArgs.builder()
.targets(AssociationTargetArgs.builder()
.key("InstanceIds")
.values(aws_instance.example().id())
.build())
.build());
}
}
Create an association for all managed instances in an AWS account
To target all managed instances in an AWS account, set the key
as "InstanceIds"
with values
set as ["*"]
. This example also illustrates how to use an Amazon owned SSM document named AmazonCloudWatch-ManageAgent
.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.Association;
import com.pulumi.aws.ssm.AssociationArgs;
import com.pulumi.aws.ssm.inputs.AssociationTargetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Association("example", AssociationArgs.builder()
.targets(AssociationTargetArgs.builder()
.key("InstanceIds")
.values("*")
.build())
.build());
}
}
Create an association for a specific tag
This example shows how to target all managed instances that are assigned a tag key of Environment
and value of Development
.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.Association;
import com.pulumi.aws.ssm.AssociationArgs;
import com.pulumi.aws.ssm.inputs.AssociationTargetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Association("example", AssociationArgs.builder()
.targets(AssociationTargetArgs.builder()
.key("tag:Environment")
.values("Development")
.build())
.build());
}
}
Create an association with a specific schedule
This example shows how to schedule an association in various ways.
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.Association;
import com.pulumi.aws.ssm.AssociationArgs;
import com.pulumi.aws.ssm.inputs.AssociationTargetArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Association("example", AssociationArgs.builder()
.scheduleExpression("cron(0 2 ? * SUN *)")
.targets(AssociationTargetArgs.builder()
.key("InstanceIds")
.values(aws_instance.example().id())
.build())
.build());
}
}
Import
SSM associations can be imported using the association_id
, e.g.,
$ pulumi import aws:ssm/association:Association test-association 10abcdef-0abc-1234-5678-90abcdef123456
Constructors
Properties
By default, when you create a new or update associations, the system runs it immediately and then according to the schedule you specified. Enable this option if you do not want an association to run immediately after you create or update it. This parameter is not supported for rate expressions. Default: false
.
The descriptive name for the association.
Specify the target for the association. This target is required for associations that use an Automation
document and target resources by using rate controls. This should be set to the SSM document parameter
that will define how your automation will branch out.
The compliance severity for the association. Can be one of the following: UNSPECIFIED
, LOW
, MEDIUM
, HIGH
or CRITICAL
The document version you want to associate with the target(s). Can be a specific version or the default version.
The instance ID to apply an SSM document to. Use targets
with key InstanceIds
for document schema versions 2.0 and above.
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%.
An output location block. Output Location is documented below.
A block of arbitrary string parameters to pass to the SSM document.
A cron or rate expression that specifies when the association runs.
A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets.
The number of seconds to wait for the association status to be Success
. If Success
status is not reached within the given time, create opration will fail. Output Location (output_location
) is an S3 bucket where you want to store the results of this association: