Maintenance Window Target Args
Provides an SSM Maintenance Window Target resource
Example Usage
Instance Target
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const window = new aws.ssm.MaintenanceWindow("window", {
name: "maintenance-window-webapp",
schedule: "cron(0 16 ? * TUE *)",
duration: 3,
cutoff: 1,
});
const target1 = new aws.ssm.MaintenanceWindowTarget("target1", {
windowId: window.id,
name: "maintenance-window-target",
description: "This is a maintenance window target",
resourceType: "INSTANCE",
targets: [{
key: "tag:Name",
values: ["acceptance_test"],
}],
});
import pulumi
import pulumi_aws as aws
window = aws.ssm.MaintenanceWindow("window",
name="maintenance-window-webapp",
schedule="cron(0 16 ? * TUE *)",
duration=3,
cutoff=1)
target1 = aws.ssm.MaintenanceWindowTarget("target1",
window_id=window.id,
name="maintenance-window-target",
description="This is a maintenance window target",
resource_type="INSTANCE",
targets=[{
"key": "tag:Name",
"values": ["acceptance_test"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var window = new Aws.Ssm.MaintenanceWindow("window", new()
{
Name = "maintenance-window-webapp",
Schedule = "cron(0 16 ? * TUE *)",
Duration = 3,
Cutoff = 1,
});
var target1 = new Aws.Ssm.MaintenanceWindowTarget("target1", new()
{
WindowId = window.Id,
Name = "maintenance-window-target",
Description = "This is a maintenance window target",
ResourceType = "INSTANCE",
Targets = new[]
{
new Aws.Ssm.Inputs.MaintenanceWindowTargetTargetArgs
{
Key = "tag:Name",
Values = new[]
{
"acceptance_test",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
window, err := ssm.NewMaintenanceWindow(ctx, "window", &ssm.MaintenanceWindowArgs{
Name: pulumi.String("maintenance-window-webapp"),
Schedule: pulumi.String("cron(0 16 ? * TUE *)"),
Duration: pulumi.Int(3),
Cutoff: pulumi.Int(1),
})
if err != nil {
return err
}
_, err = ssm.NewMaintenanceWindowTarget(ctx, "target1", &ssm.MaintenanceWindowTargetArgs{
WindowId: window.ID(),
Name: pulumi.String("maintenance-window-target"),
Description: pulumi.String("This is a maintenance window target"),
ResourceType: pulumi.String("INSTANCE"),
Targets: ssm.MaintenanceWindowTargetTargetArray{
&ssm.MaintenanceWindowTargetTargetArgs{
Key: pulumi.String("tag:Name"),
Values: pulumi.StringArray{
pulumi.String("acceptance_test"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.MaintenanceWindow;
import com.pulumi.aws.ssm.MaintenanceWindowArgs;
import com.pulumi.aws.ssm.MaintenanceWindowTarget;
import com.pulumi.aws.ssm.MaintenanceWindowTargetArgs;
import com.pulumi.aws.ssm.inputs.MaintenanceWindowTargetTargetArgs;
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 window = new MaintenanceWindow("window", MaintenanceWindowArgs.builder()
.name("maintenance-window-webapp")
.schedule("cron(0 16 ? * TUE *)")
.duration(3)
.cutoff(1)
.build());
var target1 = new MaintenanceWindowTarget("target1", MaintenanceWindowTargetArgs.builder()
.windowId(window.id())
.name("maintenance-window-target")
.description("This is a maintenance window target")
.resourceType("INSTANCE")
.targets(MaintenanceWindowTargetTargetArgs.builder()
.key("tag:Name")
.values("acceptance_test")
.build())
.build());
}
}
resources:
window:
type: aws:ssm:MaintenanceWindow
properties:
name: maintenance-window-webapp
schedule: cron(0 16 ? * TUE *)
duration: 3
cutoff: 1
target1:
type: aws:ssm:MaintenanceWindowTarget
properties:
windowId: ${window.id}
name: maintenance-window-target
description: This is a maintenance window target
resourceType: INSTANCE
targets:
- key: tag:Name
values:
- acceptance_test
Resource Group Target
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const window = new aws.ssm.MaintenanceWindow("window", {
name: "maintenance-window-webapp",
schedule: "cron(0 16 ? * TUE *)",
duration: 3,
cutoff: 1,
});
const target1 = new aws.ssm.MaintenanceWindowTarget("target1", {
windowId: window.id,
name: "maintenance-window-target",
description: "This is a maintenance window target",
resourceType: "RESOURCE_GROUP",
targets: [{
key: "resource-groups:ResourceTypeFilters",
values: ["AWS::EC2::Instance"],
}],
});
import pulumi
import pulumi_aws as aws
window = aws.ssm.MaintenanceWindow("window",
name="maintenance-window-webapp",
schedule="cron(0 16 ? * TUE *)",
duration=3,
cutoff=1)
target1 = aws.ssm.MaintenanceWindowTarget("target1",
window_id=window.id,
name="maintenance-window-target",
description="This is a maintenance window target",
resource_type="RESOURCE_GROUP",
targets=[{
"key": "resource-groups:ResourceTypeFilters",
"values": ["AWS::EC2::Instance"],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var window = new Aws.Ssm.MaintenanceWindow("window", new()
{
Name = "maintenance-window-webapp",
Schedule = "cron(0 16 ? * TUE *)",
Duration = 3,
Cutoff = 1,
});
var target1 = new Aws.Ssm.MaintenanceWindowTarget("target1", new()
{
WindowId = window.Id,
Name = "maintenance-window-target",
Description = "This is a maintenance window target",
ResourceType = "RESOURCE_GROUP",
Targets = new[]
{
new Aws.Ssm.Inputs.MaintenanceWindowTargetTargetArgs
{
Key = "resource-groups:ResourceTypeFilters",
Values = new[]
{
"AWS::EC2::Instance",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
window, err := ssm.NewMaintenanceWindow(ctx, "window", &ssm.MaintenanceWindowArgs{
Name: pulumi.String("maintenance-window-webapp"),
Schedule: pulumi.String("cron(0 16 ? * TUE *)"),
Duration: pulumi.Int(3),
Cutoff: pulumi.Int(1),
})
if err != nil {
return err
}
_, err = ssm.NewMaintenanceWindowTarget(ctx, "target1", &ssm.MaintenanceWindowTargetArgs{
WindowId: window.ID(),
Name: pulumi.String("maintenance-window-target"),
Description: pulumi.String("This is a maintenance window target"),
ResourceType: pulumi.String("RESOURCE_GROUP"),
Targets: ssm.MaintenanceWindowTargetTargetArray{
&ssm.MaintenanceWindowTargetTargetArgs{
Key: pulumi.String("resource-groups:ResourceTypeFilters"),
Values: pulumi.StringArray{
pulumi.String("AWS::EC2::Instance"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.MaintenanceWindow;
import com.pulumi.aws.ssm.MaintenanceWindowArgs;
import com.pulumi.aws.ssm.MaintenanceWindowTarget;
import com.pulumi.aws.ssm.MaintenanceWindowTargetArgs;
import com.pulumi.aws.ssm.inputs.MaintenanceWindowTargetTargetArgs;
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 window = new MaintenanceWindow("window", MaintenanceWindowArgs.builder()
.name("maintenance-window-webapp")
.schedule("cron(0 16 ? * TUE *)")
.duration(3)
.cutoff(1)
.build());
var target1 = new MaintenanceWindowTarget("target1", MaintenanceWindowTargetArgs.builder()
.windowId(window.id())
.name("maintenance-window-target")
.description("This is a maintenance window target")
.resourceType("RESOURCE_GROUP")
.targets(MaintenanceWindowTargetTargetArgs.builder()
.key("resource-groups:ResourceTypeFilters")
.values("AWS::EC2::Instance")
.build())
.build());
}
}
resources:
window:
type: aws:ssm:MaintenanceWindow
properties:
name: maintenance-window-webapp
schedule: cron(0 16 ? * TUE *)
duration: 3
cutoff: 1
target1:
type: aws:ssm:MaintenanceWindowTarget
properties:
windowId: ${window.id}
name: maintenance-window-target
description: This is a maintenance window target
resourceType: RESOURCE_GROUP
targets:
- key: resource-groups:ResourceTypeFilters
values:
- AWS::EC2::Instance
Import
Using pulumi import
, import SSM Maintenance Window targets using WINDOW_ID/WINDOW_TARGET_ID
. For example:
$ pulumi import aws:ssm/maintenanceWindowTarget:MaintenanceWindowTarget example mw-0c50858d01EXAMPLE/23639a0b-ddbc-4bca-9e72-78d96EXAMPLE
Properties
The description of the maintenance window target.
User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.
The type of target being registered with the Maintenance Window. Possible values are INSTANCE
and RESOURCE_GROUP
.
The targets to register with the maintenance window. In other words, the instances to run commands on when the maintenance window runs. You can specify targets using instance IDs, resource group names, or tags that have been applied to instances. For more information about these examples formats see (https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html)