MaintenanceWindowTarget

class MaintenanceWindowTarget : KotlinCustomResource

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

Link copied to clipboard
val description: Output<String>?

The description of the maintenance window target.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

The name of the maintenance window target.

Link copied to clipboard
val ownerInformation: Output<String>?

User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val resourceType: Output<String>

The type of target being registered with the Maintenance Window. Possible values are INSTANCE and RESOURCE_GROUP.

Link copied to clipboard

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)

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard
val windowId: Output<String>

The Id of the maintenance window to register the target with.