cfg

package
v3.38.1 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AggregateAuthorization

type AggregateAuthorization struct {
	pulumi.CustomResourceState

	// Account ID
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// The ARN of the authorization
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Region
	Region pulumi.StringOutput `pulumi:"region"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an AWS Config Aggregate Authorization

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cfg.NewAggregateAuthorization(ctx, "example", &cfg.AggregateAuthorizationArgs{
			AccountId: pulumi.String("123456789012"),
			Region:    pulumi.String("eu-west-2"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Config aggregate authorizations can be imported using `account_id:region`, e.g.

```sh

$ pulumi import aws:cfg/aggregateAuthorization:AggregateAuthorization example 123456789012:us-east-1

```

func GetAggregateAuthorization

func GetAggregateAuthorization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AggregateAuthorizationState, opts ...pulumi.ResourceOption) (*AggregateAuthorization, error)

GetAggregateAuthorization gets an existing AggregateAuthorization 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 NewAggregateAuthorization

func NewAggregateAuthorization(ctx *pulumi.Context,
	name string, args *AggregateAuthorizationArgs, opts ...pulumi.ResourceOption) (*AggregateAuthorization, error)

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

func (*AggregateAuthorization) ElementType added in v3.13.0

func (*AggregateAuthorization) ElementType() reflect.Type

func (*AggregateAuthorization) ToAggregateAuthorizationOutput added in v3.13.0

func (i *AggregateAuthorization) ToAggregateAuthorizationOutput() AggregateAuthorizationOutput

func (*AggregateAuthorization) ToAggregateAuthorizationOutputWithContext added in v3.13.0

func (i *AggregateAuthorization) ToAggregateAuthorizationOutputWithContext(ctx context.Context) AggregateAuthorizationOutput

func (*AggregateAuthorization) ToAggregateAuthorizationPtrOutput added in v3.25.0

func (i *AggregateAuthorization) ToAggregateAuthorizationPtrOutput() AggregateAuthorizationPtrOutput

func (*AggregateAuthorization) ToAggregateAuthorizationPtrOutputWithContext added in v3.25.0

func (i *AggregateAuthorization) ToAggregateAuthorizationPtrOutputWithContext(ctx context.Context) AggregateAuthorizationPtrOutput

type AggregateAuthorizationArgs

type AggregateAuthorizationArgs struct {
	// Account ID
	AccountId pulumi.StringInput
	// Region
	Region pulumi.StringInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a AggregateAuthorization resource.

func (AggregateAuthorizationArgs) ElementType

func (AggregateAuthorizationArgs) ElementType() reflect.Type

type AggregateAuthorizationArray added in v3.25.0

type AggregateAuthorizationArray []AggregateAuthorizationInput

func (AggregateAuthorizationArray) ElementType added in v3.25.0

func (AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutput added in v3.25.0

func (i AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutput() AggregateAuthorizationArrayOutput

func (AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutputWithContext added in v3.25.0

func (i AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutputWithContext(ctx context.Context) AggregateAuthorizationArrayOutput

type AggregateAuthorizationArrayInput added in v3.25.0

type AggregateAuthorizationArrayInput interface {
	pulumi.Input

	ToAggregateAuthorizationArrayOutput() AggregateAuthorizationArrayOutput
	ToAggregateAuthorizationArrayOutputWithContext(context.Context) AggregateAuthorizationArrayOutput
}

AggregateAuthorizationArrayInput is an input type that accepts AggregateAuthorizationArray and AggregateAuthorizationArrayOutput values. You can construct a concrete instance of `AggregateAuthorizationArrayInput` via:

AggregateAuthorizationArray{ AggregateAuthorizationArgs{...} }

type AggregateAuthorizationArrayOutput added in v3.25.0

type AggregateAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (AggregateAuthorizationArrayOutput) ElementType added in v3.25.0

func (AggregateAuthorizationArrayOutput) Index added in v3.25.0

func (AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutput added in v3.25.0

func (o AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutput() AggregateAuthorizationArrayOutput

func (AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutputWithContext added in v3.25.0

func (o AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutputWithContext(ctx context.Context) AggregateAuthorizationArrayOutput

type AggregateAuthorizationInput added in v3.13.0

type AggregateAuthorizationInput interface {
	pulumi.Input

	ToAggregateAuthorizationOutput() AggregateAuthorizationOutput
	ToAggregateAuthorizationOutputWithContext(ctx context.Context) AggregateAuthorizationOutput
}

type AggregateAuthorizationMap added in v3.25.0

type AggregateAuthorizationMap map[string]AggregateAuthorizationInput

func (AggregateAuthorizationMap) ElementType added in v3.25.0

func (AggregateAuthorizationMap) ElementType() reflect.Type

func (AggregateAuthorizationMap) ToAggregateAuthorizationMapOutput added in v3.25.0

func (i AggregateAuthorizationMap) ToAggregateAuthorizationMapOutput() AggregateAuthorizationMapOutput

func (AggregateAuthorizationMap) ToAggregateAuthorizationMapOutputWithContext added in v3.25.0

func (i AggregateAuthorizationMap) ToAggregateAuthorizationMapOutputWithContext(ctx context.Context) AggregateAuthorizationMapOutput

type AggregateAuthorizationMapInput added in v3.25.0

type AggregateAuthorizationMapInput interface {
	pulumi.Input

	ToAggregateAuthorizationMapOutput() AggregateAuthorizationMapOutput
	ToAggregateAuthorizationMapOutputWithContext(context.Context) AggregateAuthorizationMapOutput
}

AggregateAuthorizationMapInput is an input type that accepts AggregateAuthorizationMap and AggregateAuthorizationMapOutput values. You can construct a concrete instance of `AggregateAuthorizationMapInput` via:

AggregateAuthorizationMap{ "key": AggregateAuthorizationArgs{...} }

type AggregateAuthorizationMapOutput added in v3.25.0

type AggregateAuthorizationMapOutput struct{ *pulumi.OutputState }

func (AggregateAuthorizationMapOutput) ElementType added in v3.25.0

func (AggregateAuthorizationMapOutput) MapIndex added in v3.25.0

func (AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutput added in v3.25.0

func (o AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutput() AggregateAuthorizationMapOutput

func (AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutputWithContext added in v3.25.0

func (o AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutputWithContext(ctx context.Context) AggregateAuthorizationMapOutput

type AggregateAuthorizationOutput added in v3.13.0

type AggregateAuthorizationOutput struct {
	*pulumi.OutputState
}

func (AggregateAuthorizationOutput) ElementType added in v3.13.0

func (AggregateAuthorizationOutput) ToAggregateAuthorizationOutput added in v3.13.0

func (o AggregateAuthorizationOutput) ToAggregateAuthorizationOutput() AggregateAuthorizationOutput

func (AggregateAuthorizationOutput) ToAggregateAuthorizationOutputWithContext added in v3.13.0

func (o AggregateAuthorizationOutput) ToAggregateAuthorizationOutputWithContext(ctx context.Context) AggregateAuthorizationOutput

func (AggregateAuthorizationOutput) ToAggregateAuthorizationPtrOutput added in v3.25.0

func (o AggregateAuthorizationOutput) ToAggregateAuthorizationPtrOutput() AggregateAuthorizationPtrOutput

func (AggregateAuthorizationOutput) ToAggregateAuthorizationPtrOutputWithContext added in v3.25.0

func (o AggregateAuthorizationOutput) ToAggregateAuthorizationPtrOutputWithContext(ctx context.Context) AggregateAuthorizationPtrOutput

type AggregateAuthorizationPtrInput added in v3.25.0

type AggregateAuthorizationPtrInput interface {
	pulumi.Input

	ToAggregateAuthorizationPtrOutput() AggregateAuthorizationPtrOutput
	ToAggregateAuthorizationPtrOutputWithContext(ctx context.Context) AggregateAuthorizationPtrOutput
}

type AggregateAuthorizationPtrOutput added in v3.25.0

type AggregateAuthorizationPtrOutput struct {
	*pulumi.OutputState
}

func (AggregateAuthorizationPtrOutput) ElementType added in v3.25.0

func (AggregateAuthorizationPtrOutput) ToAggregateAuthorizationPtrOutput added in v3.25.0

func (o AggregateAuthorizationPtrOutput) ToAggregateAuthorizationPtrOutput() AggregateAuthorizationPtrOutput

func (AggregateAuthorizationPtrOutput) ToAggregateAuthorizationPtrOutputWithContext added in v3.25.0

func (o AggregateAuthorizationPtrOutput) ToAggregateAuthorizationPtrOutputWithContext(ctx context.Context) AggregateAuthorizationPtrOutput

type AggregateAuthorizationState

type AggregateAuthorizationState struct {
	// Account ID
	AccountId pulumi.StringPtrInput
	// The ARN of the authorization
	Arn pulumi.StringPtrInput
	// Region
	Region pulumi.StringPtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (AggregateAuthorizationState) ElementType

type ConfigurationAggregator

type ConfigurationAggregator struct {
	pulumi.CustomResourceState

	// The account(s) to aggregate config data from as documented below.
	AccountAggregationSource ConfigurationAggregatorAccountAggregationSourcePtrOutput `pulumi:"accountAggregationSource"`
	// The ARN of the aggregator
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the configuration aggregator.
	Name pulumi.StringOutput `pulumi:"name"`
	// The organization to aggregate config data from as documented below.
	OrganizationAggregationSource ConfigurationAggregatorOrganizationAggregationSourcePtrOutput `pulumi:"organizationAggregationSource"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages an AWS Config Configuration Aggregator

## Example Usage ### Account Based Aggregation

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cfg.NewConfigurationAggregator(ctx, "account", &cfg.ConfigurationAggregatorArgs{
			AccountAggregationSource: &cfg.ConfigurationAggregatorAccountAggregationSourceArgs{
				AccountIds: pulumi.StringArray{
					pulumi.String("123456789012"),
				},
				Regions: pulumi.StringArray{
					pulumi.String("us-west-2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Organization Based Aggregation

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		organizationRole, err := iam.NewRole(ctx, "organizationRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Sid\": \"\",\n", "      \"Effect\": \"Allow\",\n", "      \"Principal\": {\n", "        \"Service\": \"config.amazonaws.com\"\n", "      },\n", "      \"Action\": \"sts:AssumeRole\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		organizationRolePolicyAttachment, err := iam.NewRolePolicyAttachment(ctx, "organizationRolePolicyAttachment", &iam.RolePolicyAttachmentArgs{
			Role:      organizationRole.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSConfigRoleForOrganizations"),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewConfigurationAggregator(ctx, "organizationConfigurationAggregator", &cfg.ConfigurationAggregatorArgs{
			OrganizationAggregationSource: &cfg.ConfigurationAggregatorOrganizationAggregationSourceArgs{
				AllRegions: pulumi.Bool(true),
				RoleArn:    organizationRole.Arn,
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			organizationRolePolicyAttachment,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Configuration Aggregators can be imported using the name, e.g.

```sh

$ pulumi import aws:cfg/configurationAggregator:ConfigurationAggregator example foo

```

func GetConfigurationAggregator

func GetConfigurationAggregator(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigurationAggregatorState, opts ...pulumi.ResourceOption) (*ConfigurationAggregator, error)

GetConfigurationAggregator gets an existing ConfigurationAggregator 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 NewConfigurationAggregator

func NewConfigurationAggregator(ctx *pulumi.Context,
	name string, args *ConfigurationAggregatorArgs, opts ...pulumi.ResourceOption) (*ConfigurationAggregator, error)

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

func (*ConfigurationAggregator) ElementType added in v3.13.0

func (*ConfigurationAggregator) ElementType() reflect.Type

func (*ConfigurationAggregator) ToConfigurationAggregatorOutput added in v3.13.0

func (i *ConfigurationAggregator) ToConfigurationAggregatorOutput() ConfigurationAggregatorOutput

func (*ConfigurationAggregator) ToConfigurationAggregatorOutputWithContext added in v3.13.0

func (i *ConfigurationAggregator) ToConfigurationAggregatorOutputWithContext(ctx context.Context) ConfigurationAggregatorOutput

func (*ConfigurationAggregator) ToConfigurationAggregatorPtrOutput added in v3.25.0

func (i *ConfigurationAggregator) ToConfigurationAggregatorPtrOutput() ConfigurationAggregatorPtrOutput

func (*ConfigurationAggregator) ToConfigurationAggregatorPtrOutputWithContext added in v3.25.0

func (i *ConfigurationAggregator) ToConfigurationAggregatorPtrOutputWithContext(ctx context.Context) ConfigurationAggregatorPtrOutput

type ConfigurationAggregatorAccountAggregationSource

type ConfigurationAggregatorAccountAggregationSource struct {
	// List of 12-digit account IDs of the account(s) being aggregated.
	AccountIds []string `pulumi:"accountIds"`
	// If true, aggregate existing AWS Config regions and future regions.
	AllRegions *bool `pulumi:"allRegions"`
	// List of source regions being aggregated.
	Regions []string `pulumi:"regions"`
}

type ConfigurationAggregatorAccountAggregationSourceArgs

type ConfigurationAggregatorAccountAggregationSourceArgs struct {
	// List of 12-digit account IDs of the account(s) being aggregated.
	AccountIds pulumi.StringArrayInput `pulumi:"accountIds"`
	// If true, aggregate existing AWS Config regions and future regions.
	AllRegions pulumi.BoolPtrInput `pulumi:"allRegions"`
	// List of source regions being aggregated.
	Regions pulumi.StringArrayInput `pulumi:"regions"`
}

func (ConfigurationAggregatorAccountAggregationSourceArgs) ElementType

func (ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourceOutput

func (i ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourceOutput() ConfigurationAggregatorAccountAggregationSourceOutput

func (ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourceOutputWithContext

func (i ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourceOutputWithContext(ctx context.Context) ConfigurationAggregatorAccountAggregationSourceOutput

func (ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourcePtrOutput

func (i ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourcePtrOutput() ConfigurationAggregatorAccountAggregationSourcePtrOutput

func (ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext

func (i ConfigurationAggregatorAccountAggregationSourceArgs) ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext(ctx context.Context) ConfigurationAggregatorAccountAggregationSourcePtrOutput

type ConfigurationAggregatorAccountAggregationSourceInput

type ConfigurationAggregatorAccountAggregationSourceInput interface {
	pulumi.Input

	ToConfigurationAggregatorAccountAggregationSourceOutput() ConfigurationAggregatorAccountAggregationSourceOutput
	ToConfigurationAggregatorAccountAggregationSourceOutputWithContext(context.Context) ConfigurationAggregatorAccountAggregationSourceOutput
}

ConfigurationAggregatorAccountAggregationSourceInput is an input type that accepts ConfigurationAggregatorAccountAggregationSourceArgs and ConfigurationAggregatorAccountAggregationSourceOutput values. You can construct a concrete instance of `ConfigurationAggregatorAccountAggregationSourceInput` via:

ConfigurationAggregatorAccountAggregationSourceArgs{...}

type ConfigurationAggregatorAccountAggregationSourceOutput

type ConfigurationAggregatorAccountAggregationSourceOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorAccountAggregationSourceOutput) AccountIds

List of 12-digit account IDs of the account(s) being aggregated.

func (ConfigurationAggregatorAccountAggregationSourceOutput) AllRegions

If true, aggregate existing AWS Config regions and future regions.

func (ConfigurationAggregatorAccountAggregationSourceOutput) ElementType

func (ConfigurationAggregatorAccountAggregationSourceOutput) Regions

List of source regions being aggregated.

func (ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourceOutput

func (ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourceOutputWithContext

func (o ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourceOutputWithContext(ctx context.Context) ConfigurationAggregatorAccountAggregationSourceOutput

func (ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutput

func (o ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutput() ConfigurationAggregatorAccountAggregationSourcePtrOutput

func (ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext

func (o ConfigurationAggregatorAccountAggregationSourceOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext(ctx context.Context) ConfigurationAggregatorAccountAggregationSourcePtrOutput

type ConfigurationAggregatorAccountAggregationSourcePtrInput

type ConfigurationAggregatorAccountAggregationSourcePtrInput interface {
	pulumi.Input

	ToConfigurationAggregatorAccountAggregationSourcePtrOutput() ConfigurationAggregatorAccountAggregationSourcePtrOutput
	ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext(context.Context) ConfigurationAggregatorAccountAggregationSourcePtrOutput
}

ConfigurationAggregatorAccountAggregationSourcePtrInput is an input type that accepts ConfigurationAggregatorAccountAggregationSourceArgs, ConfigurationAggregatorAccountAggregationSourcePtr and ConfigurationAggregatorAccountAggregationSourcePtrOutput values. You can construct a concrete instance of `ConfigurationAggregatorAccountAggregationSourcePtrInput` via:

        ConfigurationAggregatorAccountAggregationSourceArgs{...}

or:

        nil

type ConfigurationAggregatorAccountAggregationSourcePtrOutput

type ConfigurationAggregatorAccountAggregationSourcePtrOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) AccountIds

List of 12-digit account IDs of the account(s) being aggregated.

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) AllRegions

If true, aggregate existing AWS Config regions and future regions.

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) Elem

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) ElementType

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) Regions

List of source regions being aggregated.

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutput

func (ConfigurationAggregatorAccountAggregationSourcePtrOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext

func (o ConfigurationAggregatorAccountAggregationSourcePtrOutput) ToConfigurationAggregatorAccountAggregationSourcePtrOutputWithContext(ctx context.Context) ConfigurationAggregatorAccountAggregationSourcePtrOutput

type ConfigurationAggregatorArgs

type ConfigurationAggregatorArgs struct {
	// The account(s) to aggregate config data from as documented below.
	AccountAggregationSource ConfigurationAggregatorAccountAggregationSourcePtrInput
	// The name of the configuration aggregator.
	Name pulumi.StringPtrInput
	// The organization to aggregate config data from as documented below.
	OrganizationAggregationSource ConfigurationAggregatorOrganizationAggregationSourcePtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ConfigurationAggregator resource.

func (ConfigurationAggregatorArgs) ElementType

type ConfigurationAggregatorArray added in v3.25.0

type ConfigurationAggregatorArray []ConfigurationAggregatorInput

func (ConfigurationAggregatorArray) ElementType added in v3.25.0

func (ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutput added in v3.25.0

func (i ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutput() ConfigurationAggregatorArrayOutput

func (ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutputWithContext added in v3.25.0

func (i ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutputWithContext(ctx context.Context) ConfigurationAggregatorArrayOutput

type ConfigurationAggregatorArrayInput added in v3.25.0

type ConfigurationAggregatorArrayInput interface {
	pulumi.Input

	ToConfigurationAggregatorArrayOutput() ConfigurationAggregatorArrayOutput
	ToConfigurationAggregatorArrayOutputWithContext(context.Context) ConfigurationAggregatorArrayOutput
}

ConfigurationAggregatorArrayInput is an input type that accepts ConfigurationAggregatorArray and ConfigurationAggregatorArrayOutput values. You can construct a concrete instance of `ConfigurationAggregatorArrayInput` via:

ConfigurationAggregatorArray{ ConfigurationAggregatorArgs{...} }

type ConfigurationAggregatorArrayOutput added in v3.25.0

type ConfigurationAggregatorArrayOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorArrayOutput) ElementType added in v3.25.0

func (ConfigurationAggregatorArrayOutput) Index added in v3.25.0

func (ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutput added in v3.25.0

func (o ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutput() ConfigurationAggregatorArrayOutput

func (ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutputWithContext added in v3.25.0

func (o ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutputWithContext(ctx context.Context) ConfigurationAggregatorArrayOutput

type ConfigurationAggregatorInput added in v3.13.0

type ConfigurationAggregatorInput interface {
	pulumi.Input

	ToConfigurationAggregatorOutput() ConfigurationAggregatorOutput
	ToConfigurationAggregatorOutputWithContext(ctx context.Context) ConfigurationAggregatorOutput
}

type ConfigurationAggregatorMap added in v3.25.0

type ConfigurationAggregatorMap map[string]ConfigurationAggregatorInput

func (ConfigurationAggregatorMap) ElementType added in v3.25.0

func (ConfigurationAggregatorMap) ElementType() reflect.Type

func (ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutput added in v3.25.0

func (i ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutput() ConfigurationAggregatorMapOutput

func (ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutputWithContext added in v3.25.0

func (i ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutputWithContext(ctx context.Context) ConfigurationAggregatorMapOutput

type ConfigurationAggregatorMapInput added in v3.25.0

type ConfigurationAggregatorMapInput interface {
	pulumi.Input

	ToConfigurationAggregatorMapOutput() ConfigurationAggregatorMapOutput
	ToConfigurationAggregatorMapOutputWithContext(context.Context) ConfigurationAggregatorMapOutput
}

ConfigurationAggregatorMapInput is an input type that accepts ConfigurationAggregatorMap and ConfigurationAggregatorMapOutput values. You can construct a concrete instance of `ConfigurationAggregatorMapInput` via:

ConfigurationAggregatorMap{ "key": ConfigurationAggregatorArgs{...} }

type ConfigurationAggregatorMapOutput added in v3.25.0

type ConfigurationAggregatorMapOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorMapOutput) ElementType added in v3.25.0

func (ConfigurationAggregatorMapOutput) MapIndex added in v3.25.0

func (ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutput added in v3.25.0

func (o ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutput() ConfigurationAggregatorMapOutput

func (ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutputWithContext added in v3.25.0

func (o ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutputWithContext(ctx context.Context) ConfigurationAggregatorMapOutput

type ConfigurationAggregatorOrganizationAggregationSource

type ConfigurationAggregatorOrganizationAggregationSource struct {
	// If true, aggregate existing AWS Config regions and future regions.
	AllRegions *bool `pulumi:"allRegions"`
	// List of source regions being aggregated.
	Regions []string `pulumi:"regions"`
	// ARN of the IAM role used to retrieve AWS Organization details associated with the aggregator account.
	RoleArn string `pulumi:"roleArn"`
}

type ConfigurationAggregatorOrganizationAggregationSourceArgs

type ConfigurationAggregatorOrganizationAggregationSourceArgs struct {
	// If true, aggregate existing AWS Config regions and future regions.
	AllRegions pulumi.BoolPtrInput `pulumi:"allRegions"`
	// List of source regions being aggregated.
	Regions pulumi.StringArrayInput `pulumi:"regions"`
	// ARN of the IAM role used to retrieve AWS Organization details associated with the aggregator account.
	RoleArn pulumi.StringInput `pulumi:"roleArn"`
}

func (ConfigurationAggregatorOrganizationAggregationSourceArgs) ElementType

func (ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourceOutput

func (ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourceOutputWithContext

func (i ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourceOutputWithContext(ctx context.Context) ConfigurationAggregatorOrganizationAggregationSourceOutput

func (ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutput

func (i ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutput() ConfigurationAggregatorOrganizationAggregationSourcePtrOutput

func (ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext

func (i ConfigurationAggregatorOrganizationAggregationSourceArgs) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext(ctx context.Context) ConfigurationAggregatorOrganizationAggregationSourcePtrOutput

type ConfigurationAggregatorOrganizationAggregationSourceInput

type ConfigurationAggregatorOrganizationAggregationSourceInput interface {
	pulumi.Input

	ToConfigurationAggregatorOrganizationAggregationSourceOutput() ConfigurationAggregatorOrganizationAggregationSourceOutput
	ToConfigurationAggregatorOrganizationAggregationSourceOutputWithContext(context.Context) ConfigurationAggregatorOrganizationAggregationSourceOutput
}

ConfigurationAggregatorOrganizationAggregationSourceInput is an input type that accepts ConfigurationAggregatorOrganizationAggregationSourceArgs and ConfigurationAggregatorOrganizationAggregationSourceOutput values. You can construct a concrete instance of `ConfigurationAggregatorOrganizationAggregationSourceInput` via:

ConfigurationAggregatorOrganizationAggregationSourceArgs{...}

type ConfigurationAggregatorOrganizationAggregationSourceOutput

type ConfigurationAggregatorOrganizationAggregationSourceOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) AllRegions

If true, aggregate existing AWS Config regions and future regions.

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) ElementType

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) Regions

List of source regions being aggregated.

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) RoleArn

ARN of the IAM role used to retrieve AWS Organization details associated with the aggregator account.

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) ToConfigurationAggregatorOrganizationAggregationSourceOutput

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) ToConfigurationAggregatorOrganizationAggregationSourceOutputWithContext

func (o ConfigurationAggregatorOrganizationAggregationSourceOutput) ToConfigurationAggregatorOrganizationAggregationSourceOutputWithContext(ctx context.Context) ConfigurationAggregatorOrganizationAggregationSourceOutput

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutput

func (ConfigurationAggregatorOrganizationAggregationSourceOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext

func (o ConfigurationAggregatorOrganizationAggregationSourceOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext(ctx context.Context) ConfigurationAggregatorOrganizationAggregationSourcePtrOutput

type ConfigurationAggregatorOrganizationAggregationSourcePtrInput

type ConfigurationAggregatorOrganizationAggregationSourcePtrInput interface {
	pulumi.Input

	ToConfigurationAggregatorOrganizationAggregationSourcePtrOutput() ConfigurationAggregatorOrganizationAggregationSourcePtrOutput
	ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext(context.Context) ConfigurationAggregatorOrganizationAggregationSourcePtrOutput
}

ConfigurationAggregatorOrganizationAggregationSourcePtrInput is an input type that accepts ConfigurationAggregatorOrganizationAggregationSourceArgs, ConfigurationAggregatorOrganizationAggregationSourcePtr and ConfigurationAggregatorOrganizationAggregationSourcePtrOutput values. You can construct a concrete instance of `ConfigurationAggregatorOrganizationAggregationSourcePtrInput` via:

        ConfigurationAggregatorOrganizationAggregationSourceArgs{...}

or:

        nil

type ConfigurationAggregatorOrganizationAggregationSourcePtrOutput

type ConfigurationAggregatorOrganizationAggregationSourcePtrOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) AllRegions

If true, aggregate existing AWS Config regions and future regions.

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) Elem

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) ElementType

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) Regions

List of source regions being aggregated.

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) RoleArn

ARN of the IAM role used to retrieve AWS Organization details associated with the aggregator account.

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutput

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext

func (o ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext(ctx context.Context) ConfigurationAggregatorOrganizationAggregationSourcePtrOutput

type ConfigurationAggregatorOutput added in v3.13.0

type ConfigurationAggregatorOutput struct {
	*pulumi.OutputState
}

func (ConfigurationAggregatorOutput) ElementType added in v3.13.0

func (ConfigurationAggregatorOutput) ToConfigurationAggregatorOutput added in v3.13.0

func (o ConfigurationAggregatorOutput) ToConfigurationAggregatorOutput() ConfigurationAggregatorOutput

func (ConfigurationAggregatorOutput) ToConfigurationAggregatorOutputWithContext added in v3.13.0

func (o ConfigurationAggregatorOutput) ToConfigurationAggregatorOutputWithContext(ctx context.Context) ConfigurationAggregatorOutput

func (ConfigurationAggregatorOutput) ToConfigurationAggregatorPtrOutput added in v3.25.0

func (o ConfigurationAggregatorOutput) ToConfigurationAggregatorPtrOutput() ConfigurationAggregatorPtrOutput

func (ConfigurationAggregatorOutput) ToConfigurationAggregatorPtrOutputWithContext added in v3.25.0

func (o ConfigurationAggregatorOutput) ToConfigurationAggregatorPtrOutputWithContext(ctx context.Context) ConfigurationAggregatorPtrOutput

type ConfigurationAggregatorPtrInput added in v3.25.0

type ConfigurationAggregatorPtrInput interface {
	pulumi.Input

	ToConfigurationAggregatorPtrOutput() ConfigurationAggregatorPtrOutput
	ToConfigurationAggregatorPtrOutputWithContext(ctx context.Context) ConfigurationAggregatorPtrOutput
}

type ConfigurationAggregatorPtrOutput added in v3.25.0

type ConfigurationAggregatorPtrOutput struct {
	*pulumi.OutputState
}

func (ConfigurationAggregatorPtrOutput) ElementType added in v3.25.0

func (ConfigurationAggregatorPtrOutput) ToConfigurationAggregatorPtrOutput added in v3.25.0

func (o ConfigurationAggregatorPtrOutput) ToConfigurationAggregatorPtrOutput() ConfigurationAggregatorPtrOutput

func (ConfigurationAggregatorPtrOutput) ToConfigurationAggregatorPtrOutputWithContext added in v3.25.0

func (o ConfigurationAggregatorPtrOutput) ToConfigurationAggregatorPtrOutputWithContext(ctx context.Context) ConfigurationAggregatorPtrOutput

type ConfigurationAggregatorState

type ConfigurationAggregatorState struct {
	// The account(s) to aggregate config data from as documented below.
	AccountAggregationSource ConfigurationAggregatorAccountAggregationSourcePtrInput
	// The ARN of the aggregator
	Arn pulumi.StringPtrInput
	// The name of the configuration aggregator.
	Name pulumi.StringPtrInput
	// The organization to aggregate config data from as documented below.
	OrganizationAggregationSource ConfigurationAggregatorOrganizationAggregationSourcePtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ConfigurationAggregatorState) ElementType

type ConformancePack added in v3.29.0

type ConformancePack struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the conformance pack.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Amazon S3 bucket where AWS Config stores conformance pack templates. Maximum length of 63.
	DeliveryS3Bucket pulumi.StringPtrOutput `pulumi:"deliveryS3Bucket"`
	// The prefix for the Amazon S3 bucket. Maximum length of 1024.
	DeliveryS3KeyPrefix pulumi.StringPtrOutput `pulumi:"deliveryS3KeyPrefix"`
	// Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`.
	InputParameters ConformancePackInputParameterArrayOutput `pulumi:"inputParameters"`
	// The name of the conformance pack. Must begin with a letter and contain from 1 to 256 alphanumeric characters and hyphens.
	Name pulumi.StringOutput `pulumi:"name"`
	// A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument.
	TemplateBody pulumi.StringPtrOutput `pulumi:"templateBody"`
	// Location of file, e.g. `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument.
	TemplateS3Uri pulumi.StringPtrOutput `pulumi:"templateS3Uri"`
}

Manages a Config Conformance Pack. More information about this collection of Config rules and remediation actions can be found in the [Conformance Packs](https://docs.aws.amazon.com/config/latest/developerguide/conformance-packs.html) documentation. Sample Conformance Pack templates may be found in the [AWS Config Rules Repository](https://github.com/awslabs/aws-config-rules/tree/master/aws-config-conformance-packs).

> **NOTE:** The account must have a Configuration Recorder with proper IAM permissions before the Conformance Pack will successfully create or update. See also the `cfg.Recorder` resource.

## Example Usage ### Template Body

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cfg.NewConformancePack(ctx, "example", &cfg.ConformancePackArgs{
			InputParameters: cfg.ConformancePackInputParameterArray{
				&cfg.ConformancePackInputParameterArgs{
					ParameterName:  pulumi.String("AccessKeysRotatedParameterMaxAccessKeyAge"),
					ParameterValue: pulumi.String("90"),
				},
			},
			TemplateBody: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v", "Parameters:\n", "  AccessKeysRotatedParameterMaxAccessKeyAge:\n", "    Type: String\n", "Resources:\n", "  IAMPasswordPolicy:\n", "    Properties:\n", "      ConfigRuleName: IAMPasswordPolicy\n", "      Source:\n", "        Owner: AWS\n", "        SourceIdentifier: IAM_PASSWORD_POLICY\n", "    Type: AWS::Config::ConfigRule\n")),
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_config_configuration_recorder.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Template S3 URI

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleBucket, err := s3.NewBucket(ctx, "exampleBucket", nil)
		if err != nil {
			return err
		}
		exampleBucketObject, err := s3.NewBucketObject(ctx, "exampleBucketObject", &s3.BucketObjectArgs{
			Bucket:  exampleBucket.ID(),
			Key:     pulumi.String("example-key"),
			Content: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v", "Resources:\n", "  IAMPasswordPolicy:\n", "    Properties:\n", "      ConfigRuleName: IAMPasswordPolicy\n", "      Source:\n", "        Owner: AWS\n", "        SourceIdentifier: IAM_PASSWORD_POLICY\n", "    Type: AWS::Config::ConfigRule\n")),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewConformancePack(ctx, "exampleConformancePack", &cfg.ConformancePackArgs{
			TemplateS3Uri: pulumi.All(exampleBucket.Bucket, exampleBucketObject.Key).ApplyT(func(_args []interface{}) (string, error) {
				bucket := _args[0].(string)
				key := _args[1].(string)
				return fmt.Sprintf("%v%v%v%v", "s3://", bucket, "/", key), nil
			}).(pulumi.StringOutput),
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_config_configuration_recorder.Example,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Config Conformance Packs can be imported using the `name`, e.g.

```sh

$ pulumi import aws:cfg/conformancePack:ConformancePack example example

```

func GetConformancePack added in v3.29.0

func GetConformancePack(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConformancePackState, opts ...pulumi.ResourceOption) (*ConformancePack, error)

GetConformancePack gets an existing ConformancePack 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 NewConformancePack added in v3.29.0

func NewConformancePack(ctx *pulumi.Context,
	name string, args *ConformancePackArgs, opts ...pulumi.ResourceOption) (*ConformancePack, error)

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

func (*ConformancePack) ElementType added in v3.29.0

func (*ConformancePack) ElementType() reflect.Type

func (*ConformancePack) ToConformancePackOutput added in v3.29.0

func (i *ConformancePack) ToConformancePackOutput() ConformancePackOutput

func (*ConformancePack) ToConformancePackOutputWithContext added in v3.29.0

func (i *ConformancePack) ToConformancePackOutputWithContext(ctx context.Context) ConformancePackOutput

func (*ConformancePack) ToConformancePackPtrOutput added in v3.29.0

func (i *ConformancePack) ToConformancePackPtrOutput() ConformancePackPtrOutput

func (*ConformancePack) ToConformancePackPtrOutputWithContext added in v3.29.0

func (i *ConformancePack) ToConformancePackPtrOutputWithContext(ctx context.Context) ConformancePackPtrOutput

type ConformancePackArgs added in v3.29.0

type ConformancePackArgs struct {
	// Amazon S3 bucket where AWS Config stores conformance pack templates. Maximum length of 63.
	DeliveryS3Bucket pulumi.StringPtrInput
	// The prefix for the Amazon S3 bucket. Maximum length of 1024.
	DeliveryS3KeyPrefix pulumi.StringPtrInput
	// Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`.
	InputParameters ConformancePackInputParameterArrayInput
	// The name of the conformance pack. Must begin with a letter and contain from 1 to 256 alphanumeric characters and hyphens.
	Name pulumi.StringPtrInput
	// A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument.
	TemplateBody pulumi.StringPtrInput
	// Location of file, e.g. `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument.
	TemplateS3Uri pulumi.StringPtrInput
}

The set of arguments for constructing a ConformancePack resource.

func (ConformancePackArgs) ElementType added in v3.29.0

func (ConformancePackArgs) ElementType() reflect.Type

type ConformancePackArray added in v3.29.0

type ConformancePackArray []ConformancePackInput

func (ConformancePackArray) ElementType added in v3.29.0

func (ConformancePackArray) ElementType() reflect.Type

func (ConformancePackArray) ToConformancePackArrayOutput added in v3.29.0

func (i ConformancePackArray) ToConformancePackArrayOutput() ConformancePackArrayOutput

func (ConformancePackArray) ToConformancePackArrayOutputWithContext added in v3.29.0

func (i ConformancePackArray) ToConformancePackArrayOutputWithContext(ctx context.Context) ConformancePackArrayOutput

type ConformancePackArrayInput added in v3.29.0

type ConformancePackArrayInput interface {
	pulumi.Input

	ToConformancePackArrayOutput() ConformancePackArrayOutput
	ToConformancePackArrayOutputWithContext(context.Context) ConformancePackArrayOutput
}

ConformancePackArrayInput is an input type that accepts ConformancePackArray and ConformancePackArrayOutput values. You can construct a concrete instance of `ConformancePackArrayInput` via:

ConformancePackArray{ ConformancePackArgs{...} }

type ConformancePackArrayOutput added in v3.29.0

type ConformancePackArrayOutput struct{ *pulumi.OutputState }

func (ConformancePackArrayOutput) ElementType added in v3.29.0

func (ConformancePackArrayOutput) ElementType() reflect.Type

func (ConformancePackArrayOutput) Index added in v3.29.0

func (ConformancePackArrayOutput) ToConformancePackArrayOutput added in v3.29.0

func (o ConformancePackArrayOutput) ToConformancePackArrayOutput() ConformancePackArrayOutput

func (ConformancePackArrayOutput) ToConformancePackArrayOutputWithContext added in v3.29.0

func (o ConformancePackArrayOutput) ToConformancePackArrayOutputWithContext(ctx context.Context) ConformancePackArrayOutput

type ConformancePackInput added in v3.29.0

type ConformancePackInput interface {
	pulumi.Input

	ToConformancePackOutput() ConformancePackOutput
	ToConformancePackOutputWithContext(ctx context.Context) ConformancePackOutput
}

type ConformancePackInputParameter added in v3.29.0

type ConformancePackInputParameter struct {
	// The input key.
	ParameterName string `pulumi:"parameterName"`
	// The input value.
	ParameterValue string `pulumi:"parameterValue"`
}

type ConformancePackInputParameterArgs added in v3.29.0

type ConformancePackInputParameterArgs struct {
	// The input key.
	ParameterName pulumi.StringInput `pulumi:"parameterName"`
	// The input value.
	ParameterValue pulumi.StringInput `pulumi:"parameterValue"`
}

func (ConformancePackInputParameterArgs) ElementType added in v3.29.0

func (ConformancePackInputParameterArgs) ToConformancePackInputParameterOutput added in v3.29.0

func (i ConformancePackInputParameterArgs) ToConformancePackInputParameterOutput() ConformancePackInputParameterOutput

func (ConformancePackInputParameterArgs) ToConformancePackInputParameterOutputWithContext added in v3.29.0

func (i ConformancePackInputParameterArgs) ToConformancePackInputParameterOutputWithContext(ctx context.Context) ConformancePackInputParameterOutput

type ConformancePackInputParameterArray added in v3.29.0

type ConformancePackInputParameterArray []ConformancePackInputParameterInput

func (ConformancePackInputParameterArray) ElementType added in v3.29.0

func (ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutput added in v3.29.0

func (i ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutput() ConformancePackInputParameterArrayOutput

func (ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutputWithContext added in v3.29.0

func (i ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutputWithContext(ctx context.Context) ConformancePackInputParameterArrayOutput

type ConformancePackInputParameterArrayInput added in v3.29.0

type ConformancePackInputParameterArrayInput interface {
	pulumi.Input

	ToConformancePackInputParameterArrayOutput() ConformancePackInputParameterArrayOutput
	ToConformancePackInputParameterArrayOutputWithContext(context.Context) ConformancePackInputParameterArrayOutput
}

ConformancePackInputParameterArrayInput is an input type that accepts ConformancePackInputParameterArray and ConformancePackInputParameterArrayOutput values. You can construct a concrete instance of `ConformancePackInputParameterArrayInput` via:

ConformancePackInputParameterArray{ ConformancePackInputParameterArgs{...} }

type ConformancePackInputParameterArrayOutput added in v3.29.0

type ConformancePackInputParameterArrayOutput struct{ *pulumi.OutputState }

func (ConformancePackInputParameterArrayOutput) ElementType added in v3.29.0

func (ConformancePackInputParameterArrayOutput) Index added in v3.29.0

func (ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutput added in v3.29.0

func (o ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutput() ConformancePackInputParameterArrayOutput

func (ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutputWithContext added in v3.29.0

func (o ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutputWithContext(ctx context.Context) ConformancePackInputParameterArrayOutput

type ConformancePackInputParameterInput added in v3.29.0

type ConformancePackInputParameterInput interface {
	pulumi.Input

	ToConformancePackInputParameterOutput() ConformancePackInputParameterOutput
	ToConformancePackInputParameterOutputWithContext(context.Context) ConformancePackInputParameterOutput
}

ConformancePackInputParameterInput is an input type that accepts ConformancePackInputParameterArgs and ConformancePackInputParameterOutput values. You can construct a concrete instance of `ConformancePackInputParameterInput` via:

ConformancePackInputParameterArgs{...}

type ConformancePackInputParameterOutput added in v3.29.0

type ConformancePackInputParameterOutput struct{ *pulumi.OutputState }

func (ConformancePackInputParameterOutput) ElementType added in v3.29.0

func (ConformancePackInputParameterOutput) ParameterName added in v3.29.0

The input key.

func (ConformancePackInputParameterOutput) ParameterValue added in v3.29.0

The input value.

func (ConformancePackInputParameterOutput) ToConformancePackInputParameterOutput added in v3.29.0

func (o ConformancePackInputParameterOutput) ToConformancePackInputParameterOutput() ConformancePackInputParameterOutput

func (ConformancePackInputParameterOutput) ToConformancePackInputParameterOutputWithContext added in v3.29.0

func (o ConformancePackInputParameterOutput) ToConformancePackInputParameterOutputWithContext(ctx context.Context) ConformancePackInputParameterOutput

type ConformancePackMap added in v3.29.0

type ConformancePackMap map[string]ConformancePackInput

func (ConformancePackMap) ElementType added in v3.29.0

func (ConformancePackMap) ElementType() reflect.Type

func (ConformancePackMap) ToConformancePackMapOutput added in v3.29.0

func (i ConformancePackMap) ToConformancePackMapOutput() ConformancePackMapOutput

func (ConformancePackMap) ToConformancePackMapOutputWithContext added in v3.29.0

func (i ConformancePackMap) ToConformancePackMapOutputWithContext(ctx context.Context) ConformancePackMapOutput

type ConformancePackMapInput added in v3.29.0

type ConformancePackMapInput interface {
	pulumi.Input

	ToConformancePackMapOutput() ConformancePackMapOutput
	ToConformancePackMapOutputWithContext(context.Context) ConformancePackMapOutput
}

ConformancePackMapInput is an input type that accepts ConformancePackMap and ConformancePackMapOutput values. You can construct a concrete instance of `ConformancePackMapInput` via:

ConformancePackMap{ "key": ConformancePackArgs{...} }

type ConformancePackMapOutput added in v3.29.0

type ConformancePackMapOutput struct{ *pulumi.OutputState }

func (ConformancePackMapOutput) ElementType added in v3.29.0

func (ConformancePackMapOutput) ElementType() reflect.Type

func (ConformancePackMapOutput) MapIndex added in v3.29.0

func (ConformancePackMapOutput) ToConformancePackMapOutput added in v3.29.0

func (o ConformancePackMapOutput) ToConformancePackMapOutput() ConformancePackMapOutput

func (ConformancePackMapOutput) ToConformancePackMapOutputWithContext added in v3.29.0

func (o ConformancePackMapOutput) ToConformancePackMapOutputWithContext(ctx context.Context) ConformancePackMapOutput

type ConformancePackOutput added in v3.29.0

type ConformancePackOutput struct {
	*pulumi.OutputState
}

func (ConformancePackOutput) ElementType added in v3.29.0

func (ConformancePackOutput) ElementType() reflect.Type

func (ConformancePackOutput) ToConformancePackOutput added in v3.29.0

func (o ConformancePackOutput) ToConformancePackOutput() ConformancePackOutput

func (ConformancePackOutput) ToConformancePackOutputWithContext added in v3.29.0

func (o ConformancePackOutput) ToConformancePackOutputWithContext(ctx context.Context) ConformancePackOutput

func (ConformancePackOutput) ToConformancePackPtrOutput added in v3.29.0

func (o ConformancePackOutput) ToConformancePackPtrOutput() ConformancePackPtrOutput

func (ConformancePackOutput) ToConformancePackPtrOutputWithContext added in v3.29.0

func (o ConformancePackOutput) ToConformancePackPtrOutputWithContext(ctx context.Context) ConformancePackPtrOutput

type ConformancePackPtrInput added in v3.29.0

type ConformancePackPtrInput interface {
	pulumi.Input

	ToConformancePackPtrOutput() ConformancePackPtrOutput
	ToConformancePackPtrOutputWithContext(ctx context.Context) ConformancePackPtrOutput
}

type ConformancePackPtrOutput added in v3.29.0

type ConformancePackPtrOutput struct {
	*pulumi.OutputState
}

func (ConformancePackPtrOutput) ElementType added in v3.29.0

func (ConformancePackPtrOutput) ElementType() reflect.Type

func (ConformancePackPtrOutput) ToConformancePackPtrOutput added in v3.29.0

func (o ConformancePackPtrOutput) ToConformancePackPtrOutput() ConformancePackPtrOutput

func (ConformancePackPtrOutput) ToConformancePackPtrOutputWithContext added in v3.29.0

func (o ConformancePackPtrOutput) ToConformancePackPtrOutputWithContext(ctx context.Context) ConformancePackPtrOutput

type ConformancePackState added in v3.29.0

type ConformancePackState struct {
	// Amazon Resource Name (ARN) of the conformance pack.
	Arn pulumi.StringPtrInput
	// Amazon S3 bucket where AWS Config stores conformance pack templates. Maximum length of 63.
	DeliveryS3Bucket pulumi.StringPtrInput
	// The prefix for the Amazon S3 bucket. Maximum length of 1024.
	DeliveryS3KeyPrefix pulumi.StringPtrInput
	// Set of configuration blocks describing input parameters passed to the conformance pack template. Documented below. When configured, the parameters must also be included in the `templateBody` or in the template stored in Amazon S3 if using `templateS3Uri`.
	InputParameters ConformancePackInputParameterArrayInput
	// The name of the conformance pack. Must begin with a letter and contain from 1 to 256 alphanumeric characters and hyphens.
	Name pulumi.StringPtrInput
	// A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument.
	TemplateBody pulumi.StringPtrInput
	// Location of file, e.g. `s3://bucketname/prefix`, containing the template body. The uri must point to the conformance pack template that is located in an Amazon S3 bucket in the same region as the conformance pack. Maximum length of 1024. Drift detection is not possible with this argument.
	TemplateS3Uri pulumi.StringPtrInput
}

func (ConformancePackState) ElementType added in v3.29.0

func (ConformancePackState) ElementType() reflect.Type

type DeliveryChannel

type DeliveryChannel struct {
	pulumi.CustomResourceState

	// The name of the delivery channel. Defaults to `default`. Changing it recreates the resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the S3 bucket used to store the configuration history.
	S3BucketName pulumi.StringOutput `pulumi:"s3BucketName"`
	// The prefix for the specified S3 bucket.
	S3KeyPrefix pulumi.StringPtrOutput `pulumi:"s3KeyPrefix"`
	// Options for how AWS Config delivers configuration snapshots. See below
	SnapshotDeliveryProperties DeliveryChannelSnapshotDeliveryPropertiesPtrOutput `pulumi:"snapshotDeliveryProperties"`
	// The ARN of the SNS topic that AWS Config delivers notifications to.
	SnsTopicArn pulumi.StringPtrOutput `pulumi:"snsTopicArn"`
}

Provides an AWS Config Delivery Channel.

> **Note:** Delivery Channel requires a `Configuration Recorder` to be present. Use of `dependsOn` (as shown below) is recommended to avoid race conditions.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", &s3.BucketArgs{
			ForceDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"config.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\",\n", "      \"Sid\": \"\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		fooRecorder, err := cfg.NewRecorder(ctx, "fooRecorder", &cfg.RecorderArgs{
			RoleArn: role.Arn,
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewDeliveryChannel(ctx, "fooDeliveryChannel", &cfg.DeliveryChannelArgs{
			S3BucketName: bucket.Bucket,
		}, pulumi.DependsOn([]pulumi.Resource{
			fooRecorder,
		}))
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "rolePolicy", &iam.RolePolicyArgs{
			Role: role.ID(),
			Policy: pulumi.All(bucket.Arn, bucket.Arn).ApplyT(func(_args []interface{}) (string, error) {
				bucketArn := _args[0].(string)
				bucketArn1 := _args[1].(string)
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": [\n", "        \"s3:*\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", bucketArn, "\",\n", "        \"", bucketArn1, "/*\"\n", "      ]\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Delivery Channel can be imported using the name, e.g.

```sh

$ pulumi import aws:cfg/deliveryChannel:DeliveryChannel foo example

```

func GetDeliveryChannel

func GetDeliveryChannel(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DeliveryChannelState, opts ...pulumi.ResourceOption) (*DeliveryChannel, error)

GetDeliveryChannel gets an existing DeliveryChannel 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 NewDeliveryChannel

func NewDeliveryChannel(ctx *pulumi.Context,
	name string, args *DeliveryChannelArgs, opts ...pulumi.ResourceOption) (*DeliveryChannel, error)

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

func (*DeliveryChannel) ElementType added in v3.13.0

func (*DeliveryChannel) ElementType() reflect.Type

func (*DeliveryChannel) ToDeliveryChannelOutput added in v3.13.0

func (i *DeliveryChannel) ToDeliveryChannelOutput() DeliveryChannelOutput

func (*DeliveryChannel) ToDeliveryChannelOutputWithContext added in v3.13.0

func (i *DeliveryChannel) ToDeliveryChannelOutputWithContext(ctx context.Context) DeliveryChannelOutput

func (*DeliveryChannel) ToDeliveryChannelPtrOutput added in v3.25.0

func (i *DeliveryChannel) ToDeliveryChannelPtrOutput() DeliveryChannelPtrOutput

func (*DeliveryChannel) ToDeliveryChannelPtrOutputWithContext added in v3.25.0

func (i *DeliveryChannel) ToDeliveryChannelPtrOutputWithContext(ctx context.Context) DeliveryChannelPtrOutput

type DeliveryChannelArgs

type DeliveryChannelArgs struct {
	// The name of the delivery channel. Defaults to `default`. Changing it recreates the resource.
	Name pulumi.StringPtrInput
	// The name of the S3 bucket used to store the configuration history.
	S3BucketName pulumi.StringInput
	// The prefix for the specified S3 bucket.
	S3KeyPrefix pulumi.StringPtrInput
	// Options for how AWS Config delivers configuration snapshots. See below
	SnapshotDeliveryProperties DeliveryChannelSnapshotDeliveryPropertiesPtrInput
	// The ARN of the SNS topic that AWS Config delivers notifications to.
	SnsTopicArn pulumi.StringPtrInput
}

The set of arguments for constructing a DeliveryChannel resource.

func (DeliveryChannelArgs) ElementType

func (DeliveryChannelArgs) ElementType() reflect.Type

type DeliveryChannelArray added in v3.25.0

type DeliveryChannelArray []DeliveryChannelInput

func (DeliveryChannelArray) ElementType added in v3.25.0

func (DeliveryChannelArray) ElementType() reflect.Type

func (DeliveryChannelArray) ToDeliveryChannelArrayOutput added in v3.25.0

func (i DeliveryChannelArray) ToDeliveryChannelArrayOutput() DeliveryChannelArrayOutput

func (DeliveryChannelArray) ToDeliveryChannelArrayOutputWithContext added in v3.25.0

func (i DeliveryChannelArray) ToDeliveryChannelArrayOutputWithContext(ctx context.Context) DeliveryChannelArrayOutput

type DeliveryChannelArrayInput added in v3.25.0

type DeliveryChannelArrayInput interface {
	pulumi.Input

	ToDeliveryChannelArrayOutput() DeliveryChannelArrayOutput
	ToDeliveryChannelArrayOutputWithContext(context.Context) DeliveryChannelArrayOutput
}

DeliveryChannelArrayInput is an input type that accepts DeliveryChannelArray and DeliveryChannelArrayOutput values. You can construct a concrete instance of `DeliveryChannelArrayInput` via:

DeliveryChannelArray{ DeliveryChannelArgs{...} }

type DeliveryChannelArrayOutput added in v3.25.0

type DeliveryChannelArrayOutput struct{ *pulumi.OutputState }

func (DeliveryChannelArrayOutput) ElementType added in v3.25.0

func (DeliveryChannelArrayOutput) ElementType() reflect.Type

func (DeliveryChannelArrayOutput) Index added in v3.25.0

func (DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutput added in v3.25.0

func (o DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutput() DeliveryChannelArrayOutput

func (DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutputWithContext added in v3.25.0

func (o DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutputWithContext(ctx context.Context) DeliveryChannelArrayOutput

type DeliveryChannelInput added in v3.13.0

type DeliveryChannelInput interface {
	pulumi.Input

	ToDeliveryChannelOutput() DeliveryChannelOutput
	ToDeliveryChannelOutputWithContext(ctx context.Context) DeliveryChannelOutput
}

type DeliveryChannelMap added in v3.25.0

type DeliveryChannelMap map[string]DeliveryChannelInput

func (DeliveryChannelMap) ElementType added in v3.25.0

func (DeliveryChannelMap) ElementType() reflect.Type

func (DeliveryChannelMap) ToDeliveryChannelMapOutput added in v3.25.0

func (i DeliveryChannelMap) ToDeliveryChannelMapOutput() DeliveryChannelMapOutput

func (DeliveryChannelMap) ToDeliveryChannelMapOutputWithContext added in v3.25.0

func (i DeliveryChannelMap) ToDeliveryChannelMapOutputWithContext(ctx context.Context) DeliveryChannelMapOutput

type DeliveryChannelMapInput added in v3.25.0

type DeliveryChannelMapInput interface {
	pulumi.Input

	ToDeliveryChannelMapOutput() DeliveryChannelMapOutput
	ToDeliveryChannelMapOutputWithContext(context.Context) DeliveryChannelMapOutput
}

DeliveryChannelMapInput is an input type that accepts DeliveryChannelMap and DeliveryChannelMapOutput values. You can construct a concrete instance of `DeliveryChannelMapInput` via:

DeliveryChannelMap{ "key": DeliveryChannelArgs{...} }

type DeliveryChannelMapOutput added in v3.25.0

type DeliveryChannelMapOutput struct{ *pulumi.OutputState }

func (DeliveryChannelMapOutput) ElementType added in v3.25.0

func (DeliveryChannelMapOutput) ElementType() reflect.Type

func (DeliveryChannelMapOutput) MapIndex added in v3.25.0

func (DeliveryChannelMapOutput) ToDeliveryChannelMapOutput added in v3.25.0

func (o DeliveryChannelMapOutput) ToDeliveryChannelMapOutput() DeliveryChannelMapOutput

func (DeliveryChannelMapOutput) ToDeliveryChannelMapOutputWithContext added in v3.25.0

func (o DeliveryChannelMapOutput) ToDeliveryChannelMapOutputWithContext(ctx context.Context) DeliveryChannelMapOutput

type DeliveryChannelOutput added in v3.13.0

type DeliveryChannelOutput struct {
	*pulumi.OutputState
}

func (DeliveryChannelOutput) ElementType added in v3.13.0

func (DeliveryChannelOutput) ElementType() reflect.Type

func (DeliveryChannelOutput) ToDeliveryChannelOutput added in v3.13.0

func (o DeliveryChannelOutput) ToDeliveryChannelOutput() DeliveryChannelOutput

func (DeliveryChannelOutput) ToDeliveryChannelOutputWithContext added in v3.13.0

func (o DeliveryChannelOutput) ToDeliveryChannelOutputWithContext(ctx context.Context) DeliveryChannelOutput

func (DeliveryChannelOutput) ToDeliveryChannelPtrOutput added in v3.25.0

func (o DeliveryChannelOutput) ToDeliveryChannelPtrOutput() DeliveryChannelPtrOutput

func (DeliveryChannelOutput) ToDeliveryChannelPtrOutputWithContext added in v3.25.0

func (o DeliveryChannelOutput) ToDeliveryChannelPtrOutputWithContext(ctx context.Context) DeliveryChannelPtrOutput

type DeliveryChannelPtrInput added in v3.25.0

type DeliveryChannelPtrInput interface {
	pulumi.Input

	ToDeliveryChannelPtrOutput() DeliveryChannelPtrOutput
	ToDeliveryChannelPtrOutputWithContext(ctx context.Context) DeliveryChannelPtrOutput
}

type DeliveryChannelPtrOutput added in v3.25.0

type DeliveryChannelPtrOutput struct {
	*pulumi.OutputState
}

func (DeliveryChannelPtrOutput) ElementType added in v3.25.0

func (DeliveryChannelPtrOutput) ElementType() reflect.Type

func (DeliveryChannelPtrOutput) ToDeliveryChannelPtrOutput added in v3.25.0

func (o DeliveryChannelPtrOutput) ToDeliveryChannelPtrOutput() DeliveryChannelPtrOutput

func (DeliveryChannelPtrOutput) ToDeliveryChannelPtrOutputWithContext added in v3.25.0

func (o DeliveryChannelPtrOutput) ToDeliveryChannelPtrOutputWithContext(ctx context.Context) DeliveryChannelPtrOutput

type DeliveryChannelSnapshotDeliveryProperties

type DeliveryChannelSnapshotDeliveryProperties struct {
	// - The frequency with which AWS Config recurringly delivers configuration snapshots. e.g. `One_Hour` or `Three_Hours`. Valid values are listed [here](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html#API_ConfigSnapshotDeliveryProperties_Contents).
	DeliveryFrequency *string `pulumi:"deliveryFrequency"`
}

type DeliveryChannelSnapshotDeliveryPropertiesArgs

type DeliveryChannelSnapshotDeliveryPropertiesArgs struct {
	// - The frequency with which AWS Config recurringly delivers configuration snapshots. e.g. `One_Hour` or `Three_Hours`. Valid values are listed [here](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html#API_ConfigSnapshotDeliveryProperties_Contents).
	DeliveryFrequency pulumi.StringPtrInput `pulumi:"deliveryFrequency"`
}

func (DeliveryChannelSnapshotDeliveryPropertiesArgs) ElementType

func (DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesOutput

func (i DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesOutput() DeliveryChannelSnapshotDeliveryPropertiesOutput

func (DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesOutputWithContext

func (i DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesOutputWithContext(ctx context.Context) DeliveryChannelSnapshotDeliveryPropertiesOutput

func (DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput

func (i DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput() DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

func (DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext

func (i DeliveryChannelSnapshotDeliveryPropertiesArgs) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext(ctx context.Context) DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

type DeliveryChannelSnapshotDeliveryPropertiesInput

type DeliveryChannelSnapshotDeliveryPropertiesInput interface {
	pulumi.Input

	ToDeliveryChannelSnapshotDeliveryPropertiesOutput() DeliveryChannelSnapshotDeliveryPropertiesOutput
	ToDeliveryChannelSnapshotDeliveryPropertiesOutputWithContext(context.Context) DeliveryChannelSnapshotDeliveryPropertiesOutput
}

DeliveryChannelSnapshotDeliveryPropertiesInput is an input type that accepts DeliveryChannelSnapshotDeliveryPropertiesArgs and DeliveryChannelSnapshotDeliveryPropertiesOutput values. You can construct a concrete instance of `DeliveryChannelSnapshotDeliveryPropertiesInput` via:

DeliveryChannelSnapshotDeliveryPropertiesArgs{...}

type DeliveryChannelSnapshotDeliveryPropertiesOutput

type DeliveryChannelSnapshotDeliveryPropertiesOutput struct{ *pulumi.OutputState }

func (DeliveryChannelSnapshotDeliveryPropertiesOutput) DeliveryFrequency

- The frequency with which AWS Config recurringly delivers configuration snapshots. e.g. `One_Hour` or `Three_Hours`. Valid values are listed [here](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html#API_ConfigSnapshotDeliveryProperties_Contents).

func (DeliveryChannelSnapshotDeliveryPropertiesOutput) ElementType

func (DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesOutput

func (o DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesOutput() DeliveryChannelSnapshotDeliveryPropertiesOutput

func (DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesOutputWithContext

func (o DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesOutputWithContext(ctx context.Context) DeliveryChannelSnapshotDeliveryPropertiesOutput

func (DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput

func (o DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput() DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

func (DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext

func (o DeliveryChannelSnapshotDeliveryPropertiesOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext(ctx context.Context) DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

type DeliveryChannelSnapshotDeliveryPropertiesPtrInput

type DeliveryChannelSnapshotDeliveryPropertiesPtrInput interface {
	pulumi.Input

	ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput() DeliveryChannelSnapshotDeliveryPropertiesPtrOutput
	ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext(context.Context) DeliveryChannelSnapshotDeliveryPropertiesPtrOutput
}

DeliveryChannelSnapshotDeliveryPropertiesPtrInput is an input type that accepts DeliveryChannelSnapshotDeliveryPropertiesArgs, DeliveryChannelSnapshotDeliveryPropertiesPtr and DeliveryChannelSnapshotDeliveryPropertiesPtrOutput values. You can construct a concrete instance of `DeliveryChannelSnapshotDeliveryPropertiesPtrInput` via:

        DeliveryChannelSnapshotDeliveryPropertiesArgs{...}

or:

        nil

type DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

type DeliveryChannelSnapshotDeliveryPropertiesPtrOutput struct{ *pulumi.OutputState }

func (DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) DeliveryFrequency

- The frequency with which AWS Config recurringly delivers configuration snapshots. e.g. `One_Hour` or `Three_Hours`. Valid values are listed [here](https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigSnapshotDeliveryProperties.html#API_ConfigSnapshotDeliveryProperties_Contents).

func (DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) Elem

func (DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) ElementType

func (DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput

func (o DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutput() DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

func (DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext

func (o DeliveryChannelSnapshotDeliveryPropertiesPtrOutput) ToDeliveryChannelSnapshotDeliveryPropertiesPtrOutputWithContext(ctx context.Context) DeliveryChannelSnapshotDeliveryPropertiesPtrOutput

type DeliveryChannelState

type DeliveryChannelState struct {
	// The name of the delivery channel. Defaults to `default`. Changing it recreates the resource.
	Name pulumi.StringPtrInput
	// The name of the S3 bucket used to store the configuration history.
	S3BucketName pulumi.StringPtrInput
	// The prefix for the specified S3 bucket.
	S3KeyPrefix pulumi.StringPtrInput
	// Options for how AWS Config delivers configuration snapshots. See below
	SnapshotDeliveryProperties DeliveryChannelSnapshotDeliveryPropertiesPtrInput
	// The ARN of the SNS topic that AWS Config delivers notifications to.
	SnsTopicArn pulumi.StringPtrInput
}

func (DeliveryChannelState) ElementType

func (DeliveryChannelState) ElementType() reflect.Type

type OrganizationCustomRule

type OrganizationCustomRule struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the rule
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Description of the rule
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// List of AWS account identifiers to exclude from the rule
	ExcludedAccounts pulumi.StringArrayOutput `pulumi:"excludedAccounts"`
	// A string in JSON format that is passed to the AWS Config Rule Lambda Function
	InputParameters pulumi.StringPtrOutput `pulumi:"inputParameters"`
	// Amazon Resource Name (ARN) of the rule Lambda Function
	LambdaFunctionArn pulumi.StringOutput `pulumi:"lambdaFunctionArn"`
	// The maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`.
	MaximumExecutionFrequency pulumi.StringPtrOutput `pulumi:"maximumExecutionFrequency"`
	// The name of the rule
	Name pulumi.StringOutput `pulumi:"name"`
	// Identifier of the AWS resource to evaluate
	ResourceIdScope pulumi.StringPtrOutput `pulumi:"resourceIdScope"`
	// List of types of AWS resources to evaluate
	ResourceTypesScopes pulumi.StringArrayOutput `pulumi:"resourceTypesScopes"`
	// Tag key of AWS resources to evaluate
	TagKeyScope pulumi.StringPtrOutput `pulumi:"tagKeyScope"`
	// Tag value of AWS resources to evaluate
	TagValueScope pulumi.StringPtrOutput `pulumi:"tagValueScope"`
	// List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification`
	TriggerTypes pulumi.StringArrayOutput `pulumi:"triggerTypes"`
}

Manages a Config Organization Custom Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Managed Rules (those invoking an AWS managed rule), see the `aws_config_organization_managed__rule` resource.

> **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excludedAccounts` argument.

> **NOTE:** The proper Lambda permission to allow the AWS Config service invoke the Lambda Function must be in place before the rule will successfully create or update. See also the `lambda.Permission` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		examplePermission, err := lambda.NewPermission(ctx, "examplePermission", &lambda.PermissionArgs{
			Action:    pulumi.String("lambda:InvokeFunction"),
			Function:  pulumi.Any(aws_lambda_function.Example.Arn),
			Principal: pulumi.String("config.amazonaws.com"),
		})
		if err != nil {
			return err
		}
		exampleOrganization, err := organizations.NewOrganization(ctx, "exampleOrganization", &organizations.OrganizationArgs{
			AwsServiceAccessPrincipals: pulumi.StringArray{
				pulumi.String("config-multiaccountsetup.amazonaws.com"),
			},
			FeatureSet: pulumi.String("ALL"),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewOrganizationCustomRule(ctx, "exampleOrganizationCustomRule", &cfg.OrganizationCustomRuleArgs{
			LambdaFunctionArn: pulumi.Any(aws_lambda_function.Example.Arn),
			TriggerTypes: pulumi.StringArray{
				pulumi.String("ConfigurationItemChangeNotification"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			examplePermission,
			exampleOrganization,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Config Organization Custom Rules can be imported using the name, e.g.

```sh

$ pulumi import aws:cfg/organizationCustomRule:OrganizationCustomRule example example

```

func GetOrganizationCustomRule

func GetOrganizationCustomRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationCustomRuleState, opts ...pulumi.ResourceOption) (*OrganizationCustomRule, error)

GetOrganizationCustomRule gets an existing OrganizationCustomRule 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 NewOrganizationCustomRule

func NewOrganizationCustomRule(ctx *pulumi.Context,
	name string, args *OrganizationCustomRuleArgs, opts ...pulumi.ResourceOption) (*OrganizationCustomRule, error)

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

func (*OrganizationCustomRule) ElementType added in v3.13.0

func (*OrganizationCustomRule) ElementType() reflect.Type

func (*OrganizationCustomRule) ToOrganizationCustomRuleOutput added in v3.13.0

func (i *OrganizationCustomRule) ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput

func (*OrganizationCustomRule) ToOrganizationCustomRuleOutputWithContext added in v3.13.0

func (i *OrganizationCustomRule) ToOrganizationCustomRuleOutputWithContext(ctx context.Context) OrganizationCustomRuleOutput

func (*OrganizationCustomRule) ToOrganizationCustomRulePtrOutput added in v3.25.0

func (i *OrganizationCustomRule) ToOrganizationCustomRulePtrOutput() OrganizationCustomRulePtrOutput

func (*OrganizationCustomRule) ToOrganizationCustomRulePtrOutputWithContext added in v3.25.0

func (i *OrganizationCustomRule) ToOrganizationCustomRulePtrOutputWithContext(ctx context.Context) OrganizationCustomRulePtrOutput

type OrganizationCustomRuleArgs

type OrganizationCustomRuleArgs struct {
	// Description of the rule
	Description pulumi.StringPtrInput
	// List of AWS account identifiers to exclude from the rule
	ExcludedAccounts pulumi.StringArrayInput
	// A string in JSON format that is passed to the AWS Config Rule Lambda Function
	InputParameters pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the rule Lambda Function
	LambdaFunctionArn pulumi.StringInput
	// The maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// Identifier of the AWS resource to evaluate
	ResourceIdScope pulumi.StringPtrInput
	// List of types of AWS resources to evaluate
	ResourceTypesScopes pulumi.StringArrayInput
	// Tag key of AWS resources to evaluate
	TagKeyScope pulumi.StringPtrInput
	// Tag value of AWS resources to evaluate
	TagValueScope pulumi.StringPtrInput
	// List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification`
	TriggerTypes pulumi.StringArrayInput
}

The set of arguments for constructing a OrganizationCustomRule resource.

func (OrganizationCustomRuleArgs) ElementType

func (OrganizationCustomRuleArgs) ElementType() reflect.Type

type OrganizationCustomRuleArray added in v3.25.0

type OrganizationCustomRuleArray []OrganizationCustomRuleInput

func (OrganizationCustomRuleArray) ElementType added in v3.25.0

func (OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutput added in v3.25.0

func (i OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput

func (OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutputWithContext added in v3.25.0

func (i OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomRuleArrayOutput

type OrganizationCustomRuleArrayInput added in v3.25.0

type OrganizationCustomRuleArrayInput interface {
	pulumi.Input

	ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput
	ToOrganizationCustomRuleArrayOutputWithContext(context.Context) OrganizationCustomRuleArrayOutput
}

OrganizationCustomRuleArrayInput is an input type that accepts OrganizationCustomRuleArray and OrganizationCustomRuleArrayOutput values. You can construct a concrete instance of `OrganizationCustomRuleArrayInput` via:

OrganizationCustomRuleArray{ OrganizationCustomRuleArgs{...} }

type OrganizationCustomRuleArrayOutput added in v3.25.0

type OrganizationCustomRuleArrayOutput struct{ *pulumi.OutputState }

func (OrganizationCustomRuleArrayOutput) ElementType added in v3.25.0

func (OrganizationCustomRuleArrayOutput) Index added in v3.25.0

func (OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutput added in v3.25.0

func (o OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput

func (OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutputWithContext added in v3.25.0

func (o OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomRuleArrayOutput

type OrganizationCustomRuleInput added in v3.13.0

type OrganizationCustomRuleInput interface {
	pulumi.Input

	ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput
	ToOrganizationCustomRuleOutputWithContext(ctx context.Context) OrganizationCustomRuleOutput
}

type OrganizationCustomRuleMap added in v3.25.0

type OrganizationCustomRuleMap map[string]OrganizationCustomRuleInput

func (OrganizationCustomRuleMap) ElementType added in v3.25.0

func (OrganizationCustomRuleMap) ElementType() reflect.Type

func (OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutput added in v3.25.0

func (i OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput

func (OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutputWithContext added in v3.25.0

func (i OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutputWithContext(ctx context.Context) OrganizationCustomRuleMapOutput

type OrganizationCustomRuleMapInput added in v3.25.0

type OrganizationCustomRuleMapInput interface {
	pulumi.Input

	ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput
	ToOrganizationCustomRuleMapOutputWithContext(context.Context) OrganizationCustomRuleMapOutput
}

OrganizationCustomRuleMapInput is an input type that accepts OrganizationCustomRuleMap and OrganizationCustomRuleMapOutput values. You can construct a concrete instance of `OrganizationCustomRuleMapInput` via:

OrganizationCustomRuleMap{ "key": OrganizationCustomRuleArgs{...} }

type OrganizationCustomRuleMapOutput added in v3.25.0

type OrganizationCustomRuleMapOutput struct{ *pulumi.OutputState }

func (OrganizationCustomRuleMapOutput) ElementType added in v3.25.0

func (OrganizationCustomRuleMapOutput) MapIndex added in v3.25.0

func (OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutput added in v3.25.0

func (o OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput

func (OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutputWithContext added in v3.25.0

func (o OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutputWithContext(ctx context.Context) OrganizationCustomRuleMapOutput

type OrganizationCustomRuleOutput added in v3.13.0

type OrganizationCustomRuleOutput struct {
	*pulumi.OutputState
}

func (OrganizationCustomRuleOutput) ElementType added in v3.13.0

func (OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutput added in v3.13.0

func (o OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput

func (OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutputWithContext added in v3.13.0

func (o OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutputWithContext(ctx context.Context) OrganizationCustomRuleOutput

func (OrganizationCustomRuleOutput) ToOrganizationCustomRulePtrOutput added in v3.25.0

func (o OrganizationCustomRuleOutput) ToOrganizationCustomRulePtrOutput() OrganizationCustomRulePtrOutput

func (OrganizationCustomRuleOutput) ToOrganizationCustomRulePtrOutputWithContext added in v3.25.0

func (o OrganizationCustomRuleOutput) ToOrganizationCustomRulePtrOutputWithContext(ctx context.Context) OrganizationCustomRulePtrOutput

type OrganizationCustomRulePtrInput added in v3.25.0

type OrganizationCustomRulePtrInput interface {
	pulumi.Input

	ToOrganizationCustomRulePtrOutput() OrganizationCustomRulePtrOutput
	ToOrganizationCustomRulePtrOutputWithContext(ctx context.Context) OrganizationCustomRulePtrOutput
}

type OrganizationCustomRulePtrOutput added in v3.25.0

type OrganizationCustomRulePtrOutput struct {
	*pulumi.OutputState
}

func (OrganizationCustomRulePtrOutput) ElementType added in v3.25.0

func (OrganizationCustomRulePtrOutput) ToOrganizationCustomRulePtrOutput added in v3.25.0

func (o OrganizationCustomRulePtrOutput) ToOrganizationCustomRulePtrOutput() OrganizationCustomRulePtrOutput

func (OrganizationCustomRulePtrOutput) ToOrganizationCustomRulePtrOutputWithContext added in v3.25.0

func (o OrganizationCustomRulePtrOutput) ToOrganizationCustomRulePtrOutputWithContext(ctx context.Context) OrganizationCustomRulePtrOutput

type OrganizationCustomRuleState

type OrganizationCustomRuleState struct {
	// Amazon Resource Name (ARN) of the rule
	Arn pulumi.StringPtrInput
	// Description of the rule
	Description pulumi.StringPtrInput
	// List of AWS account identifiers to exclude from the rule
	ExcludedAccounts pulumi.StringArrayInput
	// A string in JSON format that is passed to the AWS Config Rule Lambda Function
	InputParameters pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the rule Lambda Function
	LambdaFunctionArn pulumi.StringPtrInput
	// The maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// Identifier of the AWS resource to evaluate
	ResourceIdScope pulumi.StringPtrInput
	// List of types of AWS resources to evaluate
	ResourceTypesScopes pulumi.StringArrayInput
	// Tag key of AWS resources to evaluate
	TagKeyScope pulumi.StringPtrInput
	// Tag value of AWS resources to evaluate
	TagValueScope pulumi.StringPtrInput
	// List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification`
	TriggerTypes pulumi.StringArrayInput
}

func (OrganizationCustomRuleState) ElementType

type OrganizationManagedRule

type OrganizationManagedRule struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the rule
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Description of the rule
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// List of AWS account identifiers to exclude from the rule
	ExcludedAccounts pulumi.StringArrayOutput `pulumi:"excludedAccounts"`
	// A string in JSON format that is passed to the AWS Config Rule Lambda Function
	InputParameters pulumi.StringPtrOutput `pulumi:"inputParameters"`
	// The maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`.
	MaximumExecutionFrequency pulumi.StringPtrOutput `pulumi:"maximumExecutionFrequency"`
	// The name of the rule
	Name pulumi.StringOutput `pulumi:"name"`
	// Identifier of the AWS resource to evaluate
	ResourceIdScope pulumi.StringPtrOutput `pulumi:"resourceIdScope"`
	// List of types of AWS resources to evaluate
	ResourceTypesScopes pulumi.StringArrayOutput `pulumi:"resourceTypesScopes"`
	// Identifier of an available AWS Config Managed Rule to call. For available values, see the [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) documentation
	RuleIdentifier pulumi.StringOutput `pulumi:"ruleIdentifier"`
	// Tag key of AWS resources to evaluate
	TagKeyScope pulumi.StringPtrOutput `pulumi:"tagKeyScope"`
	// Tag value of AWS resources to evaluate
	TagValueScope pulumi.StringPtrOutput `pulumi:"tagValueScope"`
}

Manages a Config Organization Managed Rule. More information about these rules can be found in the [Enabling AWS Config Rules Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/config-rule-multi-account-deployment.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. For working with Organization Custom Rules (those invoking a custom Lambda Function), see the `cfg.OrganizationCustomRule` resource.

> **NOTE:** This resource must be created in the Organization master account and rules will include the master account unless its ID is added to the `excludedAccounts` argument.

> **NOTE:** Every Organization account except those configured in the `excludedAccounts` argument must have a Configuration Recorder with proper IAM permissions before the rule will successfully create or update. See also the `cfg.Recorder` resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleOrganization, err := organizations.NewOrganization(ctx, "exampleOrganization", &organizations.OrganizationArgs{
			AwsServiceAccessPrincipals: pulumi.StringArray{
				pulumi.String("config-multiaccountsetup.amazonaws.com"),
			},
			FeatureSet: pulumi.String("ALL"),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewOrganizationManagedRule(ctx, "exampleOrganizationManagedRule", &cfg.OrganizationManagedRuleArgs{
			RuleIdentifier: pulumi.String("IAM_PASSWORD_POLICY"),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleOrganization,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Config Organization Managed Rules can be imported using the name, e.g.

```sh

$ pulumi import aws:cfg/organizationManagedRule:OrganizationManagedRule example example

```

func GetOrganizationManagedRule

func GetOrganizationManagedRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationManagedRuleState, opts ...pulumi.ResourceOption) (*OrganizationManagedRule, error)

GetOrganizationManagedRule gets an existing OrganizationManagedRule 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 NewOrganizationManagedRule

func NewOrganizationManagedRule(ctx *pulumi.Context,
	name string, args *OrganizationManagedRuleArgs, opts ...pulumi.ResourceOption) (*OrganizationManagedRule, error)

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

func (*OrganizationManagedRule) ElementType added in v3.13.0

func (*OrganizationManagedRule) ElementType() reflect.Type

func (*OrganizationManagedRule) ToOrganizationManagedRuleOutput added in v3.13.0

func (i *OrganizationManagedRule) ToOrganizationManagedRuleOutput() OrganizationManagedRuleOutput

func (*OrganizationManagedRule) ToOrganizationManagedRuleOutputWithContext added in v3.13.0

func (i *OrganizationManagedRule) ToOrganizationManagedRuleOutputWithContext(ctx context.Context) OrganizationManagedRuleOutput

func (*OrganizationManagedRule) ToOrganizationManagedRulePtrOutput added in v3.25.0

func (i *OrganizationManagedRule) ToOrganizationManagedRulePtrOutput() OrganizationManagedRulePtrOutput

func (*OrganizationManagedRule) ToOrganizationManagedRulePtrOutputWithContext added in v3.25.0

func (i *OrganizationManagedRule) ToOrganizationManagedRulePtrOutputWithContext(ctx context.Context) OrganizationManagedRulePtrOutput

type OrganizationManagedRuleArgs

type OrganizationManagedRuleArgs struct {
	// Description of the rule
	Description pulumi.StringPtrInput
	// List of AWS account identifiers to exclude from the rule
	ExcludedAccounts pulumi.StringArrayInput
	// A string in JSON format that is passed to the AWS Config Rule Lambda Function
	InputParameters pulumi.StringPtrInput
	// The maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// Identifier of the AWS resource to evaluate
	ResourceIdScope pulumi.StringPtrInput
	// List of types of AWS resources to evaluate
	ResourceTypesScopes pulumi.StringArrayInput
	// Identifier of an available AWS Config Managed Rule to call. For available values, see the [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) documentation
	RuleIdentifier pulumi.StringInput
	// Tag key of AWS resources to evaluate
	TagKeyScope pulumi.StringPtrInput
	// Tag value of AWS resources to evaluate
	TagValueScope pulumi.StringPtrInput
}

The set of arguments for constructing a OrganizationManagedRule resource.

func (OrganizationManagedRuleArgs) ElementType

type OrganizationManagedRuleArray added in v3.25.0

type OrganizationManagedRuleArray []OrganizationManagedRuleInput

func (OrganizationManagedRuleArray) ElementType added in v3.25.0

func (OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutput added in v3.25.0

func (i OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutput() OrganizationManagedRuleArrayOutput

func (OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutputWithContext added in v3.25.0

func (i OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutputWithContext(ctx context.Context) OrganizationManagedRuleArrayOutput

type OrganizationManagedRuleArrayInput added in v3.25.0

type OrganizationManagedRuleArrayInput interface {
	pulumi.Input

	ToOrganizationManagedRuleArrayOutput() OrganizationManagedRuleArrayOutput
	ToOrganizationManagedRuleArrayOutputWithContext(context.Context) OrganizationManagedRuleArrayOutput
}

OrganizationManagedRuleArrayInput is an input type that accepts OrganizationManagedRuleArray and OrganizationManagedRuleArrayOutput values. You can construct a concrete instance of `OrganizationManagedRuleArrayInput` via:

OrganizationManagedRuleArray{ OrganizationManagedRuleArgs{...} }

type OrganizationManagedRuleArrayOutput added in v3.25.0

type OrganizationManagedRuleArrayOutput struct{ *pulumi.OutputState }

func (OrganizationManagedRuleArrayOutput) ElementType added in v3.25.0

func (OrganizationManagedRuleArrayOutput) Index added in v3.25.0

func (OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutput added in v3.25.0

func (o OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutput() OrganizationManagedRuleArrayOutput

func (OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutputWithContext added in v3.25.0

func (o OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutputWithContext(ctx context.Context) OrganizationManagedRuleArrayOutput

type OrganizationManagedRuleInput added in v3.13.0

type OrganizationManagedRuleInput interface {
	pulumi.Input

	ToOrganizationManagedRuleOutput() OrganizationManagedRuleOutput
	ToOrganizationManagedRuleOutputWithContext(ctx context.Context) OrganizationManagedRuleOutput
}

type OrganizationManagedRuleMap added in v3.25.0

type OrganizationManagedRuleMap map[string]OrganizationManagedRuleInput

func (OrganizationManagedRuleMap) ElementType added in v3.25.0

func (OrganizationManagedRuleMap) ElementType() reflect.Type

func (OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutput added in v3.25.0

func (i OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutput() OrganizationManagedRuleMapOutput

func (OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutputWithContext added in v3.25.0

func (i OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutputWithContext(ctx context.Context) OrganizationManagedRuleMapOutput

type OrganizationManagedRuleMapInput added in v3.25.0

type OrganizationManagedRuleMapInput interface {
	pulumi.Input

	ToOrganizationManagedRuleMapOutput() OrganizationManagedRuleMapOutput
	ToOrganizationManagedRuleMapOutputWithContext(context.Context) OrganizationManagedRuleMapOutput
}

OrganizationManagedRuleMapInput is an input type that accepts OrganizationManagedRuleMap and OrganizationManagedRuleMapOutput values. You can construct a concrete instance of `OrganizationManagedRuleMapInput` via:

OrganizationManagedRuleMap{ "key": OrganizationManagedRuleArgs{...} }

type OrganizationManagedRuleMapOutput added in v3.25.0

type OrganizationManagedRuleMapOutput struct{ *pulumi.OutputState }

func (OrganizationManagedRuleMapOutput) ElementType added in v3.25.0

func (OrganizationManagedRuleMapOutput) MapIndex added in v3.25.0

func (OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutput added in v3.25.0

func (o OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutput() OrganizationManagedRuleMapOutput

func (OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutputWithContext added in v3.25.0

func (o OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutputWithContext(ctx context.Context) OrganizationManagedRuleMapOutput

type OrganizationManagedRuleOutput added in v3.13.0

type OrganizationManagedRuleOutput struct {
	*pulumi.OutputState
}

func (OrganizationManagedRuleOutput) ElementType added in v3.13.0

func (OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutput added in v3.13.0

func (o OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutput() OrganizationManagedRuleOutput

func (OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutputWithContext added in v3.13.0

func (o OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutputWithContext(ctx context.Context) OrganizationManagedRuleOutput

func (OrganizationManagedRuleOutput) ToOrganizationManagedRulePtrOutput added in v3.25.0

func (o OrganizationManagedRuleOutput) ToOrganizationManagedRulePtrOutput() OrganizationManagedRulePtrOutput

func (OrganizationManagedRuleOutput) ToOrganizationManagedRulePtrOutputWithContext added in v3.25.0

func (o OrganizationManagedRuleOutput) ToOrganizationManagedRulePtrOutputWithContext(ctx context.Context) OrganizationManagedRulePtrOutput

type OrganizationManagedRulePtrInput added in v3.25.0

type OrganizationManagedRulePtrInput interface {
	pulumi.Input

	ToOrganizationManagedRulePtrOutput() OrganizationManagedRulePtrOutput
	ToOrganizationManagedRulePtrOutputWithContext(ctx context.Context) OrganizationManagedRulePtrOutput
}

type OrganizationManagedRulePtrOutput added in v3.25.0

type OrganizationManagedRulePtrOutput struct {
	*pulumi.OutputState
}

func (OrganizationManagedRulePtrOutput) ElementType added in v3.25.0

func (OrganizationManagedRulePtrOutput) ToOrganizationManagedRulePtrOutput added in v3.25.0

func (o OrganizationManagedRulePtrOutput) ToOrganizationManagedRulePtrOutput() OrganizationManagedRulePtrOutput

func (OrganizationManagedRulePtrOutput) ToOrganizationManagedRulePtrOutputWithContext added in v3.25.0

func (o OrganizationManagedRulePtrOutput) ToOrganizationManagedRulePtrOutputWithContext(ctx context.Context) OrganizationManagedRulePtrOutput

type OrganizationManagedRuleState

type OrganizationManagedRuleState struct {
	// Amazon Resource Name (ARN) of the rule
	Arn pulumi.StringPtrInput
	// Description of the rule
	Description pulumi.StringPtrInput
	// List of AWS account identifiers to exclude from the rule
	ExcludedAccounts pulumi.StringArrayInput
	// A string in JSON format that is passed to the AWS Config Rule Lambda Function
	InputParameters pulumi.StringPtrInput
	// The maximum frequency with which AWS Config runs evaluations for a rule, if the rule is triggered at a periodic frequency. Defaults to `TwentyFour_Hours` for periodic frequency triggered rules. Valid values: `One_Hour`, `Three_Hours`, `Six_Hours`, `Twelve_Hours`, or `TwentyFour_Hours`.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// Identifier of the AWS resource to evaluate
	ResourceIdScope pulumi.StringPtrInput
	// List of types of AWS resources to evaluate
	ResourceTypesScopes pulumi.StringArrayInput
	// Identifier of an available AWS Config Managed Rule to call. For available values, see the [List of AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) documentation
	RuleIdentifier pulumi.StringPtrInput
	// Tag key of AWS resources to evaluate
	TagKeyScope pulumi.StringPtrInput
	// Tag value of AWS resources to evaluate
	TagValueScope pulumi.StringPtrInput
}

func (OrganizationManagedRuleState) ElementType

type Recorder

type Recorder struct {
	pulumi.CustomResourceState

	// The name of the recorder. Defaults to `default`. Changing it recreates the resource.
	Name pulumi.StringOutput `pulumi:"name"`
	// Recording group - see below.
	RecordingGroup RecorderRecordingGroupOutput `pulumi:"recordingGroup"`
	// Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
	RoleArn pulumi.StringOutput `pulumi:"roleArn"`
}

Provides an AWS Config Configuration Recorder. Please note that this resource **does not start** the created recorder automatically.

> **Note:** _Starting_ the Configuration Recorder requires a `delivery channel` (while delivery channel creation requires Configuration Recorder). This is why `cfg.RecorderStatus` is a separate resource.

## Example Usage

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"config.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\",\n", "      \"Sid\": \"\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRecorder(ctx, "foo", &cfg.RecorderArgs{
			RoleArn: role.Arn,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Configuration Recorder can be imported using the name, e.g.

```sh

$ pulumi import aws:cfg/recorder:Recorder foo example

```

func GetRecorder

func GetRecorder(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RecorderState, opts ...pulumi.ResourceOption) (*Recorder, error)

GetRecorder gets an existing Recorder 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 NewRecorder

func NewRecorder(ctx *pulumi.Context,
	name string, args *RecorderArgs, opts ...pulumi.ResourceOption) (*Recorder, error)

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

func (*Recorder) ElementType added in v3.13.0

func (*Recorder) ElementType() reflect.Type

func (*Recorder) ToRecorderOutput added in v3.13.0

func (i *Recorder) ToRecorderOutput() RecorderOutput

func (*Recorder) ToRecorderOutputWithContext added in v3.13.0

func (i *Recorder) ToRecorderOutputWithContext(ctx context.Context) RecorderOutput

func (*Recorder) ToRecorderPtrOutput added in v3.25.0

func (i *Recorder) ToRecorderPtrOutput() RecorderPtrOutput

func (*Recorder) ToRecorderPtrOutputWithContext added in v3.25.0

func (i *Recorder) ToRecorderPtrOutputWithContext(ctx context.Context) RecorderPtrOutput

type RecorderArgs

type RecorderArgs struct {
	// The name of the recorder. Defaults to `default`. Changing it recreates the resource.
	Name pulumi.StringPtrInput
	// Recording group - see below.
	RecordingGroup RecorderRecordingGroupPtrInput
	// Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
	RoleArn pulumi.StringInput
}

The set of arguments for constructing a Recorder resource.

func (RecorderArgs) ElementType

func (RecorderArgs) ElementType() reflect.Type

type RecorderArray added in v3.25.0

type RecorderArray []RecorderInput

func (RecorderArray) ElementType added in v3.25.0

func (RecorderArray) ElementType() reflect.Type

func (RecorderArray) ToRecorderArrayOutput added in v3.25.0

func (i RecorderArray) ToRecorderArrayOutput() RecorderArrayOutput

func (RecorderArray) ToRecorderArrayOutputWithContext added in v3.25.0

func (i RecorderArray) ToRecorderArrayOutputWithContext(ctx context.Context) RecorderArrayOutput

type RecorderArrayInput added in v3.25.0

type RecorderArrayInput interface {
	pulumi.Input

	ToRecorderArrayOutput() RecorderArrayOutput
	ToRecorderArrayOutputWithContext(context.Context) RecorderArrayOutput
}

RecorderArrayInput is an input type that accepts RecorderArray and RecorderArrayOutput values. You can construct a concrete instance of `RecorderArrayInput` via:

RecorderArray{ RecorderArgs{...} }

type RecorderArrayOutput added in v3.25.0

type RecorderArrayOutput struct{ *pulumi.OutputState }

func (RecorderArrayOutput) ElementType added in v3.25.0

func (RecorderArrayOutput) ElementType() reflect.Type

func (RecorderArrayOutput) Index added in v3.25.0

func (RecorderArrayOutput) ToRecorderArrayOutput added in v3.25.0

func (o RecorderArrayOutput) ToRecorderArrayOutput() RecorderArrayOutput

func (RecorderArrayOutput) ToRecorderArrayOutputWithContext added in v3.25.0

func (o RecorderArrayOutput) ToRecorderArrayOutputWithContext(ctx context.Context) RecorderArrayOutput

type RecorderInput added in v3.13.0

type RecorderInput interface {
	pulumi.Input

	ToRecorderOutput() RecorderOutput
	ToRecorderOutputWithContext(ctx context.Context) RecorderOutput
}

type RecorderMap added in v3.25.0

type RecorderMap map[string]RecorderInput

func (RecorderMap) ElementType added in v3.25.0

func (RecorderMap) ElementType() reflect.Type

func (RecorderMap) ToRecorderMapOutput added in v3.25.0

func (i RecorderMap) ToRecorderMapOutput() RecorderMapOutput

func (RecorderMap) ToRecorderMapOutputWithContext added in v3.25.0

func (i RecorderMap) ToRecorderMapOutputWithContext(ctx context.Context) RecorderMapOutput

type RecorderMapInput added in v3.25.0

type RecorderMapInput interface {
	pulumi.Input

	ToRecorderMapOutput() RecorderMapOutput
	ToRecorderMapOutputWithContext(context.Context) RecorderMapOutput
}

RecorderMapInput is an input type that accepts RecorderMap and RecorderMapOutput values. You can construct a concrete instance of `RecorderMapInput` via:

RecorderMap{ "key": RecorderArgs{...} }

type RecorderMapOutput added in v3.25.0

type RecorderMapOutput struct{ *pulumi.OutputState }

func (RecorderMapOutput) ElementType added in v3.25.0

func (RecorderMapOutput) ElementType() reflect.Type

func (RecorderMapOutput) MapIndex added in v3.25.0

func (RecorderMapOutput) ToRecorderMapOutput added in v3.25.0

func (o RecorderMapOutput) ToRecorderMapOutput() RecorderMapOutput

func (RecorderMapOutput) ToRecorderMapOutputWithContext added in v3.25.0

func (o RecorderMapOutput) ToRecorderMapOutputWithContext(ctx context.Context) RecorderMapOutput

type RecorderOutput added in v3.13.0

type RecorderOutput struct {
	*pulumi.OutputState
}

func (RecorderOutput) ElementType added in v3.13.0

func (RecorderOutput) ElementType() reflect.Type

func (RecorderOutput) ToRecorderOutput added in v3.13.0

func (o RecorderOutput) ToRecorderOutput() RecorderOutput

func (RecorderOutput) ToRecorderOutputWithContext added in v3.13.0

func (o RecorderOutput) ToRecorderOutputWithContext(ctx context.Context) RecorderOutput

func (RecorderOutput) ToRecorderPtrOutput added in v3.25.0

func (o RecorderOutput) ToRecorderPtrOutput() RecorderPtrOutput

func (RecorderOutput) ToRecorderPtrOutputWithContext added in v3.25.0

func (o RecorderOutput) ToRecorderPtrOutputWithContext(ctx context.Context) RecorderPtrOutput

type RecorderPtrInput added in v3.25.0

type RecorderPtrInput interface {
	pulumi.Input

	ToRecorderPtrOutput() RecorderPtrOutput
	ToRecorderPtrOutputWithContext(ctx context.Context) RecorderPtrOutput
}

type RecorderPtrOutput added in v3.25.0

type RecorderPtrOutput struct {
	*pulumi.OutputState
}

func (RecorderPtrOutput) ElementType added in v3.25.0

func (RecorderPtrOutput) ElementType() reflect.Type

func (RecorderPtrOutput) ToRecorderPtrOutput added in v3.25.0

func (o RecorderPtrOutput) ToRecorderPtrOutput() RecorderPtrOutput

func (RecorderPtrOutput) ToRecorderPtrOutputWithContext added in v3.25.0

func (o RecorderPtrOutput) ToRecorderPtrOutputWithContext(ctx context.Context) RecorderPtrOutput

type RecorderRecordingGroup

type RecorderRecordingGroup struct {
	// Specifies whether AWS Config records configuration changes for every supported type of regional resource (which includes any new type that will become supported in the future). Conflicts with `resourceTypes`. Defaults to `true`.
	AllSupported *bool `pulumi:"allSupported"`
	// Specifies whether AWS Config includes all supported types of *global resources* with the resources that it records. Requires `allSupported = true`. Conflicts with `resourceTypes`.
	IncludeGlobalResourceTypes *bool `pulumi:"includeGlobalResourceTypes"`
	// A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false.
	ResourceTypes []string `pulumi:"resourceTypes"`
}

type RecorderRecordingGroupArgs

type RecorderRecordingGroupArgs struct {
	// Specifies whether AWS Config records configuration changes for every supported type of regional resource (which includes any new type that will become supported in the future). Conflicts with `resourceTypes`. Defaults to `true`.
	AllSupported pulumi.BoolPtrInput `pulumi:"allSupported"`
	// Specifies whether AWS Config includes all supported types of *global resources* with the resources that it records. Requires `allSupported = true`. Conflicts with `resourceTypes`.
	IncludeGlobalResourceTypes pulumi.BoolPtrInput `pulumi:"includeGlobalResourceTypes"`
	// A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false.
	ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"`
}

func (RecorderRecordingGroupArgs) ElementType

func (RecorderRecordingGroupArgs) ElementType() reflect.Type

func (RecorderRecordingGroupArgs) ToRecorderRecordingGroupOutput

func (i RecorderRecordingGroupArgs) ToRecorderRecordingGroupOutput() RecorderRecordingGroupOutput

func (RecorderRecordingGroupArgs) ToRecorderRecordingGroupOutputWithContext

func (i RecorderRecordingGroupArgs) ToRecorderRecordingGroupOutputWithContext(ctx context.Context) RecorderRecordingGroupOutput

func (RecorderRecordingGroupArgs) ToRecorderRecordingGroupPtrOutput

func (i RecorderRecordingGroupArgs) ToRecorderRecordingGroupPtrOutput() RecorderRecordingGroupPtrOutput

func (RecorderRecordingGroupArgs) ToRecorderRecordingGroupPtrOutputWithContext

func (i RecorderRecordingGroupArgs) ToRecorderRecordingGroupPtrOutputWithContext(ctx context.Context) RecorderRecordingGroupPtrOutput

type RecorderRecordingGroupInput

type RecorderRecordingGroupInput interface {
	pulumi.Input

	ToRecorderRecordingGroupOutput() RecorderRecordingGroupOutput
	ToRecorderRecordingGroupOutputWithContext(context.Context) RecorderRecordingGroupOutput
}

RecorderRecordingGroupInput is an input type that accepts RecorderRecordingGroupArgs and RecorderRecordingGroupOutput values. You can construct a concrete instance of `RecorderRecordingGroupInput` via:

RecorderRecordingGroupArgs{...}

type RecorderRecordingGroupOutput

type RecorderRecordingGroupOutput struct{ *pulumi.OutputState }

func (RecorderRecordingGroupOutput) AllSupported

Specifies whether AWS Config records configuration changes for every supported type of regional resource (which includes any new type that will become supported in the future). Conflicts with `resourceTypes`. Defaults to `true`.

func (RecorderRecordingGroupOutput) ElementType

func (RecorderRecordingGroupOutput) IncludeGlobalResourceTypes

func (o RecorderRecordingGroupOutput) IncludeGlobalResourceTypes() pulumi.BoolPtrOutput

Specifies whether AWS Config includes all supported types of *global resources* with the resources that it records. Requires `allSupported = true`. Conflicts with `resourceTypes`.

func (RecorderRecordingGroupOutput) ResourceTypes

A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false.

func (RecorderRecordingGroupOutput) ToRecorderRecordingGroupOutput

func (o RecorderRecordingGroupOutput) ToRecorderRecordingGroupOutput() RecorderRecordingGroupOutput

func (RecorderRecordingGroupOutput) ToRecorderRecordingGroupOutputWithContext

func (o RecorderRecordingGroupOutput) ToRecorderRecordingGroupOutputWithContext(ctx context.Context) RecorderRecordingGroupOutput

func (RecorderRecordingGroupOutput) ToRecorderRecordingGroupPtrOutput

func (o RecorderRecordingGroupOutput) ToRecorderRecordingGroupPtrOutput() RecorderRecordingGroupPtrOutput

func (RecorderRecordingGroupOutput) ToRecorderRecordingGroupPtrOutputWithContext

func (o RecorderRecordingGroupOutput) ToRecorderRecordingGroupPtrOutputWithContext(ctx context.Context) RecorderRecordingGroupPtrOutput

type RecorderRecordingGroupPtrInput

type RecorderRecordingGroupPtrInput interface {
	pulumi.Input

	ToRecorderRecordingGroupPtrOutput() RecorderRecordingGroupPtrOutput
	ToRecorderRecordingGroupPtrOutputWithContext(context.Context) RecorderRecordingGroupPtrOutput
}

RecorderRecordingGroupPtrInput is an input type that accepts RecorderRecordingGroupArgs, RecorderRecordingGroupPtr and RecorderRecordingGroupPtrOutput values. You can construct a concrete instance of `RecorderRecordingGroupPtrInput` via:

        RecorderRecordingGroupArgs{...}

or:

        nil

type RecorderRecordingGroupPtrOutput

type RecorderRecordingGroupPtrOutput struct{ *pulumi.OutputState }

func (RecorderRecordingGroupPtrOutput) AllSupported

Specifies whether AWS Config records configuration changes for every supported type of regional resource (which includes any new type that will become supported in the future). Conflicts with `resourceTypes`. Defaults to `true`.

func (RecorderRecordingGroupPtrOutput) Elem

func (RecorderRecordingGroupPtrOutput) ElementType

func (RecorderRecordingGroupPtrOutput) IncludeGlobalResourceTypes

func (o RecorderRecordingGroupPtrOutput) IncludeGlobalResourceTypes() pulumi.BoolPtrOutput

Specifies whether AWS Config includes all supported types of *global resources* with the resources that it records. Requires `allSupported = true`. Conflicts with `resourceTypes`.

func (RecorderRecordingGroupPtrOutput) ResourceTypes

A list that specifies the types of AWS resources for which AWS Config records configuration changes (for example, `AWS::EC2::Instance` or `AWS::CloudTrail::Trail`). See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types. In order to use this attribute, `allSupported` must be set to false.

func (RecorderRecordingGroupPtrOutput) ToRecorderRecordingGroupPtrOutput

func (o RecorderRecordingGroupPtrOutput) ToRecorderRecordingGroupPtrOutput() RecorderRecordingGroupPtrOutput

func (RecorderRecordingGroupPtrOutput) ToRecorderRecordingGroupPtrOutputWithContext

func (o RecorderRecordingGroupPtrOutput) ToRecorderRecordingGroupPtrOutputWithContext(ctx context.Context) RecorderRecordingGroupPtrOutput

type RecorderState

type RecorderState struct {
	// The name of the recorder. Defaults to `default`. Changing it recreates the resource.
	Name pulumi.StringPtrInput
	// Recording group - see below.
	RecordingGroup RecorderRecordingGroupPtrInput
	// Amazon Resource Name (ARN) of the IAM role. Used to make read or write requests to the delivery channel and to describe the AWS resources associated with the account. See [AWS Docs](http://docs.aws.amazon.com/config/latest/developerguide/iamrole-permissions.html) for more details.
	RoleArn pulumi.StringPtrInput
}

func (RecorderState) ElementType

func (RecorderState) ElementType() reflect.Type

type RecorderStatus

type RecorderStatus struct {
	pulumi.CustomResourceState

	// Whether the configuration recorder should be enabled or disabled.
	IsEnabled pulumi.BoolOutput `pulumi:"isEnabled"`
	// The name of the recorder
	Name pulumi.StringOutput `pulumi:"name"`
}

Manages status (recording / stopped) of an AWS Config Configuration Recorder.

> **Note:** Starting Configuration Recorder requires a `Delivery Channel` to be present. Use of `dependsOn` (as shown below) is recommended to avoid race conditions.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucket, err := s3.NewBucket(ctx, "bucket", nil)
		if err != nil {
			return err
		}
		fooDeliveryChannel, err := cfg.NewDeliveryChannel(ctx, "fooDeliveryChannel", &cfg.DeliveryChannelArgs{
			S3BucketName: bucket.Bucket,
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRecorderStatus(ctx, "fooRecorderStatus", &cfg.RecorderStatusArgs{
			IsEnabled: pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			fooDeliveryChannel,
		}))
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"config.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\",\n", "      \"Sid\": \"\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicyAttachment(ctx, "rolePolicyAttachment", &iam.RolePolicyAttachmentArgs{
			Role:      role.Name,
			PolicyArn: pulumi.String("arn:aws:iam::aws:policy/service-role/AWSConfigRole"),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRecorder(ctx, "fooRecorder", &cfg.RecorderArgs{
			RoleArn: role.Arn,
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "rolePolicy", &iam.RolePolicyArgs{
			Role: role.ID(),
			Policy: pulumi.All(bucket.Arn, bucket.Arn).ApplyT(func(_args []interface{}) (string, error) {
				bucketArn := _args[0].(string)
				bucketArn1 := _args[1].(string)
				return fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": [\n", "        \"s3:*\"\n", "      ],\n", "      \"Effect\": \"Allow\",\n", "      \"Resource\": [\n", "        \"", bucketArn, "\",\n", "        \"", bucketArn1, "/*\"\n", "      ]\n", "    }\n", "  ]\n", "}\n"), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Configuration Recorder Status can be imported using the name of the Configuration Recorder, e.g.

```sh

$ pulumi import aws:cfg/recorderStatus:RecorderStatus foo example

```

func GetRecorderStatus

func GetRecorderStatus(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RecorderStatusState, opts ...pulumi.ResourceOption) (*RecorderStatus, error)

GetRecorderStatus gets an existing RecorderStatus 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 NewRecorderStatus

func NewRecorderStatus(ctx *pulumi.Context,
	name string, args *RecorderStatusArgs, opts ...pulumi.ResourceOption) (*RecorderStatus, error)

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

func (*RecorderStatus) ElementType added in v3.13.0

func (*RecorderStatus) ElementType() reflect.Type

func (*RecorderStatus) ToRecorderStatusOutput added in v3.13.0

func (i *RecorderStatus) ToRecorderStatusOutput() RecorderStatusOutput

func (*RecorderStatus) ToRecorderStatusOutputWithContext added in v3.13.0

func (i *RecorderStatus) ToRecorderStatusOutputWithContext(ctx context.Context) RecorderStatusOutput

func (*RecorderStatus) ToRecorderStatusPtrOutput added in v3.25.0

func (i *RecorderStatus) ToRecorderStatusPtrOutput() RecorderStatusPtrOutput

func (*RecorderStatus) ToRecorderStatusPtrOutputWithContext added in v3.25.0

func (i *RecorderStatus) ToRecorderStatusPtrOutputWithContext(ctx context.Context) RecorderStatusPtrOutput

type RecorderStatusArgs

type RecorderStatusArgs struct {
	// Whether the configuration recorder should be enabled or disabled.
	IsEnabled pulumi.BoolInput
	// The name of the recorder
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a RecorderStatus resource.

func (RecorderStatusArgs) ElementType

func (RecorderStatusArgs) ElementType() reflect.Type

type RecorderStatusArray added in v3.25.0

type RecorderStatusArray []RecorderStatusInput

func (RecorderStatusArray) ElementType added in v3.25.0

func (RecorderStatusArray) ElementType() reflect.Type

func (RecorderStatusArray) ToRecorderStatusArrayOutput added in v3.25.0

func (i RecorderStatusArray) ToRecorderStatusArrayOutput() RecorderStatusArrayOutput

func (RecorderStatusArray) ToRecorderStatusArrayOutputWithContext added in v3.25.0

func (i RecorderStatusArray) ToRecorderStatusArrayOutputWithContext(ctx context.Context) RecorderStatusArrayOutput

type RecorderStatusArrayInput added in v3.25.0

type RecorderStatusArrayInput interface {
	pulumi.Input

	ToRecorderStatusArrayOutput() RecorderStatusArrayOutput
	ToRecorderStatusArrayOutputWithContext(context.Context) RecorderStatusArrayOutput
}

RecorderStatusArrayInput is an input type that accepts RecorderStatusArray and RecorderStatusArrayOutput values. You can construct a concrete instance of `RecorderStatusArrayInput` via:

RecorderStatusArray{ RecorderStatusArgs{...} }

type RecorderStatusArrayOutput added in v3.25.0

type RecorderStatusArrayOutput struct{ *pulumi.OutputState }

func (RecorderStatusArrayOutput) ElementType added in v3.25.0

func (RecorderStatusArrayOutput) ElementType() reflect.Type

func (RecorderStatusArrayOutput) Index added in v3.25.0

func (RecorderStatusArrayOutput) ToRecorderStatusArrayOutput added in v3.25.0

func (o RecorderStatusArrayOutput) ToRecorderStatusArrayOutput() RecorderStatusArrayOutput

func (RecorderStatusArrayOutput) ToRecorderStatusArrayOutputWithContext added in v3.25.0

func (o RecorderStatusArrayOutput) ToRecorderStatusArrayOutputWithContext(ctx context.Context) RecorderStatusArrayOutput

type RecorderStatusInput added in v3.13.0

type RecorderStatusInput interface {
	pulumi.Input

	ToRecorderStatusOutput() RecorderStatusOutput
	ToRecorderStatusOutputWithContext(ctx context.Context) RecorderStatusOutput
}

type RecorderStatusMap added in v3.25.0

type RecorderStatusMap map[string]RecorderStatusInput

func (RecorderStatusMap) ElementType added in v3.25.0

func (RecorderStatusMap) ElementType() reflect.Type

func (RecorderStatusMap) ToRecorderStatusMapOutput added in v3.25.0

func (i RecorderStatusMap) ToRecorderStatusMapOutput() RecorderStatusMapOutput

func (RecorderStatusMap) ToRecorderStatusMapOutputWithContext added in v3.25.0

func (i RecorderStatusMap) ToRecorderStatusMapOutputWithContext(ctx context.Context) RecorderStatusMapOutput

type RecorderStatusMapInput added in v3.25.0

type RecorderStatusMapInput interface {
	pulumi.Input

	ToRecorderStatusMapOutput() RecorderStatusMapOutput
	ToRecorderStatusMapOutputWithContext(context.Context) RecorderStatusMapOutput
}

RecorderStatusMapInput is an input type that accepts RecorderStatusMap and RecorderStatusMapOutput values. You can construct a concrete instance of `RecorderStatusMapInput` via:

RecorderStatusMap{ "key": RecorderStatusArgs{...} }

type RecorderStatusMapOutput added in v3.25.0

type RecorderStatusMapOutput struct{ *pulumi.OutputState }

func (RecorderStatusMapOutput) ElementType added in v3.25.0

func (RecorderStatusMapOutput) ElementType() reflect.Type

func (RecorderStatusMapOutput) MapIndex added in v3.25.0

func (RecorderStatusMapOutput) ToRecorderStatusMapOutput added in v3.25.0

func (o RecorderStatusMapOutput) ToRecorderStatusMapOutput() RecorderStatusMapOutput

func (RecorderStatusMapOutput) ToRecorderStatusMapOutputWithContext added in v3.25.0

func (o RecorderStatusMapOutput) ToRecorderStatusMapOutputWithContext(ctx context.Context) RecorderStatusMapOutput

type RecorderStatusOutput added in v3.13.0

type RecorderStatusOutput struct {
	*pulumi.OutputState
}

func (RecorderStatusOutput) ElementType added in v3.13.0

func (RecorderStatusOutput) ElementType() reflect.Type

func (RecorderStatusOutput) ToRecorderStatusOutput added in v3.13.0

func (o RecorderStatusOutput) ToRecorderStatusOutput() RecorderStatusOutput

func (RecorderStatusOutput) ToRecorderStatusOutputWithContext added in v3.13.0

func (o RecorderStatusOutput) ToRecorderStatusOutputWithContext(ctx context.Context) RecorderStatusOutput

func (RecorderStatusOutput) ToRecorderStatusPtrOutput added in v3.25.0

func (o RecorderStatusOutput) ToRecorderStatusPtrOutput() RecorderStatusPtrOutput

func (RecorderStatusOutput) ToRecorderStatusPtrOutputWithContext added in v3.25.0

func (o RecorderStatusOutput) ToRecorderStatusPtrOutputWithContext(ctx context.Context) RecorderStatusPtrOutput

type RecorderStatusPtrInput added in v3.25.0

type RecorderStatusPtrInput interface {
	pulumi.Input

	ToRecorderStatusPtrOutput() RecorderStatusPtrOutput
	ToRecorderStatusPtrOutputWithContext(ctx context.Context) RecorderStatusPtrOutput
}

type RecorderStatusPtrOutput added in v3.25.0

type RecorderStatusPtrOutput struct {
	*pulumi.OutputState
}

func (RecorderStatusPtrOutput) ElementType added in v3.25.0

func (RecorderStatusPtrOutput) ElementType() reflect.Type

func (RecorderStatusPtrOutput) ToRecorderStatusPtrOutput added in v3.25.0

func (o RecorderStatusPtrOutput) ToRecorderStatusPtrOutput() RecorderStatusPtrOutput

func (RecorderStatusPtrOutput) ToRecorderStatusPtrOutputWithContext added in v3.25.0

func (o RecorderStatusPtrOutput) ToRecorderStatusPtrOutputWithContext(ctx context.Context) RecorderStatusPtrOutput

type RecorderStatusState

type RecorderStatusState struct {
	// Whether the configuration recorder should be enabled or disabled.
	IsEnabled pulumi.BoolPtrInput
	// The name of the recorder
	Name pulumi.StringPtrInput
}

func (RecorderStatusState) ElementType

func (RecorderStatusState) ElementType() reflect.Type

type RemediationConfiguration added in v3.4.0

type RemediationConfiguration struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the Config Remediation Configuration.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The name of the AWS Config rule
	ConfigRuleName pulumi.StringOutput `pulumi:"configRuleName"`
	// Can be specified multiple times for each
	// parameter. Each parameter block supports fields documented below.
	Parameters RemediationConfigurationParameterArrayOutput `pulumi:"parameters"`
	// The type of a resource
	ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"`
	// Target ID is the name of the public document
	TargetId pulumi.StringOutput `pulumi:"targetId"`
	// The type of the target. Target executes remediation. For example, SSM document
	TargetType pulumi.StringOutput `pulumi:"targetType"`
	// Version of the target. For example, version of the SSM document
	TargetVersion pulumi.StringPtrOutput `pulumi:"targetVersion"`
}

Provides an AWS Config Remediation Configuration.

> **Note:** Config Remediation Configuration requires an existing Config Rule to be present.

## Example Usage

AWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		thisRule, err := cfg.NewRule(ctx, "thisRule", &cfg.RuleArgs{
			Source: &cfg.RuleSourceArgs{
				Owner:            pulumi.String("AWS"),
				SourceIdentifier: pulumi.String("S3_BUCKET_VERSIONING_ENABLED"),
			},
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRemediationConfiguration(ctx, "thisRemediationConfiguration", &cfg.RemediationConfigurationArgs{
			ConfigRuleName: thisRule.Name,
			ResourceType:   pulumi.String("AWS::S3::Bucket"),
			TargetType:     pulumi.String("SSM_DOCUMENT"),
			TargetId:       pulumi.String("AWS-EnableS3BucketEncryption"),
			TargetVersion:  pulumi.String("1"),
			Parameters: cfg.RemediationConfigurationParameterArray{
				&cfg.RemediationConfigurationParameterArgs{
					Name:        pulumi.String("AutomationAssumeRole"),
					StaticValue: pulumi.String("arn:aws:iam::875924563244:role/security_config"),
				},
				&cfg.RemediationConfigurationParameterArgs{
					Name:          pulumi.String("BucketName"),
					ResourceValue: pulumi.String("RESOURCE_ID"),
				},
				&cfg.RemediationConfigurationParameterArgs{
					Name:        pulumi.String("SSEAlgorithm"),
					StaticValue: pulumi.String("AES256"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Remediation Configurations can be imported using the name config_rule_name, e.g.

```sh

$ pulumi import aws:cfg/remediationConfiguration:RemediationConfiguration this example

```

func GetRemediationConfiguration added in v3.4.0

func GetRemediationConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RemediationConfigurationState, opts ...pulumi.ResourceOption) (*RemediationConfiguration, error)

GetRemediationConfiguration gets an existing RemediationConfiguration 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 NewRemediationConfiguration added in v3.4.0

func NewRemediationConfiguration(ctx *pulumi.Context,
	name string, args *RemediationConfigurationArgs, opts ...pulumi.ResourceOption) (*RemediationConfiguration, error)

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

func (*RemediationConfiguration) ElementType added in v3.13.0

func (*RemediationConfiguration) ElementType() reflect.Type

func (*RemediationConfiguration) ToRemediationConfigurationOutput added in v3.13.0

func (i *RemediationConfiguration) ToRemediationConfigurationOutput() RemediationConfigurationOutput

func (*RemediationConfiguration) ToRemediationConfigurationOutputWithContext added in v3.13.0

func (i *RemediationConfiguration) ToRemediationConfigurationOutputWithContext(ctx context.Context) RemediationConfigurationOutput

func (*RemediationConfiguration) ToRemediationConfigurationPtrOutput added in v3.25.0

func (i *RemediationConfiguration) ToRemediationConfigurationPtrOutput() RemediationConfigurationPtrOutput

func (*RemediationConfiguration) ToRemediationConfigurationPtrOutputWithContext added in v3.25.0

func (i *RemediationConfiguration) ToRemediationConfigurationPtrOutputWithContext(ctx context.Context) RemediationConfigurationPtrOutput

type RemediationConfigurationArgs added in v3.4.0

type RemediationConfigurationArgs struct {
	// The name of the AWS Config rule
	ConfigRuleName pulumi.StringInput
	// Can be specified multiple times for each
	// parameter. Each parameter block supports fields documented below.
	Parameters RemediationConfigurationParameterArrayInput
	// The type of a resource
	ResourceType pulumi.StringPtrInput
	// Target ID is the name of the public document
	TargetId pulumi.StringInput
	// The type of the target. Target executes remediation. For example, SSM document
	TargetType pulumi.StringInput
	// Version of the target. For example, version of the SSM document
	TargetVersion pulumi.StringPtrInput
}

The set of arguments for constructing a RemediationConfiguration resource.

func (RemediationConfigurationArgs) ElementType added in v3.4.0

type RemediationConfigurationArray added in v3.25.0

type RemediationConfigurationArray []RemediationConfigurationInput

func (RemediationConfigurationArray) ElementType added in v3.25.0

func (RemediationConfigurationArray) ToRemediationConfigurationArrayOutput added in v3.25.0

func (i RemediationConfigurationArray) ToRemediationConfigurationArrayOutput() RemediationConfigurationArrayOutput

func (RemediationConfigurationArray) ToRemediationConfigurationArrayOutputWithContext added in v3.25.0

func (i RemediationConfigurationArray) ToRemediationConfigurationArrayOutputWithContext(ctx context.Context) RemediationConfigurationArrayOutput

type RemediationConfigurationArrayInput added in v3.25.0

type RemediationConfigurationArrayInput interface {
	pulumi.Input

	ToRemediationConfigurationArrayOutput() RemediationConfigurationArrayOutput
	ToRemediationConfigurationArrayOutputWithContext(context.Context) RemediationConfigurationArrayOutput
}

RemediationConfigurationArrayInput is an input type that accepts RemediationConfigurationArray and RemediationConfigurationArrayOutput values. You can construct a concrete instance of `RemediationConfigurationArrayInput` via:

RemediationConfigurationArray{ RemediationConfigurationArgs{...} }

type RemediationConfigurationArrayOutput added in v3.25.0

type RemediationConfigurationArrayOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationArrayOutput) ElementType added in v3.25.0

func (RemediationConfigurationArrayOutput) Index added in v3.25.0

func (RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutput added in v3.25.0

func (o RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutput() RemediationConfigurationArrayOutput

func (RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutputWithContext added in v3.25.0

func (o RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutputWithContext(ctx context.Context) RemediationConfigurationArrayOutput

type RemediationConfigurationInput added in v3.13.0

type RemediationConfigurationInput interface {
	pulumi.Input

	ToRemediationConfigurationOutput() RemediationConfigurationOutput
	ToRemediationConfigurationOutputWithContext(ctx context.Context) RemediationConfigurationOutput
}

type RemediationConfigurationMap added in v3.25.0

type RemediationConfigurationMap map[string]RemediationConfigurationInput

func (RemediationConfigurationMap) ElementType added in v3.25.0

func (RemediationConfigurationMap) ToRemediationConfigurationMapOutput added in v3.25.0

func (i RemediationConfigurationMap) ToRemediationConfigurationMapOutput() RemediationConfigurationMapOutput

func (RemediationConfigurationMap) ToRemediationConfigurationMapOutputWithContext added in v3.25.0

func (i RemediationConfigurationMap) ToRemediationConfigurationMapOutputWithContext(ctx context.Context) RemediationConfigurationMapOutput

type RemediationConfigurationMapInput added in v3.25.0

type RemediationConfigurationMapInput interface {
	pulumi.Input

	ToRemediationConfigurationMapOutput() RemediationConfigurationMapOutput
	ToRemediationConfigurationMapOutputWithContext(context.Context) RemediationConfigurationMapOutput
}

RemediationConfigurationMapInput is an input type that accepts RemediationConfigurationMap and RemediationConfigurationMapOutput values. You can construct a concrete instance of `RemediationConfigurationMapInput` via:

RemediationConfigurationMap{ "key": RemediationConfigurationArgs{...} }

type RemediationConfigurationMapOutput added in v3.25.0

type RemediationConfigurationMapOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationMapOutput) ElementType added in v3.25.0

func (RemediationConfigurationMapOutput) MapIndex added in v3.25.0

func (RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutput added in v3.25.0

func (o RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutput() RemediationConfigurationMapOutput

func (RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutputWithContext added in v3.25.0

func (o RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutputWithContext(ctx context.Context) RemediationConfigurationMapOutput

type RemediationConfigurationOutput added in v3.13.0

type RemediationConfigurationOutput struct {
	*pulumi.OutputState
}

func (RemediationConfigurationOutput) ElementType added in v3.13.0

func (RemediationConfigurationOutput) ToRemediationConfigurationOutput added in v3.13.0

func (o RemediationConfigurationOutput) ToRemediationConfigurationOutput() RemediationConfigurationOutput

func (RemediationConfigurationOutput) ToRemediationConfigurationOutputWithContext added in v3.13.0

func (o RemediationConfigurationOutput) ToRemediationConfigurationOutputWithContext(ctx context.Context) RemediationConfigurationOutput

func (RemediationConfigurationOutput) ToRemediationConfigurationPtrOutput added in v3.25.0

func (o RemediationConfigurationOutput) ToRemediationConfigurationPtrOutput() RemediationConfigurationPtrOutput

func (RemediationConfigurationOutput) ToRemediationConfigurationPtrOutputWithContext added in v3.25.0

func (o RemediationConfigurationOutput) ToRemediationConfigurationPtrOutputWithContext(ctx context.Context) RemediationConfigurationPtrOutput

type RemediationConfigurationParameter added in v3.4.0

type RemediationConfigurationParameter struct {
	// The name of the attribute.
	Name string `pulumi:"name"`
	// The value is dynamic and changes at run-time.
	ResourceValue *string `pulumi:"resourceValue"`
	// The value is static and does not change at run-time.
	StaticValue *string `pulumi:"staticValue"`
}

type RemediationConfigurationParameterArgs added in v3.4.0

type RemediationConfigurationParameterArgs struct {
	// The name of the attribute.
	Name pulumi.StringInput `pulumi:"name"`
	// The value is dynamic and changes at run-time.
	ResourceValue pulumi.StringPtrInput `pulumi:"resourceValue"`
	// The value is static and does not change at run-time.
	StaticValue pulumi.StringPtrInput `pulumi:"staticValue"`
}

func (RemediationConfigurationParameterArgs) ElementType added in v3.4.0

func (RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutput added in v3.4.0

func (i RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutput() RemediationConfigurationParameterOutput

func (RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutputWithContext added in v3.4.0

func (i RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutputWithContext(ctx context.Context) RemediationConfigurationParameterOutput

type RemediationConfigurationParameterArray added in v3.4.0

type RemediationConfigurationParameterArray []RemediationConfigurationParameterInput

func (RemediationConfigurationParameterArray) ElementType added in v3.4.0

func (RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutput added in v3.4.0

func (i RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutput() RemediationConfigurationParameterArrayOutput

func (RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutputWithContext added in v3.4.0

func (i RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutputWithContext(ctx context.Context) RemediationConfigurationParameterArrayOutput

type RemediationConfigurationParameterArrayInput added in v3.4.0

type RemediationConfigurationParameterArrayInput interface {
	pulumi.Input

	ToRemediationConfigurationParameterArrayOutput() RemediationConfigurationParameterArrayOutput
	ToRemediationConfigurationParameterArrayOutputWithContext(context.Context) RemediationConfigurationParameterArrayOutput
}

RemediationConfigurationParameterArrayInput is an input type that accepts RemediationConfigurationParameterArray and RemediationConfigurationParameterArrayOutput values. You can construct a concrete instance of `RemediationConfigurationParameterArrayInput` via:

RemediationConfigurationParameterArray{ RemediationConfigurationParameterArgs{...} }

type RemediationConfigurationParameterArrayOutput added in v3.4.0

type RemediationConfigurationParameterArrayOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationParameterArrayOutput) ElementType added in v3.4.0

func (RemediationConfigurationParameterArrayOutput) Index added in v3.4.0

func (RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutput added in v3.4.0

func (o RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutput() RemediationConfigurationParameterArrayOutput

func (RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutputWithContext added in v3.4.0

func (o RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutputWithContext(ctx context.Context) RemediationConfigurationParameterArrayOutput

type RemediationConfigurationParameterInput added in v3.4.0

type RemediationConfigurationParameterInput interface {
	pulumi.Input

	ToRemediationConfigurationParameterOutput() RemediationConfigurationParameterOutput
	ToRemediationConfigurationParameterOutputWithContext(context.Context) RemediationConfigurationParameterOutput
}

RemediationConfigurationParameterInput is an input type that accepts RemediationConfigurationParameterArgs and RemediationConfigurationParameterOutput values. You can construct a concrete instance of `RemediationConfigurationParameterInput` via:

RemediationConfigurationParameterArgs{...}

type RemediationConfigurationParameterOutput added in v3.4.0

type RemediationConfigurationParameterOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationParameterOutput) ElementType added in v3.4.0

func (RemediationConfigurationParameterOutput) Name added in v3.4.0

The name of the attribute.

func (RemediationConfigurationParameterOutput) ResourceValue added in v3.4.0

The value is dynamic and changes at run-time.

func (RemediationConfigurationParameterOutput) StaticValue added in v3.4.0

The value is static and does not change at run-time.

func (RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutput added in v3.4.0

func (o RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutput() RemediationConfigurationParameterOutput

func (RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutputWithContext added in v3.4.0

func (o RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutputWithContext(ctx context.Context) RemediationConfigurationParameterOutput

type RemediationConfigurationPtrInput added in v3.25.0

type RemediationConfigurationPtrInput interface {
	pulumi.Input

	ToRemediationConfigurationPtrOutput() RemediationConfigurationPtrOutput
	ToRemediationConfigurationPtrOutputWithContext(ctx context.Context) RemediationConfigurationPtrOutput
}

type RemediationConfigurationPtrOutput added in v3.25.0

type RemediationConfigurationPtrOutput struct {
	*pulumi.OutputState
}

func (RemediationConfigurationPtrOutput) ElementType added in v3.25.0

func (RemediationConfigurationPtrOutput) ToRemediationConfigurationPtrOutput added in v3.25.0

func (o RemediationConfigurationPtrOutput) ToRemediationConfigurationPtrOutput() RemediationConfigurationPtrOutput

func (RemediationConfigurationPtrOutput) ToRemediationConfigurationPtrOutputWithContext added in v3.25.0

func (o RemediationConfigurationPtrOutput) ToRemediationConfigurationPtrOutputWithContext(ctx context.Context) RemediationConfigurationPtrOutput

type RemediationConfigurationState added in v3.4.0

type RemediationConfigurationState struct {
	// Amazon Resource Name (ARN) of the Config Remediation Configuration.
	Arn pulumi.StringPtrInput
	// The name of the AWS Config rule
	ConfigRuleName pulumi.StringPtrInput
	// Can be specified multiple times for each
	// parameter. Each parameter block supports fields documented below.
	Parameters RemediationConfigurationParameterArrayInput
	// The type of a resource
	ResourceType pulumi.StringPtrInput
	// Target ID is the name of the public document
	TargetId pulumi.StringPtrInput
	// The type of the target. Target executes remediation. For example, SSM document
	TargetType pulumi.StringPtrInput
	// Version of the target. For example, version of the SSM document
	TargetVersion pulumi.StringPtrInput
}

func (RemediationConfigurationState) ElementType added in v3.4.0

type Rule

type Rule struct {
	pulumi.CustomResourceState

	// The ARN of the config rule
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Description of the rule
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A string in JSON format that is passed to the AWS Config rule Lambda function.
	InputParameters pulumi.StringPtrOutput `pulumi:"inputParameters"`
	// The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If specified, requires `messageType` to be `ScheduledNotification`.
	MaximumExecutionFrequency pulumi.StringPtrOutput `pulumi:"maximumExecutionFrequency"`
	// The name of the rule
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the config rule
	RuleId pulumi.StringOutput `pulumi:"ruleId"`
	// Scope defines which resources can trigger an evaluation for the rule as documented below.
	Scope RuleScopePtrOutput `pulumi:"scope"`
	// Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources as documented below.
	Source RuleSourceOutput `pulumi:"source"`
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Provides an AWS Config Rule.

> **Note:** Config Rule requires an existing `Configuration Recorder` to be present. Use of `dependsOn` is recommended (as shown below) to avoid race conditions.

## Example Usage ### AWS Managed Rules

AWS managed rules can be used by setting the source owner to `AWS` and the source identifier to the name of the managed rule. More information about AWS managed rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html).

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "    {\n", "      \"Action\": \"sts:AssumeRole\",\n", "      \"Principal\": {\n", "        \"Service\": \"config.amazonaws.com\"\n", "      },\n", "      \"Effect\": \"Allow\",\n", "      \"Sid\": \"\"\n", "    }\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		foo, err := cfg.NewRecorder(ctx, "foo", &cfg.RecorderArgs{
			RoleArn: role.Arn,
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRule(ctx, "rule", &cfg.RuleArgs{
			Source: &cfg.RuleSourceArgs{
				Owner:            pulumi.String("AWS"),
				SourceIdentifier: pulumi.String("S3_BUCKET_VERSIONING_ENABLED"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			foo,
		}))
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "rolePolicy", &iam.RolePolicyArgs{
			Role: role.ID(),
			Policy: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Version\": \"2012-10-17\",\n", "  \"Statement\": [\n", "  	{\n", "  		\"Action\": \"config:Put*\",\n", "  		\"Effect\": \"Allow\",\n", "  		\"Resource\": \"*\"\n", "\n", "  	}\n", "  ]\n", "}\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Custom Rules

Custom rules can be used by setting the source owner to `CUSTOM_LAMBDA` and the source identifier to the Amazon Resource Name (ARN) of the Lambda Function. The AWS Config service must have permissions to invoke the Lambda Function, e.g. via the `lambda.Permission` resource. More information about custom rules can be found in the [AWS Config Developer Guide](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html).

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/lambda"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleRecorder, err := cfg.NewRecorder(ctx, "exampleRecorder", nil)
		if err != nil {
			return err
		}
		exampleFunction, err := lambda.NewFunction(ctx, "exampleFunction", nil)
		if err != nil {
			return err
		}
		examplePermission, err := lambda.NewPermission(ctx, "examplePermission", &lambda.PermissionArgs{
			Action:    pulumi.String("lambda:InvokeFunction"),
			Function:  exampleFunction.Arn,
			Principal: pulumi.String("config.amazonaws.com"),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRule(ctx, "exampleRule", &cfg.RuleArgs{
			Source: &cfg.RuleSourceArgs{
				Owner:            pulumi.String("CUSTOM_LAMBDA"),
				SourceIdentifier: exampleFunction.Arn,
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleRecorder,
			examplePermission,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Config Rule can be imported using the name, e.g.

```sh

$ pulumi import aws:cfg/rule:Rule foo example

```

func GetRule

func GetRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RuleState, opts ...pulumi.ResourceOption) (*Rule, error)

GetRule gets an existing Rule 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 NewRule

func NewRule(ctx *pulumi.Context,
	name string, args *RuleArgs, opts ...pulumi.ResourceOption) (*Rule, error)

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

func (*Rule) ElementType added in v3.13.0

func (*Rule) ElementType() reflect.Type

func (*Rule) ToRuleOutput added in v3.13.0

func (i *Rule) ToRuleOutput() RuleOutput

func (*Rule) ToRuleOutputWithContext added in v3.13.0

func (i *Rule) ToRuleOutputWithContext(ctx context.Context) RuleOutput

func (*Rule) ToRulePtrOutput added in v3.25.0

func (i *Rule) ToRulePtrOutput() RulePtrOutput

func (*Rule) ToRulePtrOutputWithContext added in v3.25.0

func (i *Rule) ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput

type RuleArgs

type RuleArgs struct {
	// Description of the rule
	Description pulumi.StringPtrInput
	// A string in JSON format that is passed to the AWS Config rule Lambda function.
	InputParameters pulumi.StringPtrInput
	// The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If specified, requires `messageType` to be `ScheduledNotification`.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// Scope defines which resources can trigger an evaluation for the rule as documented below.
	Scope RuleScopePtrInput
	// Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources as documented below.
	Source RuleSourceInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Rule resource.

func (RuleArgs) ElementType

func (RuleArgs) ElementType() reflect.Type

type RuleArray added in v3.25.0

type RuleArray []RuleInput

func (RuleArray) ElementType added in v3.25.0

func (RuleArray) ElementType() reflect.Type

func (RuleArray) ToRuleArrayOutput added in v3.25.0

func (i RuleArray) ToRuleArrayOutput() RuleArrayOutput

func (RuleArray) ToRuleArrayOutputWithContext added in v3.25.0

func (i RuleArray) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput

type RuleArrayInput added in v3.25.0

type RuleArrayInput interface {
	pulumi.Input

	ToRuleArrayOutput() RuleArrayOutput
	ToRuleArrayOutputWithContext(context.Context) RuleArrayOutput
}

RuleArrayInput is an input type that accepts RuleArray and RuleArrayOutput values. You can construct a concrete instance of `RuleArrayInput` via:

RuleArray{ RuleArgs{...} }

type RuleArrayOutput added in v3.25.0

type RuleArrayOutput struct{ *pulumi.OutputState }

func (RuleArrayOutput) ElementType added in v3.25.0

func (RuleArrayOutput) ElementType() reflect.Type

func (RuleArrayOutput) Index added in v3.25.0

func (RuleArrayOutput) ToRuleArrayOutput added in v3.25.0

func (o RuleArrayOutput) ToRuleArrayOutput() RuleArrayOutput

func (RuleArrayOutput) ToRuleArrayOutputWithContext added in v3.25.0

func (o RuleArrayOutput) ToRuleArrayOutputWithContext(ctx context.Context) RuleArrayOutput

type RuleInput added in v3.13.0

type RuleInput interface {
	pulumi.Input

	ToRuleOutput() RuleOutput
	ToRuleOutputWithContext(ctx context.Context) RuleOutput
}

type RuleMap added in v3.25.0

type RuleMap map[string]RuleInput

func (RuleMap) ElementType added in v3.25.0

func (RuleMap) ElementType() reflect.Type

func (RuleMap) ToRuleMapOutput added in v3.25.0

func (i RuleMap) ToRuleMapOutput() RuleMapOutput

func (RuleMap) ToRuleMapOutputWithContext added in v3.25.0

func (i RuleMap) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput

type RuleMapInput added in v3.25.0

type RuleMapInput interface {
	pulumi.Input

	ToRuleMapOutput() RuleMapOutput
	ToRuleMapOutputWithContext(context.Context) RuleMapOutput
}

RuleMapInput is an input type that accepts RuleMap and RuleMapOutput values. You can construct a concrete instance of `RuleMapInput` via:

RuleMap{ "key": RuleArgs{...} }

type RuleMapOutput added in v3.25.0

type RuleMapOutput struct{ *pulumi.OutputState }

func (RuleMapOutput) ElementType added in v3.25.0

func (RuleMapOutput) ElementType() reflect.Type

func (RuleMapOutput) MapIndex added in v3.25.0

func (RuleMapOutput) ToRuleMapOutput added in v3.25.0

func (o RuleMapOutput) ToRuleMapOutput() RuleMapOutput

func (RuleMapOutput) ToRuleMapOutputWithContext added in v3.25.0

func (o RuleMapOutput) ToRuleMapOutputWithContext(ctx context.Context) RuleMapOutput

type RuleOutput added in v3.13.0

type RuleOutput struct {
	*pulumi.OutputState
}

func (RuleOutput) ElementType added in v3.13.0

func (RuleOutput) ElementType() reflect.Type

func (RuleOutput) ToRuleOutput added in v3.13.0

func (o RuleOutput) ToRuleOutput() RuleOutput

func (RuleOutput) ToRuleOutputWithContext added in v3.13.0

func (o RuleOutput) ToRuleOutputWithContext(ctx context.Context) RuleOutput

func (RuleOutput) ToRulePtrOutput added in v3.25.0

func (o RuleOutput) ToRulePtrOutput() RulePtrOutput

func (RuleOutput) ToRulePtrOutputWithContext added in v3.25.0

func (o RuleOutput) ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput

type RulePtrInput added in v3.25.0

type RulePtrInput interface {
	pulumi.Input

	ToRulePtrOutput() RulePtrOutput
	ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput
}

type RulePtrOutput added in v3.25.0

type RulePtrOutput struct {
	*pulumi.OutputState
}

func (RulePtrOutput) ElementType added in v3.25.0

func (RulePtrOutput) ElementType() reflect.Type

func (RulePtrOutput) ToRulePtrOutput added in v3.25.0

func (o RulePtrOutput) ToRulePtrOutput() RulePtrOutput

func (RulePtrOutput) ToRulePtrOutputWithContext added in v3.25.0

func (o RulePtrOutput) ToRulePtrOutputWithContext(ctx context.Context) RulePtrOutput

type RuleScope

type RuleScope struct {
	// The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`.
	ComplianceResourceId *string `pulumi:"complianceResourceId"`
	// A list of resource types of only those AWS resources that you want to trigger an evaluation for the rule. e.g. `AWS::EC2::Instance`. You can only specify one type if you also specify a resource ID for `complianceResourceId`. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types.
	ComplianceResourceTypes []string `pulumi:"complianceResourceTypes"`
	// The tag key that is applied to only those AWS resources that you want you want to trigger an evaluation for the rule.
	TagKey *string `pulumi:"tagKey"`
	// The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule.
	TagValue *string `pulumi:"tagValue"`
}

type RuleScopeArgs

type RuleScopeArgs struct {
	// The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`.
	ComplianceResourceId pulumi.StringPtrInput `pulumi:"complianceResourceId"`
	// A list of resource types of only those AWS resources that you want to trigger an evaluation for the rule. e.g. `AWS::EC2::Instance`. You can only specify one type if you also specify a resource ID for `complianceResourceId`. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types.
	ComplianceResourceTypes pulumi.StringArrayInput `pulumi:"complianceResourceTypes"`
	// The tag key that is applied to only those AWS resources that you want you want to trigger an evaluation for the rule.
	TagKey pulumi.StringPtrInput `pulumi:"tagKey"`
	// The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule.
	TagValue pulumi.StringPtrInput `pulumi:"tagValue"`
}

func (RuleScopeArgs) ElementType

func (RuleScopeArgs) ElementType() reflect.Type

func (RuleScopeArgs) ToRuleScopeOutput

func (i RuleScopeArgs) ToRuleScopeOutput() RuleScopeOutput

func (RuleScopeArgs) ToRuleScopeOutputWithContext

func (i RuleScopeArgs) ToRuleScopeOutputWithContext(ctx context.Context) RuleScopeOutput

func (RuleScopeArgs) ToRuleScopePtrOutput

func (i RuleScopeArgs) ToRuleScopePtrOutput() RuleScopePtrOutput

func (RuleScopeArgs) ToRuleScopePtrOutputWithContext

func (i RuleScopeArgs) ToRuleScopePtrOutputWithContext(ctx context.Context) RuleScopePtrOutput

type RuleScopeInput

type RuleScopeInput interface {
	pulumi.Input

	ToRuleScopeOutput() RuleScopeOutput
	ToRuleScopeOutputWithContext(context.Context) RuleScopeOutput
}

RuleScopeInput is an input type that accepts RuleScopeArgs and RuleScopeOutput values. You can construct a concrete instance of `RuleScopeInput` via:

RuleScopeArgs{...}

type RuleScopeOutput

type RuleScopeOutput struct{ *pulumi.OutputState }

func (RuleScopeOutput) ComplianceResourceId

func (o RuleScopeOutput) ComplianceResourceId() pulumi.StringPtrOutput

The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`.

func (RuleScopeOutput) ComplianceResourceTypes

func (o RuleScopeOutput) ComplianceResourceTypes() pulumi.StringArrayOutput

A list of resource types of only those AWS resources that you want to trigger an evaluation for the rule. e.g. `AWS::EC2::Instance`. You can only specify one type if you also specify a resource ID for `complianceResourceId`. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types.

func (RuleScopeOutput) ElementType

func (RuleScopeOutput) ElementType() reflect.Type

func (RuleScopeOutput) TagKey

The tag key that is applied to only those AWS resources that you want you want to trigger an evaluation for the rule.

func (RuleScopeOutput) TagValue

func (o RuleScopeOutput) TagValue() pulumi.StringPtrOutput

The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule.

func (RuleScopeOutput) ToRuleScopeOutput

func (o RuleScopeOutput) ToRuleScopeOutput() RuleScopeOutput

func (RuleScopeOutput) ToRuleScopeOutputWithContext

func (o RuleScopeOutput) ToRuleScopeOutputWithContext(ctx context.Context) RuleScopeOutput

func (RuleScopeOutput) ToRuleScopePtrOutput

func (o RuleScopeOutput) ToRuleScopePtrOutput() RuleScopePtrOutput

func (RuleScopeOutput) ToRuleScopePtrOutputWithContext

func (o RuleScopeOutput) ToRuleScopePtrOutputWithContext(ctx context.Context) RuleScopePtrOutput

type RuleScopePtrInput

type RuleScopePtrInput interface {
	pulumi.Input

	ToRuleScopePtrOutput() RuleScopePtrOutput
	ToRuleScopePtrOutputWithContext(context.Context) RuleScopePtrOutput
}

RuleScopePtrInput is an input type that accepts RuleScopeArgs, RuleScopePtr and RuleScopePtrOutput values. You can construct a concrete instance of `RuleScopePtrInput` via:

        RuleScopeArgs{...}

or:

        nil

func RuleScopePtr

func RuleScopePtr(v *RuleScopeArgs) RuleScopePtrInput

type RuleScopePtrOutput

type RuleScopePtrOutput struct{ *pulumi.OutputState }

func (RuleScopePtrOutput) ComplianceResourceId

func (o RuleScopePtrOutput) ComplianceResourceId() pulumi.StringPtrOutput

The IDs of the only AWS resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for `complianceResourceTypes`.

func (RuleScopePtrOutput) ComplianceResourceTypes

func (o RuleScopePtrOutput) ComplianceResourceTypes() pulumi.StringArrayOutput

A list of resource types of only those AWS resources that you want to trigger an evaluation for the rule. e.g. `AWS::EC2::Instance`. You can only specify one type if you also specify a resource ID for `complianceResourceId`. See [relevant part of AWS Docs](http://docs.aws.amazon.com/config/latest/APIReference/API_ResourceIdentifier.html#config-Type-ResourceIdentifier-resourceType) for available types.

func (RuleScopePtrOutput) Elem

func (RuleScopePtrOutput) ElementType

func (RuleScopePtrOutput) ElementType() reflect.Type

func (RuleScopePtrOutput) TagKey

The tag key that is applied to only those AWS resources that you want you want to trigger an evaluation for the rule.

func (RuleScopePtrOutput) TagValue

The tag value applied to only those AWS resources that you want to trigger an evaluation for the rule.

func (RuleScopePtrOutput) ToRuleScopePtrOutput

func (o RuleScopePtrOutput) ToRuleScopePtrOutput() RuleScopePtrOutput

func (RuleScopePtrOutput) ToRuleScopePtrOutputWithContext

func (o RuleScopePtrOutput) ToRuleScopePtrOutputWithContext(ctx context.Context) RuleScopePtrOutput

type RuleSource

type RuleSource struct {
	// Indicates whether AWS or the customer owns and manages the AWS Config rule. Valid values are `AWS` or `CUSTOM_LAMBDA`. For more information about managed rules, see the [AWS Config Managed Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html). For more information about custom rules, see the [AWS Config Custom Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html). Custom Lambda Functions require permissions to allow the AWS Config service to invoke them, e.g. via the `lambda.Permission` resource.
	Owner string `pulumi:"owner"`
	// Provides the source and type of the event that causes AWS Config to evaluate your AWS resources. Only valid if `owner` is `CUSTOM_LAMBDA`.
	SourceDetails []RuleSourceSourceDetail `pulumi:"sourceDetails"`
	// For AWS Config managed rules, a predefined identifier, e.g `IAM_PASSWORD_POLICY`. For custom Lambda rules, the identifier is the ARN of the Lambda Function, such as `arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name` or the `arn` attribute of the `lambda.Function` resource.
	SourceIdentifier string `pulumi:"sourceIdentifier"`
}

type RuleSourceArgs

type RuleSourceArgs struct {
	// Indicates whether AWS or the customer owns and manages the AWS Config rule. Valid values are `AWS` or `CUSTOM_LAMBDA`. For more information about managed rules, see the [AWS Config Managed Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html). For more information about custom rules, see the [AWS Config Custom Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html). Custom Lambda Functions require permissions to allow the AWS Config service to invoke them, e.g. via the `lambda.Permission` resource.
	Owner pulumi.StringInput `pulumi:"owner"`
	// Provides the source and type of the event that causes AWS Config to evaluate your AWS resources. Only valid if `owner` is `CUSTOM_LAMBDA`.
	SourceDetails RuleSourceSourceDetailArrayInput `pulumi:"sourceDetails"`
	// For AWS Config managed rules, a predefined identifier, e.g `IAM_PASSWORD_POLICY`. For custom Lambda rules, the identifier is the ARN of the Lambda Function, such as `arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name` or the `arn` attribute of the `lambda.Function` resource.
	SourceIdentifier pulumi.StringInput `pulumi:"sourceIdentifier"`
}

func (RuleSourceArgs) ElementType

func (RuleSourceArgs) ElementType() reflect.Type

func (RuleSourceArgs) ToRuleSourceOutput

func (i RuleSourceArgs) ToRuleSourceOutput() RuleSourceOutput

func (RuleSourceArgs) ToRuleSourceOutputWithContext

func (i RuleSourceArgs) ToRuleSourceOutputWithContext(ctx context.Context) RuleSourceOutput

func (RuleSourceArgs) ToRuleSourcePtrOutput

func (i RuleSourceArgs) ToRuleSourcePtrOutput() RuleSourcePtrOutput

func (RuleSourceArgs) ToRuleSourcePtrOutputWithContext

func (i RuleSourceArgs) ToRuleSourcePtrOutputWithContext(ctx context.Context) RuleSourcePtrOutput

type RuleSourceInput

type RuleSourceInput interface {
	pulumi.Input

	ToRuleSourceOutput() RuleSourceOutput
	ToRuleSourceOutputWithContext(context.Context) RuleSourceOutput
}

RuleSourceInput is an input type that accepts RuleSourceArgs and RuleSourceOutput values. You can construct a concrete instance of `RuleSourceInput` via:

RuleSourceArgs{...}

type RuleSourceOutput

type RuleSourceOutput struct{ *pulumi.OutputState }

func (RuleSourceOutput) ElementType

func (RuleSourceOutput) ElementType() reflect.Type

func (RuleSourceOutput) Owner

Indicates whether AWS or the customer owns and manages the AWS Config rule. Valid values are `AWS` or `CUSTOM_LAMBDA`. For more information about managed rules, see the [AWS Config Managed Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html). For more information about custom rules, see the [AWS Config Custom Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html). Custom Lambda Functions require permissions to allow the AWS Config service to invoke them, e.g. via the `lambda.Permission` resource.

func (RuleSourceOutput) SourceDetails

Provides the source and type of the event that causes AWS Config to evaluate your AWS resources. Only valid if `owner` is `CUSTOM_LAMBDA`.

func (RuleSourceOutput) SourceIdentifier

func (o RuleSourceOutput) SourceIdentifier() pulumi.StringOutput

For AWS Config managed rules, a predefined identifier, e.g `IAM_PASSWORD_POLICY`. For custom Lambda rules, the identifier is the ARN of the Lambda Function, such as `arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name` or the `arn` attribute of the `lambda.Function` resource.

func (RuleSourceOutput) ToRuleSourceOutput

func (o RuleSourceOutput) ToRuleSourceOutput() RuleSourceOutput

func (RuleSourceOutput) ToRuleSourceOutputWithContext

func (o RuleSourceOutput) ToRuleSourceOutputWithContext(ctx context.Context) RuleSourceOutput

func (RuleSourceOutput) ToRuleSourcePtrOutput

func (o RuleSourceOutput) ToRuleSourcePtrOutput() RuleSourcePtrOutput

func (RuleSourceOutput) ToRuleSourcePtrOutputWithContext

func (o RuleSourceOutput) ToRuleSourcePtrOutputWithContext(ctx context.Context) RuleSourcePtrOutput

type RuleSourcePtrInput

type RuleSourcePtrInput interface {
	pulumi.Input

	ToRuleSourcePtrOutput() RuleSourcePtrOutput
	ToRuleSourcePtrOutputWithContext(context.Context) RuleSourcePtrOutput
}

RuleSourcePtrInput is an input type that accepts RuleSourceArgs, RuleSourcePtr and RuleSourcePtrOutput values. You can construct a concrete instance of `RuleSourcePtrInput` via:

        RuleSourceArgs{...}

or:

        nil

func RuleSourcePtr

func RuleSourcePtr(v *RuleSourceArgs) RuleSourcePtrInput

type RuleSourcePtrOutput

type RuleSourcePtrOutput struct{ *pulumi.OutputState }

func (RuleSourcePtrOutput) Elem

func (RuleSourcePtrOutput) ElementType

func (RuleSourcePtrOutput) ElementType() reflect.Type

func (RuleSourcePtrOutput) Owner

Indicates whether AWS or the customer owns and manages the AWS Config rule. Valid values are `AWS` or `CUSTOM_LAMBDA`. For more information about managed rules, see the [AWS Config Managed Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html). For more information about custom rules, see the [AWS Config Custom Rules documentation](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html). Custom Lambda Functions require permissions to allow the AWS Config service to invoke them, e.g. via the `lambda.Permission` resource.

func (RuleSourcePtrOutput) SourceDetails

Provides the source and type of the event that causes AWS Config to evaluate your AWS resources. Only valid if `owner` is `CUSTOM_LAMBDA`.

func (RuleSourcePtrOutput) SourceIdentifier

func (o RuleSourcePtrOutput) SourceIdentifier() pulumi.StringPtrOutput

For AWS Config managed rules, a predefined identifier, e.g `IAM_PASSWORD_POLICY`. For custom Lambda rules, the identifier is the ARN of the Lambda Function, such as `arn:aws:lambda:us-east-1:123456789012:function:custom_rule_name` or the `arn` attribute of the `lambda.Function` resource.

func (RuleSourcePtrOutput) ToRuleSourcePtrOutput

func (o RuleSourcePtrOutput) ToRuleSourcePtrOutput() RuleSourcePtrOutput

func (RuleSourcePtrOutput) ToRuleSourcePtrOutputWithContext

func (o RuleSourcePtrOutput) ToRuleSourcePtrOutputWithContext(ctx context.Context) RuleSourcePtrOutput

type RuleSourceSourceDetail

type RuleSourceSourceDetail struct {
	// The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources. This defaults to `aws.config` and is the only valid value.
	EventSource *string `pulumi:"eventSource"`
	// The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If specified, requires `messageType` to be `ScheduledNotification`.
	MaximumExecutionFrequency *string `pulumi:"maximumExecutionFrequency"`
	// The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:
	MessageType *string `pulumi:"messageType"`
}

type RuleSourceSourceDetailArgs

type RuleSourceSourceDetailArgs struct {
	// The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources. This defaults to `aws.config` and is the only valid value.
	EventSource pulumi.StringPtrInput `pulumi:"eventSource"`
	// The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If specified, requires `messageType` to be `ScheduledNotification`.
	MaximumExecutionFrequency pulumi.StringPtrInput `pulumi:"maximumExecutionFrequency"`
	// The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:
	MessageType pulumi.StringPtrInput `pulumi:"messageType"`
}

func (RuleSourceSourceDetailArgs) ElementType

func (RuleSourceSourceDetailArgs) ElementType() reflect.Type

func (RuleSourceSourceDetailArgs) ToRuleSourceSourceDetailOutput

func (i RuleSourceSourceDetailArgs) ToRuleSourceSourceDetailOutput() RuleSourceSourceDetailOutput

func (RuleSourceSourceDetailArgs) ToRuleSourceSourceDetailOutputWithContext

func (i RuleSourceSourceDetailArgs) ToRuleSourceSourceDetailOutputWithContext(ctx context.Context) RuleSourceSourceDetailOutput

type RuleSourceSourceDetailArray

type RuleSourceSourceDetailArray []RuleSourceSourceDetailInput

func (RuleSourceSourceDetailArray) ElementType

func (RuleSourceSourceDetailArray) ToRuleSourceSourceDetailArrayOutput

func (i RuleSourceSourceDetailArray) ToRuleSourceSourceDetailArrayOutput() RuleSourceSourceDetailArrayOutput

func (RuleSourceSourceDetailArray) ToRuleSourceSourceDetailArrayOutputWithContext

func (i RuleSourceSourceDetailArray) ToRuleSourceSourceDetailArrayOutputWithContext(ctx context.Context) RuleSourceSourceDetailArrayOutput

type RuleSourceSourceDetailArrayInput

type RuleSourceSourceDetailArrayInput interface {
	pulumi.Input

	ToRuleSourceSourceDetailArrayOutput() RuleSourceSourceDetailArrayOutput
	ToRuleSourceSourceDetailArrayOutputWithContext(context.Context) RuleSourceSourceDetailArrayOutput
}

RuleSourceSourceDetailArrayInput is an input type that accepts RuleSourceSourceDetailArray and RuleSourceSourceDetailArrayOutput values. You can construct a concrete instance of `RuleSourceSourceDetailArrayInput` via:

RuleSourceSourceDetailArray{ RuleSourceSourceDetailArgs{...} }

type RuleSourceSourceDetailArrayOutput

type RuleSourceSourceDetailArrayOutput struct{ *pulumi.OutputState }

func (RuleSourceSourceDetailArrayOutput) ElementType

func (RuleSourceSourceDetailArrayOutput) Index

func (RuleSourceSourceDetailArrayOutput) ToRuleSourceSourceDetailArrayOutput

func (o RuleSourceSourceDetailArrayOutput) ToRuleSourceSourceDetailArrayOutput() RuleSourceSourceDetailArrayOutput

func (RuleSourceSourceDetailArrayOutput) ToRuleSourceSourceDetailArrayOutputWithContext

func (o RuleSourceSourceDetailArrayOutput) ToRuleSourceSourceDetailArrayOutputWithContext(ctx context.Context) RuleSourceSourceDetailArrayOutput

type RuleSourceSourceDetailInput

type RuleSourceSourceDetailInput interface {
	pulumi.Input

	ToRuleSourceSourceDetailOutput() RuleSourceSourceDetailOutput
	ToRuleSourceSourceDetailOutputWithContext(context.Context) RuleSourceSourceDetailOutput
}

RuleSourceSourceDetailInput is an input type that accepts RuleSourceSourceDetailArgs and RuleSourceSourceDetailOutput values. You can construct a concrete instance of `RuleSourceSourceDetailInput` via:

RuleSourceSourceDetailArgs{...}

type RuleSourceSourceDetailOutput

type RuleSourceSourceDetailOutput struct{ *pulumi.OutputState }

func (RuleSourceSourceDetailOutput) ElementType

func (RuleSourceSourceDetailOutput) EventSource

The source of the event, such as an AWS service, that triggers AWS Config to evaluate your AWS resources. This defaults to `aws.config` and is the only valid value.

func (RuleSourceSourceDetailOutput) MaximumExecutionFrequency

func (o RuleSourceSourceDetailOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput

The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If specified, requires `messageType` to be `ScheduledNotification`.

func (RuleSourceSourceDetailOutput) MessageType

The type of notification that triggers AWS Config to run an evaluation for a rule. You can specify the following notification types:

func (RuleSourceSourceDetailOutput) ToRuleSourceSourceDetailOutput

func (o RuleSourceSourceDetailOutput) ToRuleSourceSourceDetailOutput() RuleSourceSourceDetailOutput

func (RuleSourceSourceDetailOutput) ToRuleSourceSourceDetailOutputWithContext

func (o RuleSourceSourceDetailOutput) ToRuleSourceSourceDetailOutputWithContext(ctx context.Context) RuleSourceSourceDetailOutput

type RuleState

type RuleState struct {
	// The ARN of the config rule
	Arn pulumi.StringPtrInput
	// Description of the rule
	Description pulumi.StringPtrInput
	// A string in JSON format that is passed to the AWS Config rule Lambda function.
	InputParameters pulumi.StringPtrInput
	// The frequency that you want AWS Config to run evaluations for a rule that is triggered periodically. If specified, requires `messageType` to be `ScheduledNotification`.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// The ID of the config rule
	RuleId pulumi.StringPtrInput
	// Scope defines which resources can trigger an evaluation for the rule as documented below.
	Scope RuleScopePtrInput
	// Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources as documented below.
	Source RuleSourcePtrInput
	// A map of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (RuleState) ElementType

func (RuleState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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