cloudwatch

package
v2.13.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2020 License: Apache-2.0 Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Dashboard

type Dashboard struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) of the dashboard.
	DashboardArn pulumi.StringOutput `pulumi:"dashboardArn"`
	// The detailed information about the dashboard, including what widgets are included and their location on the dashboard. You can read more about the body structure in the [documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html).
	DashboardBody pulumi.StringOutput `pulumi:"dashboardBody"`
	// The name of the dashboard.
	DashboardName pulumi.StringOutput `pulumi:"dashboardName"`
}

Provides a CloudWatch Dashboard resource.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewDashboard(ctx, "main", &cloudwatch.DashboardArgs{
			DashboardBody: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", " {\n", "   \"widgets\": [\n", "       {\n", "          \"type\":\"metric\",\n", "          \"x\":0,\n", "          \"y\":0,\n", "          \"width\":12,\n", "          \"height\":6,\n", "          \"properties\":{\n", "             \"metrics\":[\n", "                [\n", "                   \"AWS/EC2\",\n", "                   \"CPUUtilization\",\n", "                   \"InstanceId\",\n", "                   \"i-012345\"\n", "                ]\n", "             ],\n", "             \"period\":300,\n", "             \"stat\":\"Average\",\n", "             \"region\":\"us-east-1\",\n", "             \"title\":\"EC2 Instance CPU\"\n", "          }\n", "       },\n", "       {\n", "          \"type\":\"text\",\n", "          \"x\":0,\n", "          \"y\":7,\n", "          \"width\":3,\n", "          \"height\":3,\n", "          \"properties\":{\n", "             \"markdown\":\"Hello world\"\n", "          }\n", "       }\n", "   ]\n", " }\n", " \n")),
			DashboardName: pulumi.String("my-dashboard"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetDashboard

func GetDashboard(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DashboardState, opts ...pulumi.ResourceOption) (*Dashboard, error)

GetDashboard gets an existing Dashboard resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDashboard

func NewDashboard(ctx *pulumi.Context,
	name string, args *DashboardArgs, opts ...pulumi.ResourceOption) (*Dashboard, error)

NewDashboard registers a new resource with the given unique name, arguments, and options.

type DashboardArgs

type DashboardArgs struct {
	// The detailed information about the dashboard, including what widgets are included and their location on the dashboard. You can read more about the body structure in the [documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html).
	DashboardBody pulumi.StringInput
	// The name of the dashboard.
	DashboardName pulumi.StringInput
}

The set of arguments for constructing a Dashboard resource.

func (DashboardArgs) ElementType

func (DashboardArgs) ElementType() reflect.Type

type DashboardState

type DashboardState struct {
	// The Amazon Resource Name (ARN) of the dashboard.
	DashboardArn pulumi.StringPtrInput
	// The detailed information about the dashboard, including what widgets are included and their location on the dashboard. You can read more about the body structure in the [documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/CloudWatch-Dashboard-Body-Structure.html).
	DashboardBody pulumi.StringPtrInput
	// The name of the dashboard.
	DashboardName pulumi.StringPtrInput
}

func (DashboardState) ElementType

func (DashboardState) ElementType() reflect.Type

type EventPermission

type EventPermission struct {
	pulumi.CustomResourceState

	// The action that you are enabling the other account to perform. Defaults to `events:PutEvents`.
	Action pulumi.StringPtrOutput `pulumi:"action"`
	// Configuration block to limit the event bus permissions you are granting to only accounts that fulfill the condition. Specified below.
	Condition EventPermissionConditionPtrOutput `pulumi:"condition"`
	// The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify `*` to permit any account to put events to your default event bus, optionally limited by `condition`.
	Principal pulumi.StringOutput `pulumi:"principal"`
	// An identifier string for the external account that you are granting permissions to.
	StatementId pulumi.StringOutput `pulumi:"statementId"`
}

Provides a resource to create a CloudWatch Events permission to support cross-account events in the current account default event bus.

## Example Usage ### Account Access

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewEventPermission(ctx, "devAccountAccess", &cloudwatch.EventPermissionArgs{
			Principal:   pulumi.String("123456789012"),
			StatementId: pulumi.String("DevAccountAccess"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Organization Access

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewEventPermission(ctx, "organizationAccess", &cloudwatch.EventPermissionArgs{
			Condition: &cloudwatch.EventPermissionConditionArgs{
				Key:   pulumi.String("aws:PrincipalOrgID"),
				Type:  pulumi.String("StringEquals"),
				Value: pulumi.String(aws_organizations_organization.Example.Id),
			},
			Principal:   pulumi.String("*"),
			StatementId: pulumi.String("OrganizationAccess"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetEventPermission

func GetEventPermission(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventPermissionState, opts ...pulumi.ResourceOption) (*EventPermission, error)

GetEventPermission gets an existing EventPermission resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventPermission

func NewEventPermission(ctx *pulumi.Context,
	name string, args *EventPermissionArgs, opts ...pulumi.ResourceOption) (*EventPermission, error)

NewEventPermission registers a new resource with the given unique name, arguments, and options.

type EventPermissionArgs

type EventPermissionArgs struct {
	// The action that you are enabling the other account to perform. Defaults to `events:PutEvents`.
	Action pulumi.StringPtrInput
	// Configuration block to limit the event bus permissions you are granting to only accounts that fulfill the condition. Specified below.
	Condition EventPermissionConditionPtrInput
	// The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify `*` to permit any account to put events to your default event bus, optionally limited by `condition`.
	Principal pulumi.StringInput
	// An identifier string for the external account that you are granting permissions to.
	StatementId pulumi.StringInput
}

The set of arguments for constructing a EventPermission resource.

func (EventPermissionArgs) ElementType

func (EventPermissionArgs) ElementType() reflect.Type

type EventPermissionCondition

type EventPermissionCondition struct {
	// Key for the condition. Valid values: `aws:PrincipalOrgID`.
	Key string `pulumi:"key"`
	// Type of condition. Value values: `StringEquals`.
	Type string `pulumi:"type"`
	// Value for the key.
	Value string `pulumi:"value"`
}

type EventPermissionConditionArgs

type EventPermissionConditionArgs struct {
	// Key for the condition. Valid values: `aws:PrincipalOrgID`.
	Key pulumi.StringInput `pulumi:"key"`
	// Type of condition. Value values: `StringEquals`.
	Type pulumi.StringInput `pulumi:"type"`
	// Value for the key.
	Value pulumi.StringInput `pulumi:"value"`
}

func (EventPermissionConditionArgs) ElementType

func (EventPermissionConditionArgs) ToEventPermissionConditionOutput

func (i EventPermissionConditionArgs) ToEventPermissionConditionOutput() EventPermissionConditionOutput

func (EventPermissionConditionArgs) ToEventPermissionConditionOutputWithContext

func (i EventPermissionConditionArgs) ToEventPermissionConditionOutputWithContext(ctx context.Context) EventPermissionConditionOutput

func (EventPermissionConditionArgs) ToEventPermissionConditionPtrOutput

func (i EventPermissionConditionArgs) ToEventPermissionConditionPtrOutput() EventPermissionConditionPtrOutput

func (EventPermissionConditionArgs) ToEventPermissionConditionPtrOutputWithContext

func (i EventPermissionConditionArgs) ToEventPermissionConditionPtrOutputWithContext(ctx context.Context) EventPermissionConditionPtrOutput

type EventPermissionConditionInput

type EventPermissionConditionInput interface {
	pulumi.Input

	ToEventPermissionConditionOutput() EventPermissionConditionOutput
	ToEventPermissionConditionOutputWithContext(context.Context) EventPermissionConditionOutput
}

EventPermissionConditionInput is an input type that accepts EventPermissionConditionArgs and EventPermissionConditionOutput values. You can construct a concrete instance of `EventPermissionConditionInput` via:

EventPermissionConditionArgs{...}

type EventPermissionConditionOutput

type EventPermissionConditionOutput struct{ *pulumi.OutputState }

func (EventPermissionConditionOutput) ElementType

func (EventPermissionConditionOutput) Key

Key for the condition. Valid values: `aws:PrincipalOrgID`.

func (EventPermissionConditionOutput) ToEventPermissionConditionOutput

func (o EventPermissionConditionOutput) ToEventPermissionConditionOutput() EventPermissionConditionOutput

func (EventPermissionConditionOutput) ToEventPermissionConditionOutputWithContext

func (o EventPermissionConditionOutput) ToEventPermissionConditionOutputWithContext(ctx context.Context) EventPermissionConditionOutput

func (EventPermissionConditionOutput) ToEventPermissionConditionPtrOutput

func (o EventPermissionConditionOutput) ToEventPermissionConditionPtrOutput() EventPermissionConditionPtrOutput

func (EventPermissionConditionOutput) ToEventPermissionConditionPtrOutputWithContext

func (o EventPermissionConditionOutput) ToEventPermissionConditionPtrOutputWithContext(ctx context.Context) EventPermissionConditionPtrOutput

func (EventPermissionConditionOutput) Type

Type of condition. Value values: `StringEquals`.

func (EventPermissionConditionOutput) Value

Value for the key.

type EventPermissionConditionPtrInput

type EventPermissionConditionPtrInput interface {
	pulumi.Input

	ToEventPermissionConditionPtrOutput() EventPermissionConditionPtrOutput
	ToEventPermissionConditionPtrOutputWithContext(context.Context) EventPermissionConditionPtrOutput
}

EventPermissionConditionPtrInput is an input type that accepts EventPermissionConditionArgs, EventPermissionConditionPtr and EventPermissionConditionPtrOutput values. You can construct a concrete instance of `EventPermissionConditionPtrInput` via:

        EventPermissionConditionArgs{...}

or:

        nil

type EventPermissionConditionPtrOutput

type EventPermissionConditionPtrOutput struct{ *pulumi.OutputState }

func (EventPermissionConditionPtrOutput) Elem

func (EventPermissionConditionPtrOutput) ElementType

func (EventPermissionConditionPtrOutput) Key

Key for the condition. Valid values: `aws:PrincipalOrgID`.

func (EventPermissionConditionPtrOutput) ToEventPermissionConditionPtrOutput

func (o EventPermissionConditionPtrOutput) ToEventPermissionConditionPtrOutput() EventPermissionConditionPtrOutput

func (EventPermissionConditionPtrOutput) ToEventPermissionConditionPtrOutputWithContext

func (o EventPermissionConditionPtrOutput) ToEventPermissionConditionPtrOutputWithContext(ctx context.Context) EventPermissionConditionPtrOutput

func (EventPermissionConditionPtrOutput) Type

Type of condition. Value values: `StringEquals`.

func (EventPermissionConditionPtrOutput) Value

Value for the key.

type EventPermissionState

type EventPermissionState struct {
	// The action that you are enabling the other account to perform. Defaults to `events:PutEvents`.
	Action pulumi.StringPtrInput
	// Configuration block to limit the event bus permissions you are granting to only accounts that fulfill the condition. Specified below.
	Condition EventPermissionConditionPtrInput
	// The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify `*` to permit any account to put events to your default event bus, optionally limited by `condition`.
	Principal pulumi.StringPtrInput
	// An identifier string for the external account that you are granting permissions to.
	StatementId pulumi.StringPtrInput
}

func (EventPermissionState) ElementType

func (EventPermissionState) ElementType() reflect.Type

type EventRule

type EventRule struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) of the rule.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the rule.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Event pattern
	// described a JSON object.
	// See full documentation of [CloudWatch Events and Event Patterns](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CloudWatchEventsandEventPatterns.html) for details.
	EventPattern pulumi.StringPtrOutput `pulumi:"eventPattern"`
	// Whether the rule should be enabled (defaults to `true`).
	IsEnabled pulumi.BoolPtrOutput `pulumi:"isEnabled"`
	// The rule's name. By default generated by this provider.
	Name pulumi.StringOutput `pulumi:"name"`
	// The rule's name. Conflicts with `name`.
	NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"`
	// The Amazon Resource Name (ARN) associated with the role that is used for target invocation.
	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
	// The scheduling expression.
	// For example, `cron(0 20 * * ? *)` or `rate(5 minutes)`.
	ScheduleExpression pulumi.StringPtrOutput `pulumi:"scheduleExpression"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a CloudWatch Event Rule resource.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/sns"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		console, err := cloudwatch.NewEventRule(ctx, "console", &cloudwatch.EventRuleArgs{
			Description:  pulumi.String("Capture each AWS Console Sign In"),
			EventPattern: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v", "{\n", "  \"detail-type\": [\n", "    \"AWS Console Sign In via CloudTrail\"\n", "  ]\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		awsLogins, err := sns.NewTopic(ctx, "awsLogins", nil)
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewEventTarget(ctx, "sns", &cloudwatch.EventTargetArgs{
			Arn:  awsLogins.Arn,
			Rule: console.Name,
		})
		if err != nil {
			return err
		}
		_, err = sns.NewTopicPolicy(ctx, "_default", &sns.TopicPolicyArgs{
			Arn: awsLogins.Arn,
			Policy: snsTopicPolicy.ApplyT(func(snsTopicPolicy iam.GetPolicyDocumentResult) (string, error) {
				return snsTopicPolicy.Json, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetEventRule

func GetEventRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventRuleState, opts ...pulumi.ResourceOption) (*EventRule, error)

GetEventRule gets an existing EventRule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventRule

func NewEventRule(ctx *pulumi.Context,
	name string, args *EventRuleArgs, opts ...pulumi.ResourceOption) (*EventRule, error)

NewEventRule registers a new resource with the given unique name, arguments, and options.

type EventRuleArgs

type EventRuleArgs struct {
	// The description of the rule.
	Description pulumi.StringPtrInput
	// Event pattern
	// described a JSON object.
	// See full documentation of [CloudWatch Events and Event Patterns](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CloudWatchEventsandEventPatterns.html) for details.
	EventPattern pulumi.StringPtrInput
	// Whether the rule should be enabled (defaults to `true`).
	IsEnabled pulumi.BoolPtrInput
	// The rule's name. By default generated by this provider.
	Name pulumi.StringPtrInput
	// The rule's name. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) associated with the role that is used for target invocation.
	RoleArn pulumi.StringPtrInput
	// The scheduling expression.
	// For example, `cron(0 20 * * ? *)` or `rate(5 minutes)`.
	ScheduleExpression pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a EventRule resource.

func (EventRuleArgs) ElementType

func (EventRuleArgs) ElementType() reflect.Type

type EventRuleState

type EventRuleState struct {
	// The Amazon Resource Name (ARN) of the rule.
	Arn pulumi.StringPtrInput
	// The description of the rule.
	Description pulumi.StringPtrInput
	// Event pattern
	// described a JSON object.
	// See full documentation of [CloudWatch Events and Event Patterns](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CloudWatchEventsandEventPatterns.html) for details.
	EventPattern pulumi.StringPtrInput
	// Whether the rule should be enabled (defaults to `true`).
	IsEnabled pulumi.BoolPtrInput
	// The rule's name. By default generated by this provider.
	Name pulumi.StringPtrInput
	// The rule's name. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// The Amazon Resource Name (ARN) associated with the role that is used for target invocation.
	RoleArn pulumi.StringPtrInput
	// The scheduling expression.
	// For example, `cron(0 20 * * ? *)` or `rate(5 minutes)`.
	ScheduleExpression pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (EventRuleState) ElementType

func (EventRuleState) ElementType() reflect.Type

type EventTarget

type EventTarget struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) associated of the target.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Parameters used when you are using the rule to invoke an Amazon Batch Job. Documented below. A maximum of 1 are allowed.
	BatchTarget EventTargetBatchTargetPtrOutput `pulumi:"batchTarget"`
	// Parameters used when you are using the rule to invoke Amazon ECS Task. Documented below. A maximum of 1 are allowed.
	EcsTarget EventTargetEcsTargetPtrOutput `pulumi:"ecsTarget"`
	// Valid JSON text passed to the target.
	Input pulumi.StringPtrOutput `pulumi:"input"`
	// The value of the [JSONPath](http://goessner.net/articles/JsonPath/)
	// that is used for extracting part of the matched event when passing it to the target.
	InputPath pulumi.StringPtrOutput `pulumi:"inputPath"`
	// Parameters used when you are providing a custom input to a target based on certain event data.
	InputTransformer EventTargetInputTransformerPtrOutput `pulumi:"inputTransformer"`
	// Parameters used when you are using the rule to invoke an Amazon Kinesis Stream. Documented below. A maximum of 1 are allowed.
	KinesisTarget EventTargetKinesisTargetPtrOutput `pulumi:"kinesisTarget"`
	// The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. Required if `ecsTarget` is used.
	RoleArn pulumi.StringPtrOutput `pulumi:"roleArn"`
	// The name of the rule you want to add targets to.
	Rule pulumi.StringOutput `pulumi:"rule"`
	// Parameters used when you are using the rule to invoke Amazon EC2 Run Command. Documented below. A maximum of 5 are allowed.
	RunCommandTargets EventTargetRunCommandTargetArrayOutput `pulumi:"runCommandTargets"`
	// Parameters used when you are using the rule to invoke an Amazon SQS Queue. Documented below. A maximum of 1 are allowed.
	SqsTarget EventTargetSqsTargetPtrOutput `pulumi:"sqsTarget"`
	// The unique target assignment ID.  If missing, will generate a random, unique id.
	TargetId pulumi.StringOutput `pulumi:"targetId"`
}

Provides a CloudWatch Event Target resource.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/kinesis"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		console, err := cloudwatch.NewEventRule(ctx, "console", &cloudwatch.EventRuleArgs{
			Description:  pulumi.String("Capture all EC2 scaling events"),
			EventPattern: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"source\": [\n", "    \"aws.autoscaling\"\n", "  ],\n", "  \"detail-type\": [\n", "    \"EC2 Instance Launch Successful\",\n", "    \"EC2 Instance Terminate Successful\",\n", "    \"EC2 Instance Launch Unsuccessful\",\n", "    \"EC2 Instance Terminate Unsuccessful\"\n", "  ]\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		testStream, err := kinesis.NewStream(ctx, "testStream", &kinesis.StreamArgs{
			ShardCount: pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewEventTarget(ctx, "yada", &cloudwatch.EventTargetArgs{
			Arn:  testStream.Arn,
			Rule: console.Name,
			RunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{
				&cloudwatch.EventTargetRunCommandTargetArgs{
					Key: pulumi.String("tag:Name"),
					Values: pulumi.StringArray{
						pulumi.String("FooBar"),
					},
				},
				&cloudwatch.EventTargetRunCommandTargetArgs{
					Key: pulumi.String("InstanceIds"),
					Values: pulumi.StringArray{
						pulumi.String("i-162058cd308bffec2"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Example SSM Document Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		ssmLifecycleTrust, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				iam.GetPolicyDocumentStatement{
					Actions: []string{
						"sts:AssumeRole",
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Identifiers: []string{
								"events.amazonaws.com",
							},
							Type: "Service",
						},
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		stopInstance, err := ssm.NewDocument(ctx, "stopInstance", &ssm.DocumentArgs{
			Content:      pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "  {\n", "    \"schemaVersion\": \"1.2\",\n", "    \"description\": \"Stop an instance\",\n", "    \"parameters\": {\n", "\n", "    },\n", "    \"runtimeConfig\": {\n", "      \"aws:runShellScript\": {\n", "        \"properties\": [\n", "          {\n", "            \"id\": \"0.aws:runShellScript\",\n", "            \"runCommand\": [\"halt\"]\n", "          }\n", "        ]\n", "      }\n", "    }\n", "  }\n", "\n")),
			DocumentType: pulumi.String("Command"),
		})
		if err != nil {
			return err
		}
		ssmLifecycleRole, err := iam.NewRole(ctx, "ssmLifecycleRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(ssmLifecycleTrust.Json),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewPolicy(ctx, "ssmLifecyclePolicy", &iam.PolicyArgs{
			Policy: ssmLifecyclePolicyDocument.ApplyT(func(ssmLifecyclePolicyDocument iam.GetPolicyDocumentResult) (string, error) {
				return ssmLifecyclePolicyDocument.Json, nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		stopInstancesEventRule, err := cloudwatch.NewEventRule(ctx, "stopInstancesEventRule", &cloudwatch.EventRuleArgs{
			Description:        pulumi.String("Stop instances nightly"),
			ScheduleExpression: pulumi.String("cron(0 0 * * ? *)"),
		})
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewEventTarget(ctx, "stopInstancesEventTarget", &cloudwatch.EventTargetArgs{
			Arn:     stopInstance.Arn,
			RoleArn: ssmLifecycleRole.Arn,
			Rule:    stopInstancesEventRule.Name,
			RunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{
				&cloudwatch.EventTargetRunCommandTargetArgs{
					Key: pulumi.String("tag:Terminate"),
					Values: pulumi.StringArray{
						pulumi.String("midnight"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Example RunCommand Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		stopInstancesEventRule, err := cloudwatch.NewEventRule(ctx, "stopInstancesEventRule", &cloudwatch.EventRuleArgs{
			Description:        pulumi.String("Stop instances nightly"),
			ScheduleExpression: pulumi.String("cron(0 0 * * ? *)"),
		})
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewEventTarget(ctx, "stopInstancesEventTarget", &cloudwatch.EventTargetArgs{
			Arn:     pulumi.String(fmt.Sprintf("%v%v%v", "arn:aws:ssm:", _var.Aws_region, "::document/AWS-RunShellScript")),
			Input:   pulumi.String("{\"commands\":[\"halt\"]}"),
			RoleArn: pulumi.String(aws_iam_role.Ssm_lifecycle.Arn),
			Rule:    stopInstancesEventRule.Name,
			RunCommandTargets: cloudwatch.EventTargetRunCommandTargetArray{
				&cloudwatch.EventTargetRunCommandTargetArgs{
					Key: pulumi.String("tag:Terminate"),
					Values: pulumi.StringArray{
						pulumi.String("midnight"),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetEventTarget

func GetEventTarget(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EventTargetState, opts ...pulumi.ResourceOption) (*EventTarget, error)

GetEventTarget gets an existing EventTarget resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewEventTarget

func NewEventTarget(ctx *pulumi.Context,
	name string, args *EventTargetArgs, opts ...pulumi.ResourceOption) (*EventTarget, error)

NewEventTarget registers a new resource with the given unique name, arguments, and options.

type EventTargetArgs

type EventTargetArgs struct {
	// The Amazon Resource Name (ARN) associated of the target.
	Arn pulumi.StringInput
	// Parameters used when you are using the rule to invoke an Amazon Batch Job. Documented below. A maximum of 1 are allowed.
	BatchTarget EventTargetBatchTargetPtrInput
	// Parameters used when you are using the rule to invoke Amazon ECS Task. Documented below. A maximum of 1 are allowed.
	EcsTarget EventTargetEcsTargetPtrInput
	// Valid JSON text passed to the target.
	Input pulumi.StringPtrInput
	// The value of the [JSONPath](http://goessner.net/articles/JsonPath/)
	// that is used for extracting part of the matched event when passing it to the target.
	InputPath pulumi.StringPtrInput
	// Parameters used when you are providing a custom input to a target based on certain event data.
	InputTransformer EventTargetInputTransformerPtrInput
	// Parameters used when you are using the rule to invoke an Amazon Kinesis Stream. Documented below. A maximum of 1 are allowed.
	KinesisTarget EventTargetKinesisTargetPtrInput
	// The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. Required if `ecsTarget` is used.
	RoleArn pulumi.StringPtrInput
	// The name of the rule you want to add targets to.
	Rule pulumi.StringInput
	// Parameters used when you are using the rule to invoke Amazon EC2 Run Command. Documented below. A maximum of 5 are allowed.
	RunCommandTargets EventTargetRunCommandTargetArrayInput
	// Parameters used when you are using the rule to invoke an Amazon SQS Queue. Documented below. A maximum of 1 are allowed.
	SqsTarget EventTargetSqsTargetPtrInput
	// The unique target assignment ID.  If missing, will generate a random, unique id.
	TargetId pulumi.StringPtrInput
}

The set of arguments for constructing a EventTarget resource.

func (EventTargetArgs) ElementType

func (EventTargetArgs) ElementType() reflect.Type

type EventTargetBatchTarget

type EventTargetBatchTarget struct {
	// The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.
	ArraySize *int `pulumi:"arraySize"`
	// The number of times to attempt to retry, if the job fails. Valid values are 1 to 10.
	JobAttempts *int `pulumi:"jobAttempts"`
	// The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.
	JobDefinition string `pulumi:"jobDefinition"`
	// The name to use for this execution of the job, if the target is an AWS Batch job.
	JobName string `pulumi:"jobName"`
}

type EventTargetBatchTargetArgs

type EventTargetBatchTargetArgs struct {
	// The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.
	ArraySize pulumi.IntPtrInput `pulumi:"arraySize"`
	// The number of times to attempt to retry, if the job fails. Valid values are 1 to 10.
	JobAttempts pulumi.IntPtrInput `pulumi:"jobAttempts"`
	// The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.
	JobDefinition pulumi.StringInput `pulumi:"jobDefinition"`
	// The name to use for this execution of the job, if the target is an AWS Batch job.
	JobName pulumi.StringInput `pulumi:"jobName"`
}

func (EventTargetBatchTargetArgs) ElementType

func (EventTargetBatchTargetArgs) ElementType() reflect.Type

func (EventTargetBatchTargetArgs) ToEventTargetBatchTargetOutput

func (i EventTargetBatchTargetArgs) ToEventTargetBatchTargetOutput() EventTargetBatchTargetOutput

func (EventTargetBatchTargetArgs) ToEventTargetBatchTargetOutputWithContext

func (i EventTargetBatchTargetArgs) ToEventTargetBatchTargetOutputWithContext(ctx context.Context) EventTargetBatchTargetOutput

func (EventTargetBatchTargetArgs) ToEventTargetBatchTargetPtrOutput

func (i EventTargetBatchTargetArgs) ToEventTargetBatchTargetPtrOutput() EventTargetBatchTargetPtrOutput

func (EventTargetBatchTargetArgs) ToEventTargetBatchTargetPtrOutputWithContext

func (i EventTargetBatchTargetArgs) ToEventTargetBatchTargetPtrOutputWithContext(ctx context.Context) EventTargetBatchTargetPtrOutput

type EventTargetBatchTargetInput

type EventTargetBatchTargetInput interface {
	pulumi.Input

	ToEventTargetBatchTargetOutput() EventTargetBatchTargetOutput
	ToEventTargetBatchTargetOutputWithContext(context.Context) EventTargetBatchTargetOutput
}

EventTargetBatchTargetInput is an input type that accepts EventTargetBatchTargetArgs and EventTargetBatchTargetOutput values. You can construct a concrete instance of `EventTargetBatchTargetInput` via:

EventTargetBatchTargetArgs{...}

type EventTargetBatchTargetOutput

type EventTargetBatchTargetOutput struct{ *pulumi.OutputState }

func (EventTargetBatchTargetOutput) ArraySize

The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.

func (EventTargetBatchTargetOutput) ElementType

func (EventTargetBatchTargetOutput) JobAttempts

The number of times to attempt to retry, if the job fails. Valid values are 1 to 10.

func (EventTargetBatchTargetOutput) JobDefinition

The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.

func (EventTargetBatchTargetOutput) JobName

The name to use for this execution of the job, if the target is an AWS Batch job.

func (EventTargetBatchTargetOutput) ToEventTargetBatchTargetOutput

func (o EventTargetBatchTargetOutput) ToEventTargetBatchTargetOutput() EventTargetBatchTargetOutput

func (EventTargetBatchTargetOutput) ToEventTargetBatchTargetOutputWithContext

func (o EventTargetBatchTargetOutput) ToEventTargetBatchTargetOutputWithContext(ctx context.Context) EventTargetBatchTargetOutput

func (EventTargetBatchTargetOutput) ToEventTargetBatchTargetPtrOutput

func (o EventTargetBatchTargetOutput) ToEventTargetBatchTargetPtrOutput() EventTargetBatchTargetPtrOutput

func (EventTargetBatchTargetOutput) ToEventTargetBatchTargetPtrOutputWithContext

func (o EventTargetBatchTargetOutput) ToEventTargetBatchTargetPtrOutputWithContext(ctx context.Context) EventTargetBatchTargetPtrOutput

type EventTargetBatchTargetPtrInput

type EventTargetBatchTargetPtrInput interface {
	pulumi.Input

	ToEventTargetBatchTargetPtrOutput() EventTargetBatchTargetPtrOutput
	ToEventTargetBatchTargetPtrOutputWithContext(context.Context) EventTargetBatchTargetPtrOutput
}

EventTargetBatchTargetPtrInput is an input type that accepts EventTargetBatchTargetArgs, EventTargetBatchTargetPtr and EventTargetBatchTargetPtrOutput values. You can construct a concrete instance of `EventTargetBatchTargetPtrInput` via:

        EventTargetBatchTargetArgs{...}

or:

        nil

type EventTargetBatchTargetPtrOutput

type EventTargetBatchTargetPtrOutput struct{ *pulumi.OutputState }

func (EventTargetBatchTargetPtrOutput) ArraySize

The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.

func (EventTargetBatchTargetPtrOutput) Elem

func (EventTargetBatchTargetPtrOutput) ElementType

func (EventTargetBatchTargetPtrOutput) JobAttempts

The number of times to attempt to retry, if the job fails. Valid values are 1 to 10.

func (EventTargetBatchTargetPtrOutput) JobDefinition

The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.

func (EventTargetBatchTargetPtrOutput) JobName

The name to use for this execution of the job, if the target is an AWS Batch job.

func (EventTargetBatchTargetPtrOutput) ToEventTargetBatchTargetPtrOutput

func (o EventTargetBatchTargetPtrOutput) ToEventTargetBatchTargetPtrOutput() EventTargetBatchTargetPtrOutput

func (EventTargetBatchTargetPtrOutput) ToEventTargetBatchTargetPtrOutputWithContext

func (o EventTargetBatchTargetPtrOutput) ToEventTargetBatchTargetPtrOutputWithContext(ctx context.Context) EventTargetBatchTargetPtrOutput

type EventTargetEcsTarget

type EventTargetEcsTarget struct {
	// Specifies an ECS task group for the task. The maximum length is 255 characters.
	Group *string `pulumi:"group"`
	// Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. Valid values are EC2 or FARGATE.
	LaunchType *string `pulumi:"launchType"`
	// Use this if the ECS task uses the awsvpc network mode. This specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. Required if launchType is FARGATE because the awsvpc mode is required for Fargate tasks.
	NetworkConfiguration *EventTargetEcsTargetNetworkConfiguration `pulumi:"networkConfiguration"`
	// Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0. This is used only if LaunchType is FARGATE. For more information about valid platform versions, see [AWS Fargate Platform Versions](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).
	PlatformVersion *string `pulumi:"platformVersion"`
	// The number of tasks to create based on the TaskDefinition. The default is 1.
	TaskCount *int `pulumi:"taskCount"`
	// The ARN of the task definition to use if the event target is an Amazon ECS cluster.
	TaskDefinitionArn string `pulumi:"taskDefinitionArn"`
}

type EventTargetEcsTargetArgs

type EventTargetEcsTargetArgs struct {
	// Specifies an ECS task group for the task. The maximum length is 255 characters.
	Group pulumi.StringPtrInput `pulumi:"group"`
	// Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. Valid values are EC2 or FARGATE.
	LaunchType pulumi.StringPtrInput `pulumi:"launchType"`
	// Use this if the ECS task uses the awsvpc network mode. This specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. Required if launchType is FARGATE because the awsvpc mode is required for Fargate tasks.
	NetworkConfiguration EventTargetEcsTargetNetworkConfigurationPtrInput `pulumi:"networkConfiguration"`
	// Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0. This is used only if LaunchType is FARGATE. For more information about valid platform versions, see [AWS Fargate Platform Versions](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).
	PlatformVersion pulumi.StringPtrInput `pulumi:"platformVersion"`
	// The number of tasks to create based on the TaskDefinition. The default is 1.
	TaskCount pulumi.IntPtrInput `pulumi:"taskCount"`
	// The ARN of the task definition to use if the event target is an Amazon ECS cluster.
	TaskDefinitionArn pulumi.StringInput `pulumi:"taskDefinitionArn"`
}

func (EventTargetEcsTargetArgs) ElementType

func (EventTargetEcsTargetArgs) ElementType() reflect.Type

func (EventTargetEcsTargetArgs) ToEventTargetEcsTargetOutput

func (i EventTargetEcsTargetArgs) ToEventTargetEcsTargetOutput() EventTargetEcsTargetOutput

func (EventTargetEcsTargetArgs) ToEventTargetEcsTargetOutputWithContext

func (i EventTargetEcsTargetArgs) ToEventTargetEcsTargetOutputWithContext(ctx context.Context) EventTargetEcsTargetOutput

func (EventTargetEcsTargetArgs) ToEventTargetEcsTargetPtrOutput

func (i EventTargetEcsTargetArgs) ToEventTargetEcsTargetPtrOutput() EventTargetEcsTargetPtrOutput

func (EventTargetEcsTargetArgs) ToEventTargetEcsTargetPtrOutputWithContext

func (i EventTargetEcsTargetArgs) ToEventTargetEcsTargetPtrOutputWithContext(ctx context.Context) EventTargetEcsTargetPtrOutput

type EventTargetEcsTargetInput

type EventTargetEcsTargetInput interface {
	pulumi.Input

	ToEventTargetEcsTargetOutput() EventTargetEcsTargetOutput
	ToEventTargetEcsTargetOutputWithContext(context.Context) EventTargetEcsTargetOutput
}

EventTargetEcsTargetInput is an input type that accepts EventTargetEcsTargetArgs and EventTargetEcsTargetOutput values. You can construct a concrete instance of `EventTargetEcsTargetInput` via:

EventTargetEcsTargetArgs{...}

type EventTargetEcsTargetNetworkConfiguration

type EventTargetEcsTargetNetworkConfiguration struct {
	// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.
	AssignPublicIp *bool `pulumi:"assignPublicIp"`
	// The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
	SecurityGroups []string `pulumi:"securityGroups"`
	// The subnets associated with the task or service.
	Subnets []string `pulumi:"subnets"`
}

type EventTargetEcsTargetNetworkConfigurationArgs

type EventTargetEcsTargetNetworkConfigurationArgs struct {
	// Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.
	AssignPublicIp pulumi.BoolPtrInput `pulumi:"assignPublicIp"`
	// The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.
	SecurityGroups pulumi.StringArrayInput `pulumi:"securityGroups"`
	// The subnets associated with the task or service.
	Subnets pulumi.StringArrayInput `pulumi:"subnets"`
}

func (EventTargetEcsTargetNetworkConfigurationArgs) ElementType

func (EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationOutput

func (i EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationOutput() EventTargetEcsTargetNetworkConfigurationOutput

func (EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationOutputWithContext

func (i EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationOutputWithContext(ctx context.Context) EventTargetEcsTargetNetworkConfigurationOutput

func (EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationPtrOutput

func (i EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationPtrOutput() EventTargetEcsTargetNetworkConfigurationPtrOutput

func (EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext

func (i EventTargetEcsTargetNetworkConfigurationArgs) ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext(ctx context.Context) EventTargetEcsTargetNetworkConfigurationPtrOutput

type EventTargetEcsTargetNetworkConfigurationInput

type EventTargetEcsTargetNetworkConfigurationInput interface {
	pulumi.Input

	ToEventTargetEcsTargetNetworkConfigurationOutput() EventTargetEcsTargetNetworkConfigurationOutput
	ToEventTargetEcsTargetNetworkConfigurationOutputWithContext(context.Context) EventTargetEcsTargetNetworkConfigurationOutput
}

EventTargetEcsTargetNetworkConfigurationInput is an input type that accepts EventTargetEcsTargetNetworkConfigurationArgs and EventTargetEcsTargetNetworkConfigurationOutput values. You can construct a concrete instance of `EventTargetEcsTargetNetworkConfigurationInput` via:

EventTargetEcsTargetNetworkConfigurationArgs{...}

type EventTargetEcsTargetNetworkConfigurationOutput

type EventTargetEcsTargetNetworkConfigurationOutput struct{ *pulumi.OutputState }

func (EventTargetEcsTargetNetworkConfigurationOutput) AssignPublicIp

Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.

func (EventTargetEcsTargetNetworkConfigurationOutput) ElementType

func (EventTargetEcsTargetNetworkConfigurationOutput) SecurityGroups

The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.

func (EventTargetEcsTargetNetworkConfigurationOutput) Subnets

The subnets associated with the task or service.

func (EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationOutput

func (o EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationOutput() EventTargetEcsTargetNetworkConfigurationOutput

func (EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationOutputWithContext

func (o EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationOutputWithContext(ctx context.Context) EventTargetEcsTargetNetworkConfigurationOutput

func (EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutput

func (o EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutput() EventTargetEcsTargetNetworkConfigurationPtrOutput

func (EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext

func (o EventTargetEcsTargetNetworkConfigurationOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext(ctx context.Context) EventTargetEcsTargetNetworkConfigurationPtrOutput

type EventTargetEcsTargetNetworkConfigurationPtrInput

type EventTargetEcsTargetNetworkConfigurationPtrInput interface {
	pulumi.Input

	ToEventTargetEcsTargetNetworkConfigurationPtrOutput() EventTargetEcsTargetNetworkConfigurationPtrOutput
	ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext(context.Context) EventTargetEcsTargetNetworkConfigurationPtrOutput
}

EventTargetEcsTargetNetworkConfigurationPtrInput is an input type that accepts EventTargetEcsTargetNetworkConfigurationArgs, EventTargetEcsTargetNetworkConfigurationPtr and EventTargetEcsTargetNetworkConfigurationPtrOutput values. You can construct a concrete instance of `EventTargetEcsTargetNetworkConfigurationPtrInput` via:

        EventTargetEcsTargetNetworkConfigurationArgs{...}

or:

        nil

type EventTargetEcsTargetNetworkConfigurationPtrOutput

type EventTargetEcsTargetNetworkConfigurationPtrOutput struct{ *pulumi.OutputState }

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) AssignPublicIp

Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) Elem

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) ElementType

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) SecurityGroups

The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used.

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) Subnets

The subnets associated with the task or service.

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutput

func (o EventTargetEcsTargetNetworkConfigurationPtrOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutput() EventTargetEcsTargetNetworkConfigurationPtrOutput

func (EventTargetEcsTargetNetworkConfigurationPtrOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext

func (o EventTargetEcsTargetNetworkConfigurationPtrOutput) ToEventTargetEcsTargetNetworkConfigurationPtrOutputWithContext(ctx context.Context) EventTargetEcsTargetNetworkConfigurationPtrOutput

type EventTargetEcsTargetOutput

type EventTargetEcsTargetOutput struct{ *pulumi.OutputState }

func (EventTargetEcsTargetOutput) ElementType

func (EventTargetEcsTargetOutput) ElementType() reflect.Type

func (EventTargetEcsTargetOutput) Group

Specifies an ECS task group for the task. The maximum length is 255 characters.

func (EventTargetEcsTargetOutput) LaunchType

Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. Valid values are EC2 or FARGATE.

func (EventTargetEcsTargetOutput) NetworkConfiguration

Use this if the ECS task uses the awsvpc network mode. This specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. Required if launchType is FARGATE because the awsvpc mode is required for Fargate tasks.

func (EventTargetEcsTargetOutput) PlatformVersion

Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0. This is used only if LaunchType is FARGATE. For more information about valid platform versions, see [AWS Fargate Platform Versions](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).

func (EventTargetEcsTargetOutput) TaskCount

The number of tasks to create based on the TaskDefinition. The default is 1.

func (EventTargetEcsTargetOutput) TaskDefinitionArn

func (o EventTargetEcsTargetOutput) TaskDefinitionArn() pulumi.StringOutput

The ARN of the task definition to use if the event target is an Amazon ECS cluster.

func (EventTargetEcsTargetOutput) ToEventTargetEcsTargetOutput

func (o EventTargetEcsTargetOutput) ToEventTargetEcsTargetOutput() EventTargetEcsTargetOutput

func (EventTargetEcsTargetOutput) ToEventTargetEcsTargetOutputWithContext

func (o EventTargetEcsTargetOutput) ToEventTargetEcsTargetOutputWithContext(ctx context.Context) EventTargetEcsTargetOutput

func (EventTargetEcsTargetOutput) ToEventTargetEcsTargetPtrOutput

func (o EventTargetEcsTargetOutput) ToEventTargetEcsTargetPtrOutput() EventTargetEcsTargetPtrOutput

func (EventTargetEcsTargetOutput) ToEventTargetEcsTargetPtrOutputWithContext

func (o EventTargetEcsTargetOutput) ToEventTargetEcsTargetPtrOutputWithContext(ctx context.Context) EventTargetEcsTargetPtrOutput

type EventTargetEcsTargetPtrInput

type EventTargetEcsTargetPtrInput interface {
	pulumi.Input

	ToEventTargetEcsTargetPtrOutput() EventTargetEcsTargetPtrOutput
	ToEventTargetEcsTargetPtrOutputWithContext(context.Context) EventTargetEcsTargetPtrOutput
}

EventTargetEcsTargetPtrInput is an input type that accepts EventTargetEcsTargetArgs, EventTargetEcsTargetPtr and EventTargetEcsTargetPtrOutput values. You can construct a concrete instance of `EventTargetEcsTargetPtrInput` via:

        EventTargetEcsTargetArgs{...}

or:

        nil

type EventTargetEcsTargetPtrOutput

type EventTargetEcsTargetPtrOutput struct{ *pulumi.OutputState }

func (EventTargetEcsTargetPtrOutput) Elem

func (EventTargetEcsTargetPtrOutput) ElementType

func (EventTargetEcsTargetPtrOutput) Group

Specifies an ECS task group for the task. The maximum length is 255 characters.

func (EventTargetEcsTargetPtrOutput) LaunchType

Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. Valid values are EC2 or FARGATE.

func (EventTargetEcsTargetPtrOutput) NetworkConfiguration

Use this if the ECS task uses the awsvpc network mode. This specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. Required if launchType is FARGATE because the awsvpc mode is required for Fargate tasks.

func (EventTargetEcsTargetPtrOutput) PlatformVersion

Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as 1.1.0. This is used only if LaunchType is FARGATE. For more information about valid platform versions, see [AWS Fargate Platform Versions](http://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).

func (EventTargetEcsTargetPtrOutput) TaskCount

The number of tasks to create based on the TaskDefinition. The default is 1.

func (EventTargetEcsTargetPtrOutput) TaskDefinitionArn

The ARN of the task definition to use if the event target is an Amazon ECS cluster.

func (EventTargetEcsTargetPtrOutput) ToEventTargetEcsTargetPtrOutput

func (o EventTargetEcsTargetPtrOutput) ToEventTargetEcsTargetPtrOutput() EventTargetEcsTargetPtrOutput

func (EventTargetEcsTargetPtrOutput) ToEventTargetEcsTargetPtrOutputWithContext

func (o EventTargetEcsTargetPtrOutput) ToEventTargetEcsTargetPtrOutputWithContext(ctx context.Context) EventTargetEcsTargetPtrOutput

type EventTargetInputTransformer

type EventTargetInputTransformer struct {
	// Key value pairs specified in the form of JSONPath (for example, time = $.time)
	InputPaths map[string]string `pulumi:"inputPaths"`
	// Structure containing the template body.
	InputTemplate string `pulumi:"inputTemplate"`
}

type EventTargetInputTransformerArgs

type EventTargetInputTransformerArgs struct {
	// Key value pairs specified in the form of JSONPath (for example, time = $.time)
	InputPaths pulumi.StringMapInput `pulumi:"inputPaths"`
	// Structure containing the template body.
	InputTemplate pulumi.StringInput `pulumi:"inputTemplate"`
}

func (EventTargetInputTransformerArgs) ElementType

func (EventTargetInputTransformerArgs) ToEventTargetInputTransformerOutput

func (i EventTargetInputTransformerArgs) ToEventTargetInputTransformerOutput() EventTargetInputTransformerOutput

func (EventTargetInputTransformerArgs) ToEventTargetInputTransformerOutputWithContext

func (i EventTargetInputTransformerArgs) ToEventTargetInputTransformerOutputWithContext(ctx context.Context) EventTargetInputTransformerOutput

func (EventTargetInputTransformerArgs) ToEventTargetInputTransformerPtrOutput

func (i EventTargetInputTransformerArgs) ToEventTargetInputTransformerPtrOutput() EventTargetInputTransformerPtrOutput

func (EventTargetInputTransformerArgs) ToEventTargetInputTransformerPtrOutputWithContext

func (i EventTargetInputTransformerArgs) ToEventTargetInputTransformerPtrOutputWithContext(ctx context.Context) EventTargetInputTransformerPtrOutput

type EventTargetInputTransformerInput

type EventTargetInputTransformerInput interface {
	pulumi.Input

	ToEventTargetInputTransformerOutput() EventTargetInputTransformerOutput
	ToEventTargetInputTransformerOutputWithContext(context.Context) EventTargetInputTransformerOutput
}

EventTargetInputTransformerInput is an input type that accepts EventTargetInputTransformerArgs and EventTargetInputTransformerOutput values. You can construct a concrete instance of `EventTargetInputTransformerInput` via:

EventTargetInputTransformerArgs{...}

type EventTargetInputTransformerOutput

type EventTargetInputTransformerOutput struct{ *pulumi.OutputState }

func (EventTargetInputTransformerOutput) ElementType

func (EventTargetInputTransformerOutput) InputPaths

Key value pairs specified in the form of JSONPath (for example, time = $.time)

func (EventTargetInputTransformerOutput) InputTemplate

Structure containing the template body.

func (EventTargetInputTransformerOutput) ToEventTargetInputTransformerOutput

func (o EventTargetInputTransformerOutput) ToEventTargetInputTransformerOutput() EventTargetInputTransformerOutput

func (EventTargetInputTransformerOutput) ToEventTargetInputTransformerOutputWithContext

func (o EventTargetInputTransformerOutput) ToEventTargetInputTransformerOutputWithContext(ctx context.Context) EventTargetInputTransformerOutput

func (EventTargetInputTransformerOutput) ToEventTargetInputTransformerPtrOutput

func (o EventTargetInputTransformerOutput) ToEventTargetInputTransformerPtrOutput() EventTargetInputTransformerPtrOutput

func (EventTargetInputTransformerOutput) ToEventTargetInputTransformerPtrOutputWithContext

func (o EventTargetInputTransformerOutput) ToEventTargetInputTransformerPtrOutputWithContext(ctx context.Context) EventTargetInputTransformerPtrOutput

type EventTargetInputTransformerPtrInput

type EventTargetInputTransformerPtrInput interface {
	pulumi.Input

	ToEventTargetInputTransformerPtrOutput() EventTargetInputTransformerPtrOutput
	ToEventTargetInputTransformerPtrOutputWithContext(context.Context) EventTargetInputTransformerPtrOutput
}

EventTargetInputTransformerPtrInput is an input type that accepts EventTargetInputTransformerArgs, EventTargetInputTransformerPtr and EventTargetInputTransformerPtrOutput values. You can construct a concrete instance of `EventTargetInputTransformerPtrInput` via:

        EventTargetInputTransformerArgs{...}

or:

        nil

type EventTargetInputTransformerPtrOutput

type EventTargetInputTransformerPtrOutput struct{ *pulumi.OutputState }

func (EventTargetInputTransformerPtrOutput) Elem

func (EventTargetInputTransformerPtrOutput) ElementType

func (EventTargetInputTransformerPtrOutput) InputPaths

Key value pairs specified in the form of JSONPath (for example, time = $.time)

func (EventTargetInputTransformerPtrOutput) InputTemplate

Structure containing the template body.

func (EventTargetInputTransformerPtrOutput) ToEventTargetInputTransformerPtrOutput

func (o EventTargetInputTransformerPtrOutput) ToEventTargetInputTransformerPtrOutput() EventTargetInputTransformerPtrOutput

func (EventTargetInputTransformerPtrOutput) ToEventTargetInputTransformerPtrOutputWithContext

func (o EventTargetInputTransformerPtrOutput) ToEventTargetInputTransformerPtrOutputWithContext(ctx context.Context) EventTargetInputTransformerPtrOutput

type EventTargetKinesisTarget

type EventTargetKinesisTarget struct {
	// The JSON path to be extracted from the event and used as the partition key.
	PartitionKeyPath *string `pulumi:"partitionKeyPath"`
}

type EventTargetKinesisTargetArgs

type EventTargetKinesisTargetArgs struct {
	// The JSON path to be extracted from the event and used as the partition key.
	PartitionKeyPath pulumi.StringPtrInput `pulumi:"partitionKeyPath"`
}

func (EventTargetKinesisTargetArgs) ElementType

func (EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetOutput

func (i EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetOutput() EventTargetKinesisTargetOutput

func (EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetOutputWithContext

func (i EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetOutputWithContext(ctx context.Context) EventTargetKinesisTargetOutput

func (EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetPtrOutput

func (i EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetPtrOutput() EventTargetKinesisTargetPtrOutput

func (EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetPtrOutputWithContext

func (i EventTargetKinesisTargetArgs) ToEventTargetKinesisTargetPtrOutputWithContext(ctx context.Context) EventTargetKinesisTargetPtrOutput

type EventTargetKinesisTargetInput

type EventTargetKinesisTargetInput interface {
	pulumi.Input

	ToEventTargetKinesisTargetOutput() EventTargetKinesisTargetOutput
	ToEventTargetKinesisTargetOutputWithContext(context.Context) EventTargetKinesisTargetOutput
}

EventTargetKinesisTargetInput is an input type that accepts EventTargetKinesisTargetArgs and EventTargetKinesisTargetOutput values. You can construct a concrete instance of `EventTargetKinesisTargetInput` via:

EventTargetKinesisTargetArgs{...}

type EventTargetKinesisTargetOutput

type EventTargetKinesisTargetOutput struct{ *pulumi.OutputState }

func (EventTargetKinesisTargetOutput) ElementType

func (EventTargetKinesisTargetOutput) PartitionKeyPath

The JSON path to be extracted from the event and used as the partition key.

func (EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetOutput

func (o EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetOutput() EventTargetKinesisTargetOutput

func (EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetOutputWithContext

func (o EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetOutputWithContext(ctx context.Context) EventTargetKinesisTargetOutput

func (EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetPtrOutput

func (o EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetPtrOutput() EventTargetKinesisTargetPtrOutput

func (EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetPtrOutputWithContext

func (o EventTargetKinesisTargetOutput) ToEventTargetKinesisTargetPtrOutputWithContext(ctx context.Context) EventTargetKinesisTargetPtrOutput

type EventTargetKinesisTargetPtrInput

type EventTargetKinesisTargetPtrInput interface {
	pulumi.Input

	ToEventTargetKinesisTargetPtrOutput() EventTargetKinesisTargetPtrOutput
	ToEventTargetKinesisTargetPtrOutputWithContext(context.Context) EventTargetKinesisTargetPtrOutput
}

EventTargetKinesisTargetPtrInput is an input type that accepts EventTargetKinesisTargetArgs, EventTargetKinesisTargetPtr and EventTargetKinesisTargetPtrOutput values. You can construct a concrete instance of `EventTargetKinesisTargetPtrInput` via:

        EventTargetKinesisTargetArgs{...}

or:

        nil

type EventTargetKinesisTargetPtrOutput

type EventTargetKinesisTargetPtrOutput struct{ *pulumi.OutputState }

func (EventTargetKinesisTargetPtrOutput) Elem

func (EventTargetKinesisTargetPtrOutput) ElementType

func (EventTargetKinesisTargetPtrOutput) PartitionKeyPath

The JSON path to be extracted from the event and used as the partition key.

func (EventTargetKinesisTargetPtrOutput) ToEventTargetKinesisTargetPtrOutput

func (o EventTargetKinesisTargetPtrOutput) ToEventTargetKinesisTargetPtrOutput() EventTargetKinesisTargetPtrOutput

func (EventTargetKinesisTargetPtrOutput) ToEventTargetKinesisTargetPtrOutputWithContext

func (o EventTargetKinesisTargetPtrOutput) ToEventTargetKinesisTargetPtrOutputWithContext(ctx context.Context) EventTargetKinesisTargetPtrOutput

type EventTargetRunCommandTarget

type EventTargetRunCommandTarget struct {
	// Can be either `tag:tag-key` or `InstanceIds`.
	Key string `pulumi:"key"`
	// If Key is `tag:tag-key`, Values is a list of tag values. If Key is `InstanceIds`, Values is a list of Amazon EC2 instance IDs.
	Values []string `pulumi:"values"`
}

type EventTargetRunCommandTargetArgs

type EventTargetRunCommandTargetArgs struct {
	// Can be either `tag:tag-key` or `InstanceIds`.
	Key pulumi.StringInput `pulumi:"key"`
	// If Key is `tag:tag-key`, Values is a list of tag values. If Key is `InstanceIds`, Values is a list of Amazon EC2 instance IDs.
	Values pulumi.StringArrayInput `pulumi:"values"`
}

func (EventTargetRunCommandTargetArgs) ElementType

func (EventTargetRunCommandTargetArgs) ToEventTargetRunCommandTargetOutput

func (i EventTargetRunCommandTargetArgs) ToEventTargetRunCommandTargetOutput() EventTargetRunCommandTargetOutput

func (EventTargetRunCommandTargetArgs) ToEventTargetRunCommandTargetOutputWithContext

func (i EventTargetRunCommandTargetArgs) ToEventTargetRunCommandTargetOutputWithContext(ctx context.Context) EventTargetRunCommandTargetOutput

type EventTargetRunCommandTargetArray

type EventTargetRunCommandTargetArray []EventTargetRunCommandTargetInput

func (EventTargetRunCommandTargetArray) ElementType

func (EventTargetRunCommandTargetArray) ToEventTargetRunCommandTargetArrayOutput

func (i EventTargetRunCommandTargetArray) ToEventTargetRunCommandTargetArrayOutput() EventTargetRunCommandTargetArrayOutput

func (EventTargetRunCommandTargetArray) ToEventTargetRunCommandTargetArrayOutputWithContext

func (i EventTargetRunCommandTargetArray) ToEventTargetRunCommandTargetArrayOutputWithContext(ctx context.Context) EventTargetRunCommandTargetArrayOutput

type EventTargetRunCommandTargetArrayInput

type EventTargetRunCommandTargetArrayInput interface {
	pulumi.Input

	ToEventTargetRunCommandTargetArrayOutput() EventTargetRunCommandTargetArrayOutput
	ToEventTargetRunCommandTargetArrayOutputWithContext(context.Context) EventTargetRunCommandTargetArrayOutput
}

EventTargetRunCommandTargetArrayInput is an input type that accepts EventTargetRunCommandTargetArray and EventTargetRunCommandTargetArrayOutput values. You can construct a concrete instance of `EventTargetRunCommandTargetArrayInput` via:

EventTargetRunCommandTargetArray{ EventTargetRunCommandTargetArgs{...} }

type EventTargetRunCommandTargetArrayOutput

type EventTargetRunCommandTargetArrayOutput struct{ *pulumi.OutputState }

func (EventTargetRunCommandTargetArrayOutput) ElementType

func (EventTargetRunCommandTargetArrayOutput) Index

func (EventTargetRunCommandTargetArrayOutput) ToEventTargetRunCommandTargetArrayOutput

func (o EventTargetRunCommandTargetArrayOutput) ToEventTargetRunCommandTargetArrayOutput() EventTargetRunCommandTargetArrayOutput

func (EventTargetRunCommandTargetArrayOutput) ToEventTargetRunCommandTargetArrayOutputWithContext

func (o EventTargetRunCommandTargetArrayOutput) ToEventTargetRunCommandTargetArrayOutputWithContext(ctx context.Context) EventTargetRunCommandTargetArrayOutput

type EventTargetRunCommandTargetInput

type EventTargetRunCommandTargetInput interface {
	pulumi.Input

	ToEventTargetRunCommandTargetOutput() EventTargetRunCommandTargetOutput
	ToEventTargetRunCommandTargetOutputWithContext(context.Context) EventTargetRunCommandTargetOutput
}

EventTargetRunCommandTargetInput is an input type that accepts EventTargetRunCommandTargetArgs and EventTargetRunCommandTargetOutput values. You can construct a concrete instance of `EventTargetRunCommandTargetInput` via:

EventTargetRunCommandTargetArgs{...}

type EventTargetRunCommandTargetOutput

type EventTargetRunCommandTargetOutput struct{ *pulumi.OutputState }

func (EventTargetRunCommandTargetOutput) ElementType

func (EventTargetRunCommandTargetOutput) Key

Can be either `tag:tag-key` or `InstanceIds`.

func (EventTargetRunCommandTargetOutput) ToEventTargetRunCommandTargetOutput

func (o EventTargetRunCommandTargetOutput) ToEventTargetRunCommandTargetOutput() EventTargetRunCommandTargetOutput

func (EventTargetRunCommandTargetOutput) ToEventTargetRunCommandTargetOutputWithContext

func (o EventTargetRunCommandTargetOutput) ToEventTargetRunCommandTargetOutputWithContext(ctx context.Context) EventTargetRunCommandTargetOutput

func (EventTargetRunCommandTargetOutput) Values

If Key is `tag:tag-key`, Values is a list of tag values. If Key is `InstanceIds`, Values is a list of Amazon EC2 instance IDs.

type EventTargetSqsTarget

type EventTargetSqsTarget struct {
	// The FIFO message group ID to use as the target.
	MessageGroupId *string `pulumi:"messageGroupId"`
}

type EventTargetSqsTargetArgs

type EventTargetSqsTargetArgs struct {
	// The FIFO message group ID to use as the target.
	MessageGroupId pulumi.StringPtrInput `pulumi:"messageGroupId"`
}

func (EventTargetSqsTargetArgs) ElementType

func (EventTargetSqsTargetArgs) ElementType() reflect.Type

func (EventTargetSqsTargetArgs) ToEventTargetSqsTargetOutput

func (i EventTargetSqsTargetArgs) ToEventTargetSqsTargetOutput() EventTargetSqsTargetOutput

func (EventTargetSqsTargetArgs) ToEventTargetSqsTargetOutputWithContext

func (i EventTargetSqsTargetArgs) ToEventTargetSqsTargetOutputWithContext(ctx context.Context) EventTargetSqsTargetOutput

func (EventTargetSqsTargetArgs) ToEventTargetSqsTargetPtrOutput

func (i EventTargetSqsTargetArgs) ToEventTargetSqsTargetPtrOutput() EventTargetSqsTargetPtrOutput

func (EventTargetSqsTargetArgs) ToEventTargetSqsTargetPtrOutputWithContext

func (i EventTargetSqsTargetArgs) ToEventTargetSqsTargetPtrOutputWithContext(ctx context.Context) EventTargetSqsTargetPtrOutput

type EventTargetSqsTargetInput

type EventTargetSqsTargetInput interface {
	pulumi.Input

	ToEventTargetSqsTargetOutput() EventTargetSqsTargetOutput
	ToEventTargetSqsTargetOutputWithContext(context.Context) EventTargetSqsTargetOutput
}

EventTargetSqsTargetInput is an input type that accepts EventTargetSqsTargetArgs and EventTargetSqsTargetOutput values. You can construct a concrete instance of `EventTargetSqsTargetInput` via:

EventTargetSqsTargetArgs{...}

type EventTargetSqsTargetOutput

type EventTargetSqsTargetOutput struct{ *pulumi.OutputState }

func (EventTargetSqsTargetOutput) ElementType

func (EventTargetSqsTargetOutput) ElementType() reflect.Type

func (EventTargetSqsTargetOutput) MessageGroupId

The FIFO message group ID to use as the target.

func (EventTargetSqsTargetOutput) ToEventTargetSqsTargetOutput

func (o EventTargetSqsTargetOutput) ToEventTargetSqsTargetOutput() EventTargetSqsTargetOutput

func (EventTargetSqsTargetOutput) ToEventTargetSqsTargetOutputWithContext

func (o EventTargetSqsTargetOutput) ToEventTargetSqsTargetOutputWithContext(ctx context.Context) EventTargetSqsTargetOutput

func (EventTargetSqsTargetOutput) ToEventTargetSqsTargetPtrOutput

func (o EventTargetSqsTargetOutput) ToEventTargetSqsTargetPtrOutput() EventTargetSqsTargetPtrOutput

func (EventTargetSqsTargetOutput) ToEventTargetSqsTargetPtrOutputWithContext

func (o EventTargetSqsTargetOutput) ToEventTargetSqsTargetPtrOutputWithContext(ctx context.Context) EventTargetSqsTargetPtrOutput

type EventTargetSqsTargetPtrInput

type EventTargetSqsTargetPtrInput interface {
	pulumi.Input

	ToEventTargetSqsTargetPtrOutput() EventTargetSqsTargetPtrOutput
	ToEventTargetSqsTargetPtrOutputWithContext(context.Context) EventTargetSqsTargetPtrOutput
}

EventTargetSqsTargetPtrInput is an input type that accepts EventTargetSqsTargetArgs, EventTargetSqsTargetPtr and EventTargetSqsTargetPtrOutput values. You can construct a concrete instance of `EventTargetSqsTargetPtrInput` via:

        EventTargetSqsTargetArgs{...}

or:

        nil

type EventTargetSqsTargetPtrOutput

type EventTargetSqsTargetPtrOutput struct{ *pulumi.OutputState }

func (EventTargetSqsTargetPtrOutput) Elem

func (EventTargetSqsTargetPtrOutput) ElementType

func (EventTargetSqsTargetPtrOutput) MessageGroupId

The FIFO message group ID to use as the target.

func (EventTargetSqsTargetPtrOutput) ToEventTargetSqsTargetPtrOutput

func (o EventTargetSqsTargetPtrOutput) ToEventTargetSqsTargetPtrOutput() EventTargetSqsTargetPtrOutput

func (EventTargetSqsTargetPtrOutput) ToEventTargetSqsTargetPtrOutputWithContext

func (o EventTargetSqsTargetPtrOutput) ToEventTargetSqsTargetPtrOutputWithContext(ctx context.Context) EventTargetSqsTargetPtrOutput

type EventTargetState

type EventTargetState struct {
	// The Amazon Resource Name (ARN) associated of the target.
	Arn pulumi.StringPtrInput
	// Parameters used when you are using the rule to invoke an Amazon Batch Job. Documented below. A maximum of 1 are allowed.
	BatchTarget EventTargetBatchTargetPtrInput
	// Parameters used when you are using the rule to invoke Amazon ECS Task. Documented below. A maximum of 1 are allowed.
	EcsTarget EventTargetEcsTargetPtrInput
	// Valid JSON text passed to the target.
	Input pulumi.StringPtrInput
	// The value of the [JSONPath](http://goessner.net/articles/JsonPath/)
	// that is used for extracting part of the matched event when passing it to the target.
	InputPath pulumi.StringPtrInput
	// Parameters used when you are providing a custom input to a target based on certain event data.
	InputTransformer EventTargetInputTransformerPtrInput
	// Parameters used when you are using the rule to invoke an Amazon Kinesis Stream. Documented below. A maximum of 1 are allowed.
	KinesisTarget EventTargetKinesisTargetPtrInput
	// The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. Required if `ecsTarget` is used.
	RoleArn pulumi.StringPtrInput
	// The name of the rule you want to add targets to.
	Rule pulumi.StringPtrInput
	// Parameters used when you are using the rule to invoke Amazon EC2 Run Command. Documented below. A maximum of 5 are allowed.
	RunCommandTargets EventTargetRunCommandTargetArrayInput
	// Parameters used when you are using the rule to invoke an Amazon SQS Queue. Documented below. A maximum of 1 are allowed.
	SqsTarget EventTargetSqsTargetPtrInput
	// The unique target assignment ID.  If missing, will generate a random, unique id.
	TargetId pulumi.StringPtrInput
}

func (EventTargetState) ElementType

func (EventTargetState) ElementType() reflect.Type

type LogDestination

type LogDestination struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) specifying the log destination.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A name for the log destination
	Name pulumi.StringOutput `pulumi:"name"`
	// The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to put data into the target
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
	// The ARN of the target Amazon Kinesis stream resource for the destination
	TargetArn pulumi.StringOutput `pulumi:"targetArn"`
}

Provides a CloudWatch Logs destination resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewLogDestination(ctx, "testDestination", &cloudwatch.LogDestinationArgs{
			RoleArn:   pulumi.String(aws_iam_role.Iam_for_cloudwatch.Arn),
			TargetArn: pulumi.String(aws_kinesis_stream.Kinesis_for_cloudwatch.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogDestination

func GetLogDestination(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogDestinationState, opts ...pulumi.ResourceOption) (*LogDestination, error)

GetLogDestination gets an existing LogDestination resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogDestination

func NewLogDestination(ctx *pulumi.Context,
	name string, args *LogDestinationArgs, opts ...pulumi.ResourceOption) (*LogDestination, error)

NewLogDestination registers a new resource with the given unique name, arguments, and options.

type LogDestinationArgs

type LogDestinationArgs struct {
	// A name for the log destination
	Name pulumi.StringPtrInput
	// The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to put data into the target
	RoleArn pulumi.StringInput
	// The ARN of the target Amazon Kinesis stream resource for the destination
	TargetArn pulumi.StringInput
}

The set of arguments for constructing a LogDestination resource.

func (LogDestinationArgs) ElementType

func (LogDestinationArgs) ElementType() reflect.Type

type LogDestinationPolicy

type LogDestinationPolicy struct {
	pulumi.CustomResourceState

	// The policy document. This is a JSON formatted string.
	AccessPolicy pulumi.StringOutput `pulumi:"accessPolicy"`
	// A name for the subscription filter
	DestinationName pulumi.StringOutput `pulumi:"destinationName"`
}

Provides a CloudWatch Logs destination policy resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testDestination, err := cloudwatch.NewLogDestination(ctx, "testDestination", &cloudwatch.LogDestinationArgs{
			RoleArn:   pulumi.String(aws_iam_role.Iam_for_cloudwatch.Arn),
			TargetArn: pulumi.String(aws_kinesis_stream.Kinesis_for_cloudwatch.Arn),
		})
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewLogDestinationPolicy(ctx, "testDestinationPolicyLogDestinationPolicy", &cloudwatch.LogDestinationPolicyArgs{
			AccessPolicy: testDestinationPolicyPolicyDocument.ApplyT(func(testDestinationPolicyPolicyDocument iam.GetPolicyDocumentResult) (string, error) {
				return testDestinationPolicyPolicyDocument.Json, nil
			}).(pulumi.StringOutput),
			DestinationName: testDestination.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogDestinationPolicy

func GetLogDestinationPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogDestinationPolicyState, opts ...pulumi.ResourceOption) (*LogDestinationPolicy, error)

GetLogDestinationPolicy gets an existing LogDestinationPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogDestinationPolicy

func NewLogDestinationPolicy(ctx *pulumi.Context,
	name string, args *LogDestinationPolicyArgs, opts ...pulumi.ResourceOption) (*LogDestinationPolicy, error)

NewLogDestinationPolicy registers a new resource with the given unique name, arguments, and options.

type LogDestinationPolicyArgs

type LogDestinationPolicyArgs struct {
	// The policy document. This is a JSON formatted string.
	AccessPolicy pulumi.StringInput
	// A name for the subscription filter
	DestinationName pulumi.StringInput
}

The set of arguments for constructing a LogDestinationPolicy resource.

func (LogDestinationPolicyArgs) ElementType

func (LogDestinationPolicyArgs) ElementType() reflect.Type

type LogDestinationPolicyState

type LogDestinationPolicyState struct {
	// The policy document. This is a JSON formatted string.
	AccessPolicy pulumi.StringPtrInput
	// A name for the subscription filter
	DestinationName pulumi.StringPtrInput
}

func (LogDestinationPolicyState) ElementType

func (LogDestinationPolicyState) ElementType() reflect.Type

type LogDestinationState

type LogDestinationState struct {
	// The Amazon Resource Name (ARN) specifying the log destination.
	Arn pulumi.StringPtrInput
	// A name for the log destination
	Name pulumi.StringPtrInput
	// The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to put data into the target
	RoleArn pulumi.StringPtrInput
	// The ARN of the target Amazon Kinesis stream resource for the destination
	TargetArn pulumi.StringPtrInput
}

func (LogDestinationState) ElementType

func (LogDestinationState) ElementType() reflect.Type

type LogGroup

type LogGroup struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) specifying the log group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group,
	// AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires
	// permissions for the CMK whenever the encrypted data is requested.
	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	// The name of the log group. If omitted, this provider will assign a random, unique name.
	Name pulumi.StringOutput `pulumi:"name"`
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrOutput `pulumi:"namePrefix"`
	// Specifies the number of days
	// you want to retain log events in the specified log group.  Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
	RetentionInDays pulumi.IntPtrOutput `pulumi:"retentionInDays"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides a CloudWatch Log Group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewLogGroup(ctx, "yada", &cloudwatch.LogGroupArgs{
			Tags: pulumi.StringMap{
				"Application": pulumi.String("serviceA"),
				"Environment": pulumi.String("production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogGroup

func GetLogGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogGroupState, opts ...pulumi.ResourceOption) (*LogGroup, error)

GetLogGroup gets an existing LogGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogGroup

func NewLogGroup(ctx *pulumi.Context,
	name string, args *LogGroupArgs, opts ...pulumi.ResourceOption) (*LogGroup, error)

NewLogGroup registers a new resource with the given unique name, arguments, and options.

type LogGroupArgs

type LogGroupArgs struct {
	// The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group,
	// AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires
	// permissions for the CMK whenever the encrypted data is requested.
	KmsKeyId pulumi.StringPtrInput
	// The name of the log group. If omitted, this provider will assign a random, unique name.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// Specifies the number of days
	// you want to retain log events in the specified log group.  Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
	RetentionInDays pulumi.IntPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a LogGroup resource.

func (LogGroupArgs) ElementType

func (LogGroupArgs) ElementType() reflect.Type

type LogGroupState

type LogGroupState struct {
	// The Amazon Resource Name (ARN) specifying the log group.
	Arn pulumi.StringPtrInput
	// The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group,
	// AWS CloudWatch Logs stops encrypting newly ingested data for the log group. All previously ingested data remains encrypted, and AWS CloudWatch Logs requires
	// permissions for the CMK whenever the encrypted data is requested.
	KmsKeyId pulumi.StringPtrInput
	// The name of the log group. If omitted, this provider will assign a random, unique name.
	Name pulumi.StringPtrInput
	// Creates a unique name beginning with the specified prefix. Conflicts with `name`.
	NamePrefix pulumi.StringPtrInput
	// Specifies the number of days
	// you want to retain log events in the specified log group.  Possible values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.
	RetentionInDays pulumi.IntPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (LogGroupState) ElementType

func (LogGroupState) ElementType() reflect.Type

type LogMetricFilter

type LogMetricFilter struct {
	pulumi.CustomResourceState

	// The name of the log group to associate the metric filter with.
	LogGroupName pulumi.StringOutput `pulumi:"logGroupName"`
	// A block defining collection of information
	// needed to define how metric data gets emitted. See below.
	MetricTransformation LogMetricFilterMetricTransformationOutput `pulumi:"metricTransformation"`
	// A name for the metric filter.
	Name pulumi.StringOutput `pulumi:"name"`
	// A valid [CloudWatch Logs filter pattern](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html)
	// for extracting metric data out of ingested log events.
	Pattern pulumi.StringOutput `pulumi:"pattern"`
}

Provides a CloudWatch Log Metric Filter resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dada, err := cloudwatch.NewLogGroup(ctx, "dada", nil)
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewLogMetricFilter(ctx, "yada", &cloudwatch.LogMetricFilterArgs{
			LogGroupName: dada.Name,
			MetricTransformation: &cloudwatch.LogMetricFilterMetricTransformationArgs{
				Name:      pulumi.String("EventCount"),
				Namespace: pulumi.String("YourNamespace"),
				Value:     pulumi.String("1"),
			},
			Pattern: pulumi.String(""),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogMetricFilter

func GetLogMetricFilter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogMetricFilterState, opts ...pulumi.ResourceOption) (*LogMetricFilter, error)

GetLogMetricFilter gets an existing LogMetricFilter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogMetricFilter

func NewLogMetricFilter(ctx *pulumi.Context,
	name string, args *LogMetricFilterArgs, opts ...pulumi.ResourceOption) (*LogMetricFilter, error)

NewLogMetricFilter registers a new resource with the given unique name, arguments, and options.

type LogMetricFilterArgs

type LogMetricFilterArgs struct {
	// The name of the log group to associate the metric filter with.
	LogGroupName pulumi.StringInput
	// A block defining collection of information
	// needed to define how metric data gets emitted. See below.
	MetricTransformation LogMetricFilterMetricTransformationInput
	// A name for the metric filter.
	Name pulumi.StringPtrInput
	// A valid [CloudWatch Logs filter pattern](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html)
	// for extracting metric data out of ingested log events.
	Pattern pulumi.StringInput
}

The set of arguments for constructing a LogMetricFilter resource.

func (LogMetricFilterArgs) ElementType

func (LogMetricFilterArgs) ElementType() reflect.Type

type LogMetricFilterMetricTransformation

type LogMetricFilterMetricTransformation struct {
	// The value to emit when a filter pattern does not match a log event.
	DefaultValue *string `pulumi:"defaultValue"`
	// The name of the CloudWatch metric to which the monitored log information should be published (e.g. `ErrorCount`)
	Name string `pulumi:"name"`
	// The destination namespace of the CloudWatch metric.
	Namespace string `pulumi:"namespace"`
	// What to publish to the metric. For example, if you're counting the occurrences of a particular term like "Error", the value will be "1" for each occurrence. If you're counting the bytes transferred the published value will be the value in the log event.
	Value string `pulumi:"value"`
}

type LogMetricFilterMetricTransformationArgs

type LogMetricFilterMetricTransformationArgs struct {
	// The value to emit when a filter pattern does not match a log event.
	DefaultValue pulumi.StringPtrInput `pulumi:"defaultValue"`
	// The name of the CloudWatch metric to which the monitored log information should be published (e.g. `ErrorCount`)
	Name pulumi.StringInput `pulumi:"name"`
	// The destination namespace of the CloudWatch metric.
	Namespace pulumi.StringInput `pulumi:"namespace"`
	// What to publish to the metric. For example, if you're counting the occurrences of a particular term like "Error", the value will be "1" for each occurrence. If you're counting the bytes transferred the published value will be the value in the log event.
	Value pulumi.StringInput `pulumi:"value"`
}

func (LogMetricFilterMetricTransformationArgs) ElementType

func (LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationOutput

func (i LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationOutput() LogMetricFilterMetricTransformationOutput

func (LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationOutputWithContext

func (i LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationOutputWithContext(ctx context.Context) LogMetricFilterMetricTransformationOutput

func (LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationPtrOutput

func (i LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationPtrOutput() LogMetricFilterMetricTransformationPtrOutput

func (LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationPtrOutputWithContext

func (i LogMetricFilterMetricTransformationArgs) ToLogMetricFilterMetricTransformationPtrOutputWithContext(ctx context.Context) LogMetricFilterMetricTransformationPtrOutput

type LogMetricFilterMetricTransformationInput

type LogMetricFilterMetricTransformationInput interface {
	pulumi.Input

	ToLogMetricFilterMetricTransformationOutput() LogMetricFilterMetricTransformationOutput
	ToLogMetricFilterMetricTransformationOutputWithContext(context.Context) LogMetricFilterMetricTransformationOutput
}

LogMetricFilterMetricTransformationInput is an input type that accepts LogMetricFilterMetricTransformationArgs and LogMetricFilterMetricTransformationOutput values. You can construct a concrete instance of `LogMetricFilterMetricTransformationInput` via:

LogMetricFilterMetricTransformationArgs{...}

type LogMetricFilterMetricTransformationOutput

type LogMetricFilterMetricTransformationOutput struct{ *pulumi.OutputState }

func (LogMetricFilterMetricTransformationOutput) DefaultValue

The value to emit when a filter pattern does not match a log event.

func (LogMetricFilterMetricTransformationOutput) ElementType

func (LogMetricFilterMetricTransformationOutput) Name

The name of the CloudWatch metric to which the monitored log information should be published (e.g. `ErrorCount`)

func (LogMetricFilterMetricTransformationOutput) Namespace

The destination namespace of the CloudWatch metric.

func (LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationOutput

func (o LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationOutput() LogMetricFilterMetricTransformationOutput

func (LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationOutputWithContext

func (o LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationOutputWithContext(ctx context.Context) LogMetricFilterMetricTransformationOutput

func (LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationPtrOutput

func (o LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationPtrOutput() LogMetricFilterMetricTransformationPtrOutput

func (LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationPtrOutputWithContext

func (o LogMetricFilterMetricTransformationOutput) ToLogMetricFilterMetricTransformationPtrOutputWithContext(ctx context.Context) LogMetricFilterMetricTransformationPtrOutput

func (LogMetricFilterMetricTransformationOutput) Value

What to publish to the metric. For example, if you're counting the occurrences of a particular term like "Error", the value will be "1" for each occurrence. If you're counting the bytes transferred the published value will be the value in the log event.

type LogMetricFilterMetricTransformationPtrInput

type LogMetricFilterMetricTransformationPtrInput interface {
	pulumi.Input

	ToLogMetricFilterMetricTransformationPtrOutput() LogMetricFilterMetricTransformationPtrOutput
	ToLogMetricFilterMetricTransformationPtrOutputWithContext(context.Context) LogMetricFilterMetricTransformationPtrOutput
}

LogMetricFilterMetricTransformationPtrInput is an input type that accepts LogMetricFilterMetricTransformationArgs, LogMetricFilterMetricTransformationPtr and LogMetricFilterMetricTransformationPtrOutput values. You can construct a concrete instance of `LogMetricFilterMetricTransformationPtrInput` via:

        LogMetricFilterMetricTransformationArgs{...}

or:

        nil

type LogMetricFilterMetricTransformationPtrOutput

type LogMetricFilterMetricTransformationPtrOutput struct{ *pulumi.OutputState }

func (LogMetricFilterMetricTransformationPtrOutput) DefaultValue

The value to emit when a filter pattern does not match a log event.

func (LogMetricFilterMetricTransformationPtrOutput) Elem

func (LogMetricFilterMetricTransformationPtrOutput) ElementType

func (LogMetricFilterMetricTransformationPtrOutput) Name

The name of the CloudWatch metric to which the monitored log information should be published (e.g. `ErrorCount`)

func (LogMetricFilterMetricTransformationPtrOutput) Namespace

The destination namespace of the CloudWatch metric.

func (LogMetricFilterMetricTransformationPtrOutput) ToLogMetricFilterMetricTransformationPtrOutput

func (o LogMetricFilterMetricTransformationPtrOutput) ToLogMetricFilterMetricTransformationPtrOutput() LogMetricFilterMetricTransformationPtrOutput

func (LogMetricFilterMetricTransformationPtrOutput) ToLogMetricFilterMetricTransformationPtrOutputWithContext

func (o LogMetricFilterMetricTransformationPtrOutput) ToLogMetricFilterMetricTransformationPtrOutputWithContext(ctx context.Context) LogMetricFilterMetricTransformationPtrOutput

func (LogMetricFilterMetricTransformationPtrOutput) Value

What to publish to the metric. For example, if you're counting the occurrences of a particular term like "Error", the value will be "1" for each occurrence. If you're counting the bytes transferred the published value will be the value in the log event.

type LogMetricFilterState

type LogMetricFilterState struct {
	// The name of the log group to associate the metric filter with.
	LogGroupName pulumi.StringPtrInput
	// A block defining collection of information
	// needed to define how metric data gets emitted. See below.
	MetricTransformation LogMetricFilterMetricTransformationPtrInput
	// A name for the metric filter.
	Name pulumi.StringPtrInput
	// A valid [CloudWatch Logs filter pattern](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/FilterAndPatternSyntax.html)
	// for extracting metric data out of ingested log events.
	Pattern pulumi.StringPtrInput
}

func (LogMetricFilterState) ElementType

func (LogMetricFilterState) ElementType() reflect.Type

type LogResourcePolicy

type LogResourcePolicy struct {
	pulumi.CustomResourceState

	// Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters.
	PolicyDocument pulumi.StringOutput `pulumi:"policyDocument"`
	// Name of the resource policy.
	PolicyName pulumi.StringOutput `pulumi:"policyName"`
}

Provides a resource to manage a CloudWatch log resource policy.

## Example Usage ### Elasticsearch Log Publishing

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		elasticsearch_log_publishing_policyPolicyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				iam.GetPolicyDocumentStatement{
					Actions: []string{
						"logs:CreateLogStream",
						"logs:PutLogEvents",
						"logs:PutLogEventsBatch",
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Identifiers: []string{
								"es.amazonaws.com",
							},
							Type: "Service",
						},
					},
					Resources: []string{
						"arn:aws:logs:*",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewLogResourcePolicy(ctx, "elasticsearch_log_publishing_policyLogResourcePolicy", &cloudwatch.LogResourcePolicyArgs{
			PolicyDocument: pulumi.String(elasticsearch_log_publishing_policyPolicyDocument.Json),
			PolicyName:     pulumi.String("elasticsearch-log-publishing-policy"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Route53 Query Logging

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		route53_query_logging_policyPolicyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				iam.GetPolicyDocumentStatement{
					Actions: []string{
						"logs:CreateLogStream",
						"logs:PutLogEvents",
					},
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Identifiers: []string{
								"route53.amazonaws.com",
							},
							Type: "Service",
						},
					},
					Resources: []string{
						"arn:aws:logs:*:*:log-group:/aws/route53/*",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewLogResourcePolicy(ctx, "route53_query_logging_policyLogResourcePolicy", &cloudwatch.LogResourcePolicyArgs{
			PolicyDocument: pulumi.String(route53_query_logging_policyPolicyDocument.Json),
			PolicyName:     pulumi.String("route53-query-logging-policy"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogResourcePolicy

func GetLogResourcePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogResourcePolicyState, opts ...pulumi.ResourceOption) (*LogResourcePolicy, error)

GetLogResourcePolicy gets an existing LogResourcePolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogResourcePolicy

func NewLogResourcePolicy(ctx *pulumi.Context,
	name string, args *LogResourcePolicyArgs, opts ...pulumi.ResourceOption) (*LogResourcePolicy, error)

NewLogResourcePolicy registers a new resource with the given unique name, arguments, and options.

type LogResourcePolicyArgs

type LogResourcePolicyArgs struct {
	// Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters.
	PolicyDocument pulumi.StringInput
	// Name of the resource policy.
	PolicyName pulumi.StringInput
}

The set of arguments for constructing a LogResourcePolicy resource.

func (LogResourcePolicyArgs) ElementType

func (LogResourcePolicyArgs) ElementType() reflect.Type

type LogResourcePolicyState

type LogResourcePolicyState struct {
	// Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters.
	PolicyDocument pulumi.StringPtrInput
	// Name of the resource policy.
	PolicyName pulumi.StringPtrInput
}

func (LogResourcePolicyState) ElementType

func (LogResourcePolicyState) ElementType() reflect.Type

type LogStream

type LogStream struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) specifying the log stream.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the log group under which the log stream is to be created.
	LogGroupName pulumi.StringOutput `pulumi:"logGroupName"`
	// The name of the log stream. Must not be longer than 512 characters and must not contain `:`
	Name pulumi.StringOutput `pulumi:"name"`
}

Provides a CloudWatch Log Stream resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		yada, err := cloudwatch.NewLogGroup(ctx, "yada", nil)
		if err != nil {
			return err
		}
		_, err = cloudwatch.NewLogStream(ctx, "foo", &cloudwatch.LogStreamArgs{
			LogGroupName: yada.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogStream

func GetLogStream(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogStreamState, opts ...pulumi.ResourceOption) (*LogStream, error)

GetLogStream gets an existing LogStream resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogStream

func NewLogStream(ctx *pulumi.Context,
	name string, args *LogStreamArgs, opts ...pulumi.ResourceOption) (*LogStream, error)

NewLogStream registers a new resource with the given unique name, arguments, and options.

type LogStreamArgs

type LogStreamArgs struct {
	// The name of the log group under which the log stream is to be created.
	LogGroupName pulumi.StringInput
	// The name of the log stream. Must not be longer than 512 characters and must not contain `:`
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a LogStream resource.

func (LogStreamArgs) ElementType

func (LogStreamArgs) ElementType() reflect.Type

type LogStreamState

type LogStreamState struct {
	// The Amazon Resource Name (ARN) specifying the log stream.
	Arn pulumi.StringPtrInput
	// The name of the log group under which the log stream is to be created.
	LogGroupName pulumi.StringPtrInput
	// The name of the log stream. Must not be longer than 512 characters and must not contain `:`
	Name pulumi.StringPtrInput
}

func (LogStreamState) ElementType

func (LogStreamState) ElementType() reflect.Type

type LogSubscriptionFilter

type LogSubscriptionFilter struct {
	pulumi.CustomResourceState

	// The ARN of the destination to deliver matching log events to. Kinesis stream or Lambda function ARN.
	DestinationArn pulumi.StringOutput `pulumi:"destinationArn"`
	// The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream. Valid values are "Random" and "ByLogStream".
	Distribution pulumi.StringPtrOutput `pulumi:"distribution"`
	// A valid CloudWatch Logs filter pattern for subscribing to a filtered stream of log events.
	FilterPattern pulumi.StringOutput `pulumi:"filterPattern"`
	// The name of the log group to associate the subscription filter with
	LogGroup pulumi.StringOutput `pulumi:"logGroup"`
	// A name for the subscription filter
	Name pulumi.StringOutput `pulumi:"name"`
	// The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to deliver ingested log events to the destination. If you use Lambda as a destination, you should skip this argument and use `lambda.Permission` resource for granting access from CloudWatch logs to the destination Lambda function.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
}

Provides a CloudWatch Logs subscription filter resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewLogSubscriptionFilter(ctx, "testLambdafunctionLogfilter", &cloudwatch.LogSubscriptionFilterArgs{
			DestinationArn: pulumi.String(aws_kinesis_stream.Test_logstream.Arn),
			Distribution:   pulumi.String("Random"),
			FilterPattern:  pulumi.String("logtype test"),
			LogGroup:       pulumi.String("/aws/lambda/example_lambda_name"),
			RoleArn:        pulumi.String(aws_iam_role.Iam_for_lambda.Arn),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetLogSubscriptionFilter

func GetLogSubscriptionFilter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LogSubscriptionFilterState, opts ...pulumi.ResourceOption) (*LogSubscriptionFilter, error)

GetLogSubscriptionFilter gets an existing LogSubscriptionFilter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLogSubscriptionFilter

func NewLogSubscriptionFilter(ctx *pulumi.Context,
	name string, args *LogSubscriptionFilterArgs, opts ...pulumi.ResourceOption) (*LogSubscriptionFilter, error)

NewLogSubscriptionFilter registers a new resource with the given unique name, arguments, and options.

type LogSubscriptionFilterArgs

type LogSubscriptionFilterArgs struct {
	// The ARN of the destination to deliver matching log events to. Kinesis stream or Lambda function ARN.
	DestinationArn pulumi.StringInput
	// The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream. Valid values are "Random" and "ByLogStream".
	Distribution pulumi.StringPtrInput
	// A valid CloudWatch Logs filter pattern for subscribing to a filtered stream of log events.
	FilterPattern pulumi.StringInput
	// The name of the log group to associate the subscription filter with
	LogGroup pulumi.Input
	// A name for the subscription filter
	Name pulumi.StringPtrInput
	// The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to deliver ingested log events to the destination. If you use Lambda as a destination, you should skip this argument and use `lambda.Permission` resource for granting access from CloudWatch logs to the destination Lambda function.
	RoleArn pulumi.StringPtrInput
}

The set of arguments for constructing a LogSubscriptionFilter resource.

func (LogSubscriptionFilterArgs) ElementType

func (LogSubscriptionFilterArgs) ElementType() reflect.Type

type LogSubscriptionFilterState

type LogSubscriptionFilterState struct {
	// The ARN of the destination to deliver matching log events to. Kinesis stream or Lambda function ARN.
	DestinationArn pulumi.StringPtrInput
	// The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream. Valid values are "Random" and "ByLogStream".
	Distribution pulumi.StringPtrInput
	// A valid CloudWatch Logs filter pattern for subscribing to a filtered stream of log events.
	FilterPattern pulumi.StringPtrInput
	// The name of the log group to associate the subscription filter with
	LogGroup pulumi.StringPtrInput
	// A name for the subscription filter
	Name pulumi.StringPtrInput
	// The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to deliver ingested log events to the destination. If you use Lambda as a destination, you should skip this argument and use `lambda.Permission` resource for granting access from CloudWatch logs to the destination Lambda function.
	RoleArn pulumi.StringPtrInput
}

func (LogSubscriptionFilterState) ElementType

func (LogSubscriptionFilterState) ElementType() reflect.Type

type LookupLogGroupArgs

type LookupLogGroupArgs struct {
	// The name of the Cloudwatch log group
	Name string `pulumi:"name"`
	// A map of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getLogGroup.

type LookupLogGroupResult

type LookupLogGroupResult struct {
	// The ARN of the Cloudwatch log group
	Arn string `pulumi:"arn"`
	// The creation time of the log group, expressed as the number of milliseconds after Jan 1, 1970 00:00:00 UTC.
	CreationTime int `pulumi:"creationTime"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The ARN of the KMS Key to use when encrypting log data.
	KmsKeyId string `pulumi:"kmsKeyId"`
	Name     string `pulumi:"name"`
	// The number of days log events retained in the specified log group.
	RetentionInDays int `pulumi:"retentionInDays"`
	// A map of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getLogGroup.

func LookupLogGroup

func LookupLogGroup(ctx *pulumi.Context, args *LookupLogGroupArgs, opts ...pulumi.InvokeOption) (*LookupLogGroupResult, error)

Use this data source to get information about an AWS Cloudwatch Log Group

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.LookupLogGroup(ctx, &cloudwatch.LookupLogGroupArgs{
			Name: "MyImportantLogs",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type MetricAlarm

type MetricAlarm struct {
	pulumi.CustomResourceState

	// Indicates whether or not actions should be executed during any changes to the alarm's state. Defaults to `true`.
	ActionsEnabled pulumi.BoolPtrOutput `pulumi:"actionsEnabled"`
	// The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	AlarmActions pulumi.StringArrayOutput `pulumi:"alarmActions"`
	// The description for the alarm.
	AlarmDescription pulumi.StringPtrOutput `pulumi:"alarmDescription"`
	// The ARN of the cloudwatch metric alarm.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: `GreaterThanOrEqualToThreshold`, `GreaterThanThreshold`, `LessThanThreshold`, `LessThanOrEqualToThreshold`. Additionally, the values  `LessThanLowerOrGreaterThanUpperThreshold`, `LessThanLowerThreshold`, and `GreaterThanUpperThreshold` are used only for alarms based on anomaly detection models.
	ComparisonOperator pulumi.StringOutput `pulumi:"comparisonOperator"`
	// The number of datapoints that must be breaching to trigger the alarm.
	DatapointsToAlarm pulumi.IntPtrOutput `pulumi:"datapointsToAlarm"`
	// The dimensions for this metric.  For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Dimensions pulumi.StringMapOutput `pulumi:"dimensions"`
	// Used only for alarms
	// based on percentiles. If you specify `ignore`, the alarm state will not
	// change during periods with too few data points to be statistically significant.
	// If you specify `evaluate` or omit this parameter, the alarm will always be
	// evaluated and possibly change state no matter how many data points are available.
	// The following values are supported: `ignore`, and `evaluate`.
	EvaluateLowSampleCountPercentiles pulumi.StringOutput `pulumi:"evaluateLowSampleCountPercentiles"`
	// The number of periods over which data is compared to the specified threshold.
	EvaluationPeriods pulumi.IntOutput `pulumi:"evaluationPeriods"`
	// The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
	ExtendedStatistic pulumi.StringPtrOutput `pulumi:"extendedStatistic"`
	// The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	InsufficientDataActions pulumi.StringArrayOutput `pulumi:"insufficientDataActions"`
	// The name for this metric.
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	MetricName pulumi.StringPtrOutput `pulumi:"metricName"`
	// Enables you to create an alarm based on a metric math expression. You may specify at most 20.
	MetricQueries MetricAlarmMetricQueryArrayOutput `pulumi:"metricQueries"`
	// The descriptive name for the alarm. This name must be unique within the user's AWS account
	Name pulumi.StringOutput `pulumi:"name"`
	// The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html).
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Namespace pulumi.StringPtrOutput `pulumi:"namespace"`
	// The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	OkActions pulumi.StringArrayOutput `pulumi:"okActions"`
	// The period in seconds over which the specified `stat` is applied.
	Period pulumi.IntPtrOutput `pulumi:"period"`
	// The statistic to apply to the alarm's associated metric.
	// Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`
	Statistic pulumi.StringPtrOutput `pulumi:"statistic"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.
	Threshold pulumi.Float64PtrOutput `pulumi:"threshold"`
	// If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.
	ThresholdMetricId pulumi.StringPtrOutput `pulumi:"thresholdMetricId"`
	// Sets how this alarm is to handle missing data points. The following values are supported: `missing`, `ignore`, `breaching` and `notBreaching`. Defaults to `missing`.
	TreatMissingData pulumi.StringPtrOutput `pulumi:"treatMissingData"`
	// The unit for this metric.
	Unit pulumi.StringPtrOutput `pulumi:"unit"`
}

Provides a CloudWatch Metric Alarm resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewMetricAlarm(ctx, "foobar", &cloudwatch.MetricAlarmArgs{
			AlarmDescription:        pulumi.String("This metric monitors ec2 cpu utilization"),
			ComparisonOperator:      pulumi.String("GreaterThanOrEqualToThreshold"),
			EvaluationPeriods:       pulumi.Int(2),
			InsufficientDataActions: []interface{}{},
			MetricName:              pulumi.String("CPUUtilization"),
			Namespace:               pulumi.String("AWS/EC2"),
			Period:                  pulumi.Int(120),
			Statistic:               pulumi.String("Average"),
			Threshold:               pulumi.Float64(80),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Example with an Expression

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewMetricAlarm(ctx, "foobar", &cloudwatch.MetricAlarmArgs{
			AlarmDescription:        pulumi.String(fmt.Sprintf("%v%v", "Request error rate has exceeded 10", "%")),
			ComparisonOperator:      pulumi.String("GreaterThanOrEqualToThreshold"),
			EvaluationPeriods:       pulumi.Int(2),
			InsufficientDataActions: []interface{}{},
			MetricQueries: cloudwatch.MetricAlarmMetricQueryArray{
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Expression: pulumi.String("m2/m1*100"),
					Id:         pulumi.String("e1"),
					Label:      pulumi.String("Error Rate"),
					ReturnData: pulumi.Bool(true),
				},
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Id: pulumi.String("m1"),
					Metric: &cloudwatch.MetricAlarmMetricQueryMetricArgs{
						Dimensions: pulumi.StringMap{
							"LoadBalancer": pulumi.String("app/web"),
						},
						MetricName: pulumi.String("RequestCount"),
						Namespace:  pulumi.String("AWS/ApplicationELB"),
						Period:     pulumi.Int(120),
						Stat:       pulumi.String("Sum"),
						Unit:       pulumi.String("Count"),
					},
				},
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Id: pulumi.String("m2"),
					Metric: &cloudwatch.MetricAlarmMetricQueryMetricArgs{
						Dimensions: pulumi.StringMap{
							"LoadBalancer": pulumi.String("app/web"),
						},
						MetricName: pulumi.String("HTTPCode_ELB_5XX_Count"),
						Namespace:  pulumi.String("AWS/ApplicationELB"),
						Period:     pulumi.Int(120),
						Stat:       pulumi.String("Sum"),
						Unit:       pulumi.String("Count"),
					},
				},
			},
			Threshold: pulumi.Float64(10),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudwatch"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudwatch.NewMetricAlarm(ctx, "xxAnomalyDetection", &cloudwatch.MetricAlarmArgs{
			AlarmDescription:        pulumi.String("This metric monitors ec2 cpu utilization"),
			ComparisonOperator:      pulumi.String("GreaterThanUpperThreshold"),
			EvaluationPeriods:       pulumi.Int(2),
			InsufficientDataActions: []interface{}{},
			MetricQueries: cloudwatch.MetricAlarmMetricQueryArray{
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Expression: pulumi.String("ANOMALY_DETECTION_BAND(m1)"),
					Id:         pulumi.String("e1"),
					Label:      pulumi.String("CPUUtilization (Expected)"),
					ReturnData: pulumi.Bool(true),
				},
				&cloudwatch.MetricAlarmMetricQueryArgs{
					Id: pulumi.String("m1"),
					Metric: &cloudwatch.MetricAlarmMetricQueryMetricArgs{
						Dimensions: pulumi.StringMap{
							"InstanceId": pulumi.String("i-abc123"),
						},
						MetricName: pulumi.String("CPUUtilization"),
						Namespace:  pulumi.String("AWS/EC2"),
						Period:     pulumi.Int(120),
						Stat:       pulumi.String("Average"),
						Unit:       pulumi.String("Count"),
					},
					ReturnData: pulumi.Bool(true),
				},
			},
			ThresholdMetricId: pulumi.String("e1"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetMetricAlarm

func GetMetricAlarm(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *MetricAlarmState, opts ...pulumi.ResourceOption) (*MetricAlarm, error)

GetMetricAlarm gets an existing MetricAlarm resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewMetricAlarm

func NewMetricAlarm(ctx *pulumi.Context,
	name string, args *MetricAlarmArgs, opts ...pulumi.ResourceOption) (*MetricAlarm, error)

NewMetricAlarm registers a new resource with the given unique name, arguments, and options.

type MetricAlarmArgs

type MetricAlarmArgs struct {
	// Indicates whether or not actions should be executed during any changes to the alarm's state. Defaults to `true`.
	ActionsEnabled pulumi.BoolPtrInput
	// The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	AlarmActions pulumi.ArrayInput
	// The description for the alarm.
	AlarmDescription pulumi.StringPtrInput
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: `GreaterThanOrEqualToThreshold`, `GreaterThanThreshold`, `LessThanThreshold`, `LessThanOrEqualToThreshold`. Additionally, the values  `LessThanLowerOrGreaterThanUpperThreshold`, `LessThanLowerThreshold`, and `GreaterThanUpperThreshold` are used only for alarms based on anomaly detection models.
	ComparisonOperator pulumi.StringInput
	// The number of datapoints that must be breaching to trigger the alarm.
	DatapointsToAlarm pulumi.IntPtrInput
	// The dimensions for this metric.  For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Dimensions pulumi.StringMapInput
	// Used only for alarms
	// based on percentiles. If you specify `ignore`, the alarm state will not
	// change during periods with too few data points to be statistically significant.
	// If you specify `evaluate` or omit this parameter, the alarm will always be
	// evaluated and possibly change state no matter how many data points are available.
	// The following values are supported: `ignore`, and `evaluate`.
	EvaluateLowSampleCountPercentiles pulumi.StringPtrInput
	// The number of periods over which data is compared to the specified threshold.
	EvaluationPeriods pulumi.IntInput
	// The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
	ExtendedStatistic pulumi.StringPtrInput
	// The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	InsufficientDataActions pulumi.ArrayInput
	// The name for this metric.
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	MetricName pulumi.StringPtrInput
	// Enables you to create an alarm based on a metric math expression. You may specify at most 20.
	MetricQueries MetricAlarmMetricQueryArrayInput
	// The descriptive name for the alarm. This name must be unique within the user's AWS account
	Name pulumi.StringPtrInput
	// The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html).
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Namespace pulumi.StringPtrInput
	// The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	OkActions pulumi.ArrayInput
	// The period in seconds over which the specified `stat` is applied.
	Period pulumi.IntPtrInput
	// The statistic to apply to the alarm's associated metric.
	// Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`
	Statistic pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.
	Threshold pulumi.Float64PtrInput
	// If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.
	ThresholdMetricId pulumi.StringPtrInput
	// Sets how this alarm is to handle missing data points. The following values are supported: `missing`, `ignore`, `breaching` and `notBreaching`. Defaults to `missing`.
	TreatMissingData pulumi.StringPtrInput
	// The unit for this metric.
	Unit pulumi.StringPtrInput
}

The set of arguments for constructing a MetricAlarm resource.

func (MetricAlarmArgs) ElementType

func (MetricAlarmArgs) ElementType() reflect.Type

type MetricAlarmMetricQuery

type MetricAlarmMetricQuery struct {
	// The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax).
	Expression *string `pulumi:"expression"`
	// A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.
	Id string `pulumi:"id"`
	// A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.
	Label *string `pulumi:"label"`
	// The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.
	Metric *MetricAlarmMetricQueryMetric `pulumi:"metric"`
	// Specify exactly one `metricQuery` to be `true` to use that `metricQuery` result as the alarm.
	ReturnData *bool `pulumi:"returnData"`
}

type MetricAlarmMetricQueryArgs

type MetricAlarmMetricQueryArgs struct {
	// The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax).
	Expression pulumi.StringPtrInput `pulumi:"expression"`
	// A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.
	Id pulumi.StringInput `pulumi:"id"`
	// A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.
	Label pulumi.StringPtrInput `pulumi:"label"`
	// The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.
	Metric MetricAlarmMetricQueryMetricPtrInput `pulumi:"metric"`
	// Specify exactly one `metricQuery` to be `true` to use that `metricQuery` result as the alarm.
	ReturnData pulumi.BoolPtrInput `pulumi:"returnData"`
}

func (MetricAlarmMetricQueryArgs) ElementType

func (MetricAlarmMetricQueryArgs) ElementType() reflect.Type

func (MetricAlarmMetricQueryArgs) ToMetricAlarmMetricQueryOutput

func (i MetricAlarmMetricQueryArgs) ToMetricAlarmMetricQueryOutput() MetricAlarmMetricQueryOutput

func (MetricAlarmMetricQueryArgs) ToMetricAlarmMetricQueryOutputWithContext

func (i MetricAlarmMetricQueryArgs) ToMetricAlarmMetricQueryOutputWithContext(ctx context.Context) MetricAlarmMetricQueryOutput

type MetricAlarmMetricQueryArray

type MetricAlarmMetricQueryArray []MetricAlarmMetricQueryInput

func (MetricAlarmMetricQueryArray) ElementType

func (MetricAlarmMetricQueryArray) ToMetricAlarmMetricQueryArrayOutput

func (i MetricAlarmMetricQueryArray) ToMetricAlarmMetricQueryArrayOutput() MetricAlarmMetricQueryArrayOutput

func (MetricAlarmMetricQueryArray) ToMetricAlarmMetricQueryArrayOutputWithContext

func (i MetricAlarmMetricQueryArray) ToMetricAlarmMetricQueryArrayOutputWithContext(ctx context.Context) MetricAlarmMetricQueryArrayOutput

type MetricAlarmMetricQueryArrayInput

type MetricAlarmMetricQueryArrayInput interface {
	pulumi.Input

	ToMetricAlarmMetricQueryArrayOutput() MetricAlarmMetricQueryArrayOutput
	ToMetricAlarmMetricQueryArrayOutputWithContext(context.Context) MetricAlarmMetricQueryArrayOutput
}

MetricAlarmMetricQueryArrayInput is an input type that accepts MetricAlarmMetricQueryArray and MetricAlarmMetricQueryArrayOutput values. You can construct a concrete instance of `MetricAlarmMetricQueryArrayInput` via:

MetricAlarmMetricQueryArray{ MetricAlarmMetricQueryArgs{...} }

type MetricAlarmMetricQueryArrayOutput

type MetricAlarmMetricQueryArrayOutput struct{ *pulumi.OutputState }

func (MetricAlarmMetricQueryArrayOutput) ElementType

func (MetricAlarmMetricQueryArrayOutput) Index

func (MetricAlarmMetricQueryArrayOutput) ToMetricAlarmMetricQueryArrayOutput

func (o MetricAlarmMetricQueryArrayOutput) ToMetricAlarmMetricQueryArrayOutput() MetricAlarmMetricQueryArrayOutput

func (MetricAlarmMetricQueryArrayOutput) ToMetricAlarmMetricQueryArrayOutputWithContext

func (o MetricAlarmMetricQueryArrayOutput) ToMetricAlarmMetricQueryArrayOutputWithContext(ctx context.Context) MetricAlarmMetricQueryArrayOutput

type MetricAlarmMetricQueryInput

type MetricAlarmMetricQueryInput interface {
	pulumi.Input

	ToMetricAlarmMetricQueryOutput() MetricAlarmMetricQueryOutput
	ToMetricAlarmMetricQueryOutputWithContext(context.Context) MetricAlarmMetricQueryOutput
}

MetricAlarmMetricQueryInput is an input type that accepts MetricAlarmMetricQueryArgs and MetricAlarmMetricQueryOutput values. You can construct a concrete instance of `MetricAlarmMetricQueryInput` via:

MetricAlarmMetricQueryArgs{...}

type MetricAlarmMetricQueryMetric

type MetricAlarmMetricQueryMetric struct {
	// The dimensions for this metric.  For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Dimensions map[string]string `pulumi:"dimensions"`
	// The name for this metric.
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	MetricName string `pulumi:"metricName"`
	// The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html).
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Namespace *string `pulumi:"namespace"`
	// The period in seconds over which the specified `stat` is applied.
	Period int `pulumi:"period"`
	// The statistic to apply to this metric.
	// Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`
	Stat string `pulumi:"stat"`
	// The unit for this metric.
	Unit *string `pulumi:"unit"`
}

type MetricAlarmMetricQueryMetricArgs

type MetricAlarmMetricQueryMetricArgs struct {
	// The dimensions for this metric.  For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Dimensions pulumi.StringMapInput `pulumi:"dimensions"`
	// The name for this metric.
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	MetricName pulumi.StringInput `pulumi:"metricName"`
	// The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html).
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Namespace pulumi.StringPtrInput `pulumi:"namespace"`
	// The period in seconds over which the specified `stat` is applied.
	Period pulumi.IntInput `pulumi:"period"`
	// The statistic to apply to this metric.
	// Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`
	Stat pulumi.StringInput `pulumi:"stat"`
	// The unit for this metric.
	Unit pulumi.StringPtrInput `pulumi:"unit"`
}

func (MetricAlarmMetricQueryMetricArgs) ElementType

func (MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricOutput

func (i MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricOutput() MetricAlarmMetricQueryMetricOutput

func (MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricOutputWithContext

func (i MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricOutputWithContext(ctx context.Context) MetricAlarmMetricQueryMetricOutput

func (MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricPtrOutput

func (i MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricPtrOutput() MetricAlarmMetricQueryMetricPtrOutput

func (MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricPtrOutputWithContext

func (i MetricAlarmMetricQueryMetricArgs) ToMetricAlarmMetricQueryMetricPtrOutputWithContext(ctx context.Context) MetricAlarmMetricQueryMetricPtrOutput

type MetricAlarmMetricQueryMetricInput

type MetricAlarmMetricQueryMetricInput interface {
	pulumi.Input

	ToMetricAlarmMetricQueryMetricOutput() MetricAlarmMetricQueryMetricOutput
	ToMetricAlarmMetricQueryMetricOutputWithContext(context.Context) MetricAlarmMetricQueryMetricOutput
}

MetricAlarmMetricQueryMetricInput is an input type that accepts MetricAlarmMetricQueryMetricArgs and MetricAlarmMetricQueryMetricOutput values. You can construct a concrete instance of `MetricAlarmMetricQueryMetricInput` via:

MetricAlarmMetricQueryMetricArgs{...}

type MetricAlarmMetricQueryMetricOutput

type MetricAlarmMetricQueryMetricOutput struct{ *pulumi.OutputState }

func (MetricAlarmMetricQueryMetricOutput) Dimensions

The dimensions for this metric. For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).

func (MetricAlarmMetricQueryMetricOutput) ElementType

func (MetricAlarmMetricQueryMetricOutput) MetricName

The name for this metric. See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).

func (MetricAlarmMetricQueryMetricOutput) Namespace

The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html). See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).

func (MetricAlarmMetricQueryMetricOutput) Period

The period in seconds over which the specified `stat` is applied.

func (MetricAlarmMetricQueryMetricOutput) Stat

The statistic to apply to this metric. Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`

func (MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricOutput

func (o MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricOutput() MetricAlarmMetricQueryMetricOutput

func (MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricOutputWithContext

func (o MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricOutputWithContext(ctx context.Context) MetricAlarmMetricQueryMetricOutput

func (MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricPtrOutput

func (o MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricPtrOutput() MetricAlarmMetricQueryMetricPtrOutput

func (MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricPtrOutputWithContext

func (o MetricAlarmMetricQueryMetricOutput) ToMetricAlarmMetricQueryMetricPtrOutputWithContext(ctx context.Context) MetricAlarmMetricQueryMetricPtrOutput

func (MetricAlarmMetricQueryMetricOutput) Unit

The unit for this metric.

type MetricAlarmMetricQueryMetricPtrInput

type MetricAlarmMetricQueryMetricPtrInput interface {
	pulumi.Input

	ToMetricAlarmMetricQueryMetricPtrOutput() MetricAlarmMetricQueryMetricPtrOutput
	ToMetricAlarmMetricQueryMetricPtrOutputWithContext(context.Context) MetricAlarmMetricQueryMetricPtrOutput
}

MetricAlarmMetricQueryMetricPtrInput is an input type that accepts MetricAlarmMetricQueryMetricArgs, MetricAlarmMetricQueryMetricPtr and MetricAlarmMetricQueryMetricPtrOutput values. You can construct a concrete instance of `MetricAlarmMetricQueryMetricPtrInput` via:

        MetricAlarmMetricQueryMetricArgs{...}

or:

        nil

type MetricAlarmMetricQueryMetricPtrOutput

type MetricAlarmMetricQueryMetricPtrOutput struct{ *pulumi.OutputState }

func (MetricAlarmMetricQueryMetricPtrOutput) Dimensions

The dimensions for this metric. For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).

func (MetricAlarmMetricQueryMetricPtrOutput) Elem

func (MetricAlarmMetricQueryMetricPtrOutput) ElementType

func (MetricAlarmMetricQueryMetricPtrOutput) MetricName

The name for this metric. See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).

func (MetricAlarmMetricQueryMetricPtrOutput) Namespace

The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html). See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).

func (MetricAlarmMetricQueryMetricPtrOutput) Period

The period in seconds over which the specified `stat` is applied.

func (MetricAlarmMetricQueryMetricPtrOutput) Stat

The statistic to apply to this metric. Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`

func (MetricAlarmMetricQueryMetricPtrOutput) ToMetricAlarmMetricQueryMetricPtrOutput

func (o MetricAlarmMetricQueryMetricPtrOutput) ToMetricAlarmMetricQueryMetricPtrOutput() MetricAlarmMetricQueryMetricPtrOutput

func (MetricAlarmMetricQueryMetricPtrOutput) ToMetricAlarmMetricQueryMetricPtrOutputWithContext

func (o MetricAlarmMetricQueryMetricPtrOutput) ToMetricAlarmMetricQueryMetricPtrOutputWithContext(ctx context.Context) MetricAlarmMetricQueryMetricPtrOutput

func (MetricAlarmMetricQueryMetricPtrOutput) Unit

The unit for this metric.

type MetricAlarmMetricQueryOutput

type MetricAlarmMetricQueryOutput struct{ *pulumi.OutputState }

func (MetricAlarmMetricQueryOutput) ElementType

func (MetricAlarmMetricQueryOutput) Expression

The math expression to be performed on the returned data, if this object is performing a math expression. This expression can use the id of the other metrics to refer to those metrics, and can also use the id of other expressions to use the result of those expressions. For more information about metric math expressions, see Metric Math Syntax and Functions in the [Amazon CloudWatch User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax).

func (MetricAlarmMetricQueryOutput) Id

A short name used to tie this object to the results in the response. If you are performing math expressions on this set of data, this name represents that data and can serve as a variable in the mathematical expression. The valid characters are letters, numbers, and underscore. The first character must be a lowercase letter.

func (MetricAlarmMetricQueryOutput) Label

A human-readable label for this metric or expression. This is especially useful if this is an expression, so that you know what the value represents.

func (MetricAlarmMetricQueryOutput) Metric

The metric to be returned, along with statistics, period, and units. Use this parameter only if this object is retrieving a metric and not performing a math expression on returned data.

func (MetricAlarmMetricQueryOutput) ReturnData

Specify exactly one `metricQuery` to be `true` to use that `metricQuery` result as the alarm.

func (MetricAlarmMetricQueryOutput) ToMetricAlarmMetricQueryOutput

func (o MetricAlarmMetricQueryOutput) ToMetricAlarmMetricQueryOutput() MetricAlarmMetricQueryOutput

func (MetricAlarmMetricQueryOutput) ToMetricAlarmMetricQueryOutputWithContext

func (o MetricAlarmMetricQueryOutput) ToMetricAlarmMetricQueryOutputWithContext(ctx context.Context) MetricAlarmMetricQueryOutput

type MetricAlarmState

type MetricAlarmState struct {
	// Indicates whether or not actions should be executed during any changes to the alarm's state. Defaults to `true`.
	ActionsEnabled pulumi.BoolPtrInput
	// The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	AlarmActions pulumi.StringArrayInput
	// The description for the alarm.
	AlarmDescription pulumi.StringPtrInput
	// The ARN of the cloudwatch metric alarm.
	Arn pulumi.StringPtrInput
	// The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: `GreaterThanOrEqualToThreshold`, `GreaterThanThreshold`, `LessThanThreshold`, `LessThanOrEqualToThreshold`. Additionally, the values  `LessThanLowerOrGreaterThanUpperThreshold`, `LessThanLowerThreshold`, and `GreaterThanUpperThreshold` are used only for alarms based on anomaly detection models.
	ComparisonOperator pulumi.StringPtrInput
	// The number of datapoints that must be breaching to trigger the alarm.
	DatapointsToAlarm pulumi.IntPtrInput
	// The dimensions for this metric.  For the list of available dimensions see the AWS documentation [here](http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Dimensions pulumi.StringMapInput
	// Used only for alarms
	// based on percentiles. If you specify `ignore`, the alarm state will not
	// change during periods with too few data points to be statistically significant.
	// If you specify `evaluate` or omit this parameter, the alarm will always be
	// evaluated and possibly change state no matter how many data points are available.
	// The following values are supported: `ignore`, and `evaluate`.
	EvaluateLowSampleCountPercentiles pulumi.StringPtrInput
	// The number of periods over which data is compared to the specified threshold.
	EvaluationPeriods pulumi.IntPtrInput
	// The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.
	ExtendedStatistic pulumi.StringPtrInput
	// The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	InsufficientDataActions pulumi.StringArrayInput
	// The name for this metric.
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	MetricName pulumi.StringPtrInput
	// Enables you to create an alarm based on a metric math expression. You may specify at most 20.
	MetricQueries MetricAlarmMetricQueryArrayInput
	// The descriptive name for the alarm. This name must be unique within the user's AWS account
	Name pulumi.StringPtrInput
	// The namespace for this metric. See docs for the [list of namespaces](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/aws-namespaces.html).
	// See docs for [supported metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CW_Support_For_AWS.html).
	Namespace pulumi.StringPtrInput
	// The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Name (ARN).
	OkActions pulumi.StringArrayInput
	// The period in seconds over which the specified `stat` is applied.
	Period pulumi.IntPtrInput
	// The statistic to apply to the alarm's associated metric.
	// Either of the following is supported: `SampleCount`, `Average`, `Sum`, `Minimum`, `Maximum`
	Statistic pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The value against which the specified statistic is compared. This parameter is required for alarms based on static thresholds, but should not be used for alarms based on anomaly detection models.
	Threshold pulumi.Float64PtrInput
	// If this is an alarm based on an anomaly detection model, make this value match the ID of the ANOMALY_DETECTION_BAND function.
	ThresholdMetricId pulumi.StringPtrInput
	// Sets how this alarm is to handle missing data points. The following values are supported: `missing`, `ignore`, `breaching` and `notBreaching`. Defaults to `missing`.
	TreatMissingData pulumi.StringPtrInput
	// The unit for this metric.
	Unit pulumi.StringPtrInput
}

func (MetricAlarmState) ElementType

func (MetricAlarmState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL