MaintenanceWindowTargetArgs

data class MaintenanceWindowTargetArgs(val description: Output<String>? = null, val name: Output<String>? = null, val ownerInformation: Output<String>? = null, val resourceType: Output<String>? = null, val targets: Output<List<MaintenanceWindowTargetTargetArgs>>? = null, val windowId: Output<String>? = null) : ConvertibleToJava<MaintenanceWindowTargetArgs>

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

Constructors

Link copied to clipboard
constructor(description: Output<String>? = null, name: Output<String>? = null, ownerInformation: Output<String>? = null, resourceType: Output<String>? = null, targets: Output<List<MaintenanceWindowTargetTargetArgs>>? = null, windowId: Output<String>? = null)

Properties

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

The description of the maintenance window target.

Link copied to clipboard
val name: Output<String>? = null

The name of the maintenance window target.

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

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 resourceType: Output<String>? = null

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 windowId: Output<String>? = null

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

Functions

Link copied to clipboard
open override fun toJava(): MaintenanceWindowTargetArgs