cfg

package
v5.43.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Manages an AWS Config Aggregate Authorization

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v3/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

func (*AggregateAuthorization) ElementType() reflect.Type

func (*AggregateAuthorization) ToAggregateAuthorizationOutput

func (i *AggregateAuthorization) ToAggregateAuthorizationOutput() AggregateAuthorizationOutput

func (*AggregateAuthorization) ToAggregateAuthorizationOutputWithContext

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

type AggregateAuthorizationArgs

type AggregateAuthorizationArgs struct {
	// Account ID
	AccountId pulumi.StringInput
	// Region
	Region pulumi.StringInput
	// A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a AggregateAuthorization resource.

func (AggregateAuthorizationArgs) ElementType

func (AggregateAuthorizationArgs) ElementType() reflect.Type

type AggregateAuthorizationArray

type AggregateAuthorizationArray []AggregateAuthorizationInput

func (AggregateAuthorizationArray) ElementType

func (AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutput

func (i AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutput() AggregateAuthorizationArrayOutput

func (AggregateAuthorizationArray) ToAggregateAuthorizationArrayOutputWithContext

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

type AggregateAuthorizationArrayInput

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

type AggregateAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (AggregateAuthorizationArrayOutput) ElementType

func (AggregateAuthorizationArrayOutput) Index

func (AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutput

func (o AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutput() AggregateAuthorizationArrayOutput

func (AggregateAuthorizationArrayOutput) ToAggregateAuthorizationArrayOutputWithContext

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

type AggregateAuthorizationInput

type AggregateAuthorizationInput interface {
	pulumi.Input

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

type AggregateAuthorizationMap

type AggregateAuthorizationMap map[string]AggregateAuthorizationInput

func (AggregateAuthorizationMap) ElementType

func (AggregateAuthorizationMap) ElementType() reflect.Type

func (AggregateAuthorizationMap) ToAggregateAuthorizationMapOutput

func (i AggregateAuthorizationMap) ToAggregateAuthorizationMapOutput() AggregateAuthorizationMapOutput

func (AggregateAuthorizationMap) ToAggregateAuthorizationMapOutputWithContext

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

type AggregateAuthorizationMapInput

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

type AggregateAuthorizationMapOutput struct{ *pulumi.OutputState }

func (AggregateAuthorizationMapOutput) ElementType

func (AggregateAuthorizationMapOutput) MapIndex

func (AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutput

func (o AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutput() AggregateAuthorizationMapOutput

func (AggregateAuthorizationMapOutput) ToAggregateAuthorizationMapOutputWithContext

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

type AggregateAuthorizationOutput

type AggregateAuthorizationOutput struct{ *pulumi.OutputState }

func (AggregateAuthorizationOutput) AccountId added in v5.4.0

Account ID

func (AggregateAuthorizationOutput) Arn added in v5.4.0

The ARN of the authorization

func (AggregateAuthorizationOutput) ElementType

func (AggregateAuthorizationOutput) Region added in v5.4.0

Region

func (AggregateAuthorizationOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (AggregateAuthorizationOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (AggregateAuthorizationOutput) ToAggregateAuthorizationOutput

func (o AggregateAuthorizationOutput) ToAggregateAuthorizationOutput() AggregateAuthorizationOutput

func (AggregateAuthorizationOutput) ToAggregateAuthorizationOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// Either `accountAggregationSource` or `organizationAggregationSource` must be specified.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Manages an AWS Config Configuration Aggregator

## Example Usage ### Account Based Aggregation

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v3/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 (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"config.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		organizationRole, err := iam.NewRole(ctx, "organizationRole", &iam.RoleArgs{
			AssumeRolePolicy: *pulumi.String(assumeRole.Json),
		})
		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

func (*ConfigurationAggregator) ElementType() reflect.Type

func (*ConfigurationAggregator) ToConfigurationAggregatorOutput

func (i *ConfigurationAggregator) ToConfigurationAggregatorOutput() ConfigurationAggregatorOutput

func (*ConfigurationAggregator) ToConfigurationAggregatorOutputWithContext

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

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.
	//
	// Either `regions` or `allRegions` (as true) must be specified.
	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.
	//
	// Either `regions` or `allRegions` (as true) must be specified.
	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.

Either `regions` or `allRegions` (as true) must be specified.

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.

Either `regions` or `allRegions` (as true) must be specified.

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// Either `accountAggregationSource` or `organizationAggregationSource` must be specified.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ConfigurationAggregator resource.

func (ConfigurationAggregatorArgs) ElementType

type ConfigurationAggregatorArray

type ConfigurationAggregatorArray []ConfigurationAggregatorInput

func (ConfigurationAggregatorArray) ElementType

func (ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutput

func (i ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutput() ConfigurationAggregatorArrayOutput

func (ConfigurationAggregatorArray) ToConfigurationAggregatorArrayOutputWithContext

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

type ConfigurationAggregatorArrayInput

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

type ConfigurationAggregatorArrayOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorArrayOutput) ElementType

func (ConfigurationAggregatorArrayOutput) Index

func (ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutput

func (o ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutput() ConfigurationAggregatorArrayOutput

func (ConfigurationAggregatorArrayOutput) ToConfigurationAggregatorArrayOutputWithContext

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

type ConfigurationAggregatorInput

type ConfigurationAggregatorInput interface {
	pulumi.Input

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

type ConfigurationAggregatorMap

type ConfigurationAggregatorMap map[string]ConfigurationAggregatorInput

func (ConfigurationAggregatorMap) ElementType

func (ConfigurationAggregatorMap) ElementType() reflect.Type

func (ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutput

func (i ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutput() ConfigurationAggregatorMapOutput

func (ConfigurationAggregatorMap) ToConfigurationAggregatorMapOutputWithContext

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

type ConfigurationAggregatorMapInput

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

type ConfigurationAggregatorMapOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorMapOutput) ElementType

func (ConfigurationAggregatorMapOutput) MapIndex

func (ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutput

func (o ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutput() ConfigurationAggregatorMapOutput

func (ConfigurationAggregatorMapOutput) ToConfigurationAggregatorMapOutputWithContext

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.
	//
	// Either `regions` or `allRegions` (as true) must be specified.
	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.
	//
	// Either `regions` or `allRegions` (as true) must be specified.
	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.

Either `regions` or `allRegions` (as true) must be specified.

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.

Either `regions` or `allRegions` (as true) must be specified.

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutput

func (ConfigurationAggregatorOrganizationAggregationSourcePtrOutput) ToConfigurationAggregatorOrganizationAggregationSourcePtrOutputWithContext

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

type ConfigurationAggregatorOutput

type ConfigurationAggregatorOutput struct{ *pulumi.OutputState }

func (ConfigurationAggregatorOutput) AccountAggregationSource added in v5.4.0

The account(s) to aggregate config data from as documented below.

func (ConfigurationAggregatorOutput) Arn added in v5.4.0

The ARN of the aggregator

func (ConfigurationAggregatorOutput) ElementType

func (ConfigurationAggregatorOutput) Name added in v5.4.0

The name of the configuration aggregator.

func (ConfigurationAggregatorOutput) OrganizationAggregationSource added in v5.4.0

The organization to aggregate config data from as documented below.

func (ConfigurationAggregatorOutput) Tags added in v5.4.0

A map of tags to assign to the resource. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Either `accountAggregationSource` or `organizationAggregationSource` must be specified.

func (ConfigurationAggregatorOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ConfigurationAggregatorOutput) ToConfigurationAggregatorOutput

func (o ConfigurationAggregatorOutput) ToConfigurationAggregatorOutput() ConfigurationAggregatorOutput

func (ConfigurationAggregatorOutput) ToConfigurationAggregatorOutputWithContext

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

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. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	//
	// Either `accountAggregationSource` or `organizationAggregationSource` must be specified.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ConfigurationAggregatorState) ElementType

type ConformancePack

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 (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v3/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(`Parameters:
  AccessKeysRotatedParameterMaxAccessKeyAge:
    Type: String

Resources:

IAMPasswordPolicy:
  Properties:
    ConfigRuleName: IAMPasswordPolicy
    Source:
      Owner: AWS
      SourceIdentifier: IAM_PASSWORD_POLICY
  Type: AWS::Config::ConfigRule

`),

		}, 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/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleBucketV2, err := s3.NewBucketV2(ctx, "exampleBucketV2", nil)
		if err != nil {
			return err
		}
		exampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, "exampleBucketObjectv2", &s3.BucketObjectv2Args{
			Bucket: exampleBucketV2.ID(),
			Key:    pulumi.String("example-key"),
			Content: pulumi.String(`Resources:
  IAMPasswordPolicy:
    Properties:
      ConfigRuleName: IAMPasswordPolicy
      Source:
        Owner: AWS
        SourceIdentifier: IAM_PASSWORD_POLICY
    Type: AWS::Config::ConfigRule

`),

		})
		if err != nil {
			return err
		}
		_, err = cfg.NewConformancePack(ctx, "exampleConformancePack", &cfg.ConformancePackArgs{
			TemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {
				bucket := _args[0].(string)
				key := _args[1].(string)
				return fmt.Sprintf("s3://%v/%v", 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

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

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

func (*ConformancePack) ElementType() reflect.Type

func (*ConformancePack) ToConformancePackOutput

func (i *ConformancePack) ToConformancePackOutput() ConformancePackOutput

func (*ConformancePack) ToConformancePackOutputWithContext

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

type ConformancePackArgs

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

func (ConformancePackArgs) ElementType() reflect.Type

type ConformancePackArray

type ConformancePackArray []ConformancePackInput

func (ConformancePackArray) ElementType

func (ConformancePackArray) ElementType() reflect.Type

func (ConformancePackArray) ToConformancePackArrayOutput

func (i ConformancePackArray) ToConformancePackArrayOutput() ConformancePackArrayOutput

func (ConformancePackArray) ToConformancePackArrayOutputWithContext

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

type ConformancePackArrayInput

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

type ConformancePackArrayOutput struct{ *pulumi.OutputState }

func (ConformancePackArrayOutput) ElementType

func (ConformancePackArrayOutput) ElementType() reflect.Type

func (ConformancePackArrayOutput) Index

func (ConformancePackArrayOutput) ToConformancePackArrayOutput

func (o ConformancePackArrayOutput) ToConformancePackArrayOutput() ConformancePackArrayOutput

func (ConformancePackArrayOutput) ToConformancePackArrayOutputWithContext

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

type ConformancePackInput

type ConformancePackInput interface {
	pulumi.Input

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

type ConformancePackInputParameter

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

type ConformancePackInputParameterArgs

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

func (ConformancePackInputParameterArgs) ElementType

func (ConformancePackInputParameterArgs) ToConformancePackInputParameterOutput

func (i ConformancePackInputParameterArgs) ToConformancePackInputParameterOutput() ConformancePackInputParameterOutput

func (ConformancePackInputParameterArgs) ToConformancePackInputParameterOutputWithContext

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

type ConformancePackInputParameterArray

type ConformancePackInputParameterArray []ConformancePackInputParameterInput

func (ConformancePackInputParameterArray) ElementType

func (ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutput

func (i ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutput() ConformancePackInputParameterArrayOutput

func (ConformancePackInputParameterArray) ToConformancePackInputParameterArrayOutputWithContext

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

type ConformancePackInputParameterArrayInput

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

type ConformancePackInputParameterArrayOutput struct{ *pulumi.OutputState }

func (ConformancePackInputParameterArrayOutput) ElementType

func (ConformancePackInputParameterArrayOutput) Index

func (ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutput

func (o ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutput() ConformancePackInputParameterArrayOutput

func (ConformancePackInputParameterArrayOutput) ToConformancePackInputParameterArrayOutputWithContext

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

type ConformancePackInputParameterInput

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

type ConformancePackInputParameterOutput struct{ *pulumi.OutputState }

func (ConformancePackInputParameterOutput) ElementType

func (ConformancePackInputParameterOutput) ParameterName

The input key.

func (ConformancePackInputParameterOutput) ParameterValue

The input value.

func (ConformancePackInputParameterOutput) ToConformancePackInputParameterOutput

func (o ConformancePackInputParameterOutput) ToConformancePackInputParameterOutput() ConformancePackInputParameterOutput

func (ConformancePackInputParameterOutput) ToConformancePackInputParameterOutputWithContext

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

type ConformancePackMap

type ConformancePackMap map[string]ConformancePackInput

func (ConformancePackMap) ElementType

func (ConformancePackMap) ElementType() reflect.Type

func (ConformancePackMap) ToConformancePackMapOutput

func (i ConformancePackMap) ToConformancePackMapOutput() ConformancePackMapOutput

func (ConformancePackMap) ToConformancePackMapOutputWithContext

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

type ConformancePackMapInput

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

type ConformancePackMapOutput struct{ *pulumi.OutputState }

func (ConformancePackMapOutput) ElementType

func (ConformancePackMapOutput) ElementType() reflect.Type

func (ConformancePackMapOutput) MapIndex

func (ConformancePackMapOutput) ToConformancePackMapOutput

func (o ConformancePackMapOutput) ToConformancePackMapOutput() ConformancePackMapOutput

func (ConformancePackMapOutput) ToConformancePackMapOutputWithContext

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

type ConformancePackOutput

type ConformancePackOutput struct{ *pulumi.OutputState }

func (ConformancePackOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the conformance pack.

func (ConformancePackOutput) DeliveryS3Bucket added in v5.4.0

func (o ConformancePackOutput) DeliveryS3Bucket() pulumi.StringPtrOutput

Amazon S3 bucket where AWS Config stores conformance pack templates. Maximum length of 63.

func (ConformancePackOutput) DeliveryS3KeyPrefix added in v5.4.0

func (o ConformancePackOutput) DeliveryS3KeyPrefix() pulumi.StringPtrOutput

The prefix for the Amazon S3 bucket. Maximum length of 1024.

func (ConformancePackOutput) ElementType

func (ConformancePackOutput) ElementType() reflect.Type

func (ConformancePackOutput) InputParameters added in v5.4.0

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`.

func (ConformancePackOutput) Name added in v5.4.0

The name of the conformance pack. Must begin with a letter and contain from 1 to 256 alphanumeric characters and hyphens.

func (ConformancePackOutput) TemplateBody added in v5.4.0

func (o ConformancePackOutput) TemplateBody() pulumi.StringPtrOutput

A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument.

func (ConformancePackOutput) TemplateS3Uri added in v5.4.0

func (o ConformancePackOutput) TemplateS3Uri() pulumi.StringPtrOutput

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.

func (ConformancePackOutput) ToConformancePackOutput

func (o ConformancePackOutput) ToConformancePackOutput() ConformancePackOutput

func (ConformancePackOutput) ToConformancePackOutputWithContext

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

type ConformancePackState

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

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"`
	// The ARN of the AWS KMS key used to encrypt objects delivered by AWS Config. Must belong to the same Region as the destination S3 bucket.
	S3KmsKeyArn pulumi.StringPtrOutput `pulumi:"s3KmsKeyArn"`
	// 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/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucketV2, err := s3.NewBucketV2(ctx, "bucketV2", &s3.BucketV2Args{
			ForceDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"config.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: *pulumi.String(assumeRole.Json),
		})
		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: bucketV2.Bucket,
		}, pulumi.DependsOn([]pulumi.Resource{
			fooRecorder,
		}))
		if err != nil {
			return err
		}
		policyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:*"),
					},
					Resources: pulumi.StringArray{
						bucketV2.Arn,
						bucketV2.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/*", arn), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		}, nil)
		_, err = iam.NewRolePolicy(ctx, "rolePolicy", &iam.RolePolicyArgs{
			Role: role.ID(),
			Policy: policyDocument.ApplyT(func(policyDocument iam.GetPolicyDocumentResult) (*string, error) {
				return &policyDocument.Json, nil
			}).(pulumi.StringPtrOutput),
		})
		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

func (*DeliveryChannel) ElementType() reflect.Type

func (*DeliveryChannel) ToDeliveryChannelOutput

func (i *DeliveryChannel) ToDeliveryChannelOutput() DeliveryChannelOutput

func (*DeliveryChannel) ToDeliveryChannelOutputWithContext

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

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
	// The ARN of the AWS KMS key used to encrypt objects delivered by AWS Config. Must belong to the same Region as the destination S3 bucket.
	S3KmsKeyArn 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

type DeliveryChannelArray []DeliveryChannelInput

func (DeliveryChannelArray) ElementType

func (DeliveryChannelArray) ElementType() reflect.Type

func (DeliveryChannelArray) ToDeliveryChannelArrayOutput

func (i DeliveryChannelArray) ToDeliveryChannelArrayOutput() DeliveryChannelArrayOutput

func (DeliveryChannelArray) ToDeliveryChannelArrayOutputWithContext

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

type DeliveryChannelArrayInput

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

type DeliveryChannelArrayOutput struct{ *pulumi.OutputState }

func (DeliveryChannelArrayOutput) ElementType

func (DeliveryChannelArrayOutput) ElementType() reflect.Type

func (DeliveryChannelArrayOutput) Index

func (DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutput

func (o DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutput() DeliveryChannelArrayOutput

func (DeliveryChannelArrayOutput) ToDeliveryChannelArrayOutputWithContext

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

type DeliveryChannelInput

type DeliveryChannelInput interface {
	pulumi.Input

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

type DeliveryChannelMap

type DeliveryChannelMap map[string]DeliveryChannelInput

func (DeliveryChannelMap) ElementType

func (DeliveryChannelMap) ElementType() reflect.Type

func (DeliveryChannelMap) ToDeliveryChannelMapOutput

func (i DeliveryChannelMap) ToDeliveryChannelMapOutput() DeliveryChannelMapOutput

func (DeliveryChannelMap) ToDeliveryChannelMapOutputWithContext

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

type DeliveryChannelMapInput

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

type DeliveryChannelMapOutput struct{ *pulumi.OutputState }

func (DeliveryChannelMapOutput) ElementType

func (DeliveryChannelMapOutput) ElementType() reflect.Type

func (DeliveryChannelMapOutput) MapIndex

func (DeliveryChannelMapOutput) ToDeliveryChannelMapOutput

func (o DeliveryChannelMapOutput) ToDeliveryChannelMapOutput() DeliveryChannelMapOutput

func (DeliveryChannelMapOutput) ToDeliveryChannelMapOutputWithContext

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

type DeliveryChannelOutput

type DeliveryChannelOutput struct{ *pulumi.OutputState }

func (DeliveryChannelOutput) ElementType

func (DeliveryChannelOutput) ElementType() reflect.Type

func (DeliveryChannelOutput) Name added in v5.4.0

The name of the delivery channel. Defaults to `default`. Changing it recreates the resource.

func (DeliveryChannelOutput) S3BucketName added in v5.4.0

func (o DeliveryChannelOutput) S3BucketName() pulumi.StringOutput

The name of the S3 bucket used to store the configuration history.

func (DeliveryChannelOutput) S3KeyPrefix added in v5.4.0

The prefix for the specified S3 bucket.

func (DeliveryChannelOutput) S3KmsKeyArn added in v5.4.0

The ARN of the AWS KMS key used to encrypt objects delivered by AWS Config. Must belong to the same Region as the destination S3 bucket.

func (DeliveryChannelOutput) SnapshotDeliveryProperties added in v5.4.0

Options for how AWS Config delivers configuration snapshots. See below

func (DeliveryChannelOutput) SnsTopicArn added in v5.4.0

The ARN of the SNS topic that AWS Config delivers notifications to.

func (DeliveryChannelOutput) ToDeliveryChannelOutput

func (o DeliveryChannelOutput) ToDeliveryChannelOutput() DeliveryChannelOutput

func (DeliveryChannelOutput) ToDeliveryChannelOutputWithContext

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

type DeliveryChannelSnapshotDeliveryProperties

type DeliveryChannelSnapshotDeliveryProperties struct {
	// The frequency with which AWS Config recurringly delivers configuration snapshotsE.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 snapshotsE.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 snapshotsE.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 snapshotsE.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
	// The ARN of the AWS KMS key used to encrypt objects delivered by AWS Config. Must belong to the same Region as the destination S3 bucket.
	S3KmsKeyArn 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 OrganizationConformancePack

type OrganizationConformancePack struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the organization conformance pack.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. 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 AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts.
	ExcludedAccounts pulumi.StringArrayOutput `pulumi:"excludedAccounts"`
	// 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 OrganizationConformancePackInputParameterArrayOutput `pulumi:"inputParameters"`
	// The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 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 Organization Conformance Pack. More information can be found in the [Managing Conformance Packs Across all Accounts in Your Organization](https://docs.aws.amazon.com/config/latest/developerguide/conformance-pack-organization-apis.html) and [AWS Config Managed Rules](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) documentation. Example 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:** This resource must be created in the Organization master account or a delegated administrator account, and the Organization must have all features enabled. Every Organization account except those configured in the `excludedAccounts` argument must have a Configuration Recorder with proper IAM permissions before the Organization Conformance Pack will successfully create or update. See also the `cfg.Recorder` resource.

## Example Usage ### Using Template Body

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/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.NewOrganizationConformancePack(ctx, "exampleOrganizationConformancePack", &cfg.OrganizationConformancePackArgs{
			InputParameters: cfg.OrganizationConformancePackInputParameterArray{
				&cfg.OrganizationConformancePackInputParameterArgs{
					ParameterName:  pulumi.String("AccessKeysRotatedParameterMaxAccessKeyAge"),
					ParameterValue: pulumi.String("90"),
				},
			},
			TemplateBody: pulumi.String(`Parameters:
  AccessKeysRotatedParameterMaxAccessKeyAge:
    Type: String

Resources:

IAMPasswordPolicy:
  Properties:
    ConfigRuleName: IAMPasswordPolicy
    Source:
      Owner: AWS
      SourceIdentifier: IAM_PASSWORD_POLICY
  Type: AWS::Config::ConfigRule

`),

		}, pulumi.DependsOn([]pulumi.Resource{
			aws_config_configuration_recorder.Example,
			exampleOrganization,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Using Template S3 URI

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/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
		}
		exampleBucketV2, err := s3.NewBucketV2(ctx, "exampleBucketV2", nil)
		if err != nil {
			return err
		}
		exampleBucketObjectv2, err := s3.NewBucketObjectv2(ctx, "exampleBucketObjectv2", &s3.BucketObjectv2Args{
			Bucket: exampleBucketV2.ID(),
			Key:    pulumi.String("example-key"),
			Content: pulumi.String(`Resources:
  IAMPasswordPolicy:
    Properties:
      ConfigRuleName: IAMPasswordPolicy
      Source:
        Owner: AWS
        SourceIdentifier: IAM_PASSWORD_POLICY
    Type: AWS::Config::ConfigRule

`),

		})
		if err != nil {
			return err
		}
		_, err = cfg.NewOrganizationConformancePack(ctx, "exampleOrganizationConformancePack", &cfg.OrganizationConformancePackArgs{
			TemplateS3Uri: pulumi.All(exampleBucketV2.Bucket, exampleBucketObjectv2.Key).ApplyT(func(_args []interface{}) (string, error) {
				bucket := _args[0].(string)
				key := _args[1].(string)
				return fmt.Sprintf("s3://%v/%v", bucket, key), nil
			}).(pulumi.StringOutput),
		}, pulumi.DependsOn([]pulumi.Resource{
			aws_config_configuration_recorder.Example,
			exampleOrganization,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh

$ pulumi import aws:cfg/organizationConformancePack:OrganizationConformancePack example example

```

func GetOrganizationConformancePack

func GetOrganizationConformancePack(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationConformancePackState, opts ...pulumi.ResourceOption) (*OrganizationConformancePack, error)

GetOrganizationConformancePack gets an existing OrganizationConformancePack 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 NewOrganizationConformancePack

func NewOrganizationConformancePack(ctx *pulumi.Context,
	name string, args *OrganizationConformancePackArgs, opts ...pulumi.ResourceOption) (*OrganizationConformancePack, error)

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

func (*OrganizationConformancePack) ElementType

func (*OrganizationConformancePack) ElementType() reflect.Type

func (*OrganizationConformancePack) ToOrganizationConformancePackOutput

func (i *OrganizationConformancePack) ToOrganizationConformancePackOutput() OrganizationConformancePackOutput

func (*OrganizationConformancePack) ToOrganizationConformancePackOutputWithContext

func (i *OrganizationConformancePack) ToOrganizationConformancePackOutputWithContext(ctx context.Context) OrganizationConformancePackOutput

type OrganizationConformancePackArgs

type OrganizationConformancePackArgs struct {
	// Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63.
	DeliveryS3Bucket pulumi.StringPtrInput
	// The prefix for the Amazon S3 bucket. Maximum length of 1024.
	DeliveryS3KeyPrefix pulumi.StringPtrInput
	// Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts.
	ExcludedAccounts pulumi.StringArrayInput
	// 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 OrganizationConformancePackInputParameterArrayInput
	// The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 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 OrganizationConformancePack resource.

func (OrganizationConformancePackArgs) ElementType

type OrganizationConformancePackArray

type OrganizationConformancePackArray []OrganizationConformancePackInput

func (OrganizationConformancePackArray) ElementType

func (OrganizationConformancePackArray) ToOrganizationConformancePackArrayOutput

func (i OrganizationConformancePackArray) ToOrganizationConformancePackArrayOutput() OrganizationConformancePackArrayOutput

func (OrganizationConformancePackArray) ToOrganizationConformancePackArrayOutputWithContext

func (i OrganizationConformancePackArray) ToOrganizationConformancePackArrayOutputWithContext(ctx context.Context) OrganizationConformancePackArrayOutput

type OrganizationConformancePackArrayInput

type OrganizationConformancePackArrayInput interface {
	pulumi.Input

	ToOrganizationConformancePackArrayOutput() OrganizationConformancePackArrayOutput
	ToOrganizationConformancePackArrayOutputWithContext(context.Context) OrganizationConformancePackArrayOutput
}

OrganizationConformancePackArrayInput is an input type that accepts OrganizationConformancePackArray and OrganizationConformancePackArrayOutput values. You can construct a concrete instance of `OrganizationConformancePackArrayInput` via:

OrganizationConformancePackArray{ OrganizationConformancePackArgs{...} }

type OrganizationConformancePackArrayOutput

type OrganizationConformancePackArrayOutput struct{ *pulumi.OutputState }

func (OrganizationConformancePackArrayOutput) ElementType

func (OrganizationConformancePackArrayOutput) Index

func (OrganizationConformancePackArrayOutput) ToOrganizationConformancePackArrayOutput

func (o OrganizationConformancePackArrayOutput) ToOrganizationConformancePackArrayOutput() OrganizationConformancePackArrayOutput

func (OrganizationConformancePackArrayOutput) ToOrganizationConformancePackArrayOutputWithContext

func (o OrganizationConformancePackArrayOutput) ToOrganizationConformancePackArrayOutputWithContext(ctx context.Context) OrganizationConformancePackArrayOutput

type OrganizationConformancePackInput

type OrganizationConformancePackInput interface {
	pulumi.Input

	ToOrganizationConformancePackOutput() OrganizationConformancePackOutput
	ToOrganizationConformancePackOutputWithContext(ctx context.Context) OrganizationConformancePackOutput
}

type OrganizationConformancePackInputParameter

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

type OrganizationConformancePackInputParameterArgs

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

func (OrganizationConformancePackInputParameterArgs) ElementType

func (OrganizationConformancePackInputParameterArgs) ToOrganizationConformancePackInputParameterOutput

func (i OrganizationConformancePackInputParameterArgs) ToOrganizationConformancePackInputParameterOutput() OrganizationConformancePackInputParameterOutput

func (OrganizationConformancePackInputParameterArgs) ToOrganizationConformancePackInputParameterOutputWithContext

func (i OrganizationConformancePackInputParameterArgs) ToOrganizationConformancePackInputParameterOutputWithContext(ctx context.Context) OrganizationConformancePackInputParameterOutput

type OrganizationConformancePackInputParameterArray

type OrganizationConformancePackInputParameterArray []OrganizationConformancePackInputParameterInput

func (OrganizationConformancePackInputParameterArray) ElementType

func (OrganizationConformancePackInputParameterArray) ToOrganizationConformancePackInputParameterArrayOutput

func (i OrganizationConformancePackInputParameterArray) ToOrganizationConformancePackInputParameterArrayOutput() OrganizationConformancePackInputParameterArrayOutput

func (OrganizationConformancePackInputParameterArray) ToOrganizationConformancePackInputParameterArrayOutputWithContext

func (i OrganizationConformancePackInputParameterArray) ToOrganizationConformancePackInputParameterArrayOutputWithContext(ctx context.Context) OrganizationConformancePackInputParameterArrayOutput

type OrganizationConformancePackInputParameterArrayInput

type OrganizationConformancePackInputParameterArrayInput interface {
	pulumi.Input

	ToOrganizationConformancePackInputParameterArrayOutput() OrganizationConformancePackInputParameterArrayOutput
	ToOrganizationConformancePackInputParameterArrayOutputWithContext(context.Context) OrganizationConformancePackInputParameterArrayOutput
}

OrganizationConformancePackInputParameterArrayInput is an input type that accepts OrganizationConformancePackInputParameterArray and OrganizationConformancePackInputParameterArrayOutput values. You can construct a concrete instance of `OrganizationConformancePackInputParameterArrayInput` via:

OrganizationConformancePackInputParameterArray{ OrganizationConformancePackInputParameterArgs{...} }

type OrganizationConformancePackInputParameterArrayOutput

type OrganizationConformancePackInputParameterArrayOutput struct{ *pulumi.OutputState }

func (OrganizationConformancePackInputParameterArrayOutput) ElementType

func (OrganizationConformancePackInputParameterArrayOutput) Index

func (OrganizationConformancePackInputParameterArrayOutput) ToOrganizationConformancePackInputParameterArrayOutput

func (OrganizationConformancePackInputParameterArrayOutput) ToOrganizationConformancePackInputParameterArrayOutputWithContext

func (o OrganizationConformancePackInputParameterArrayOutput) ToOrganizationConformancePackInputParameterArrayOutputWithContext(ctx context.Context) OrganizationConformancePackInputParameterArrayOutput

type OrganizationConformancePackInputParameterInput

type OrganizationConformancePackInputParameterInput interface {
	pulumi.Input

	ToOrganizationConformancePackInputParameterOutput() OrganizationConformancePackInputParameterOutput
	ToOrganizationConformancePackInputParameterOutputWithContext(context.Context) OrganizationConformancePackInputParameterOutput
}

OrganizationConformancePackInputParameterInput is an input type that accepts OrganizationConformancePackInputParameterArgs and OrganizationConformancePackInputParameterOutput values. You can construct a concrete instance of `OrganizationConformancePackInputParameterInput` via:

OrganizationConformancePackInputParameterArgs{...}

type OrganizationConformancePackInputParameterOutput

type OrganizationConformancePackInputParameterOutput struct{ *pulumi.OutputState }

func (OrganizationConformancePackInputParameterOutput) ElementType

func (OrganizationConformancePackInputParameterOutput) ParameterName

The input key.

func (OrganizationConformancePackInputParameterOutput) ParameterValue

The input value.

func (OrganizationConformancePackInputParameterOutput) ToOrganizationConformancePackInputParameterOutput

func (o OrganizationConformancePackInputParameterOutput) ToOrganizationConformancePackInputParameterOutput() OrganizationConformancePackInputParameterOutput

func (OrganizationConformancePackInputParameterOutput) ToOrganizationConformancePackInputParameterOutputWithContext

func (o OrganizationConformancePackInputParameterOutput) ToOrganizationConformancePackInputParameterOutputWithContext(ctx context.Context) OrganizationConformancePackInputParameterOutput

type OrganizationConformancePackMap

type OrganizationConformancePackMap map[string]OrganizationConformancePackInput

func (OrganizationConformancePackMap) ElementType

func (OrganizationConformancePackMap) ToOrganizationConformancePackMapOutput

func (i OrganizationConformancePackMap) ToOrganizationConformancePackMapOutput() OrganizationConformancePackMapOutput

func (OrganizationConformancePackMap) ToOrganizationConformancePackMapOutputWithContext

func (i OrganizationConformancePackMap) ToOrganizationConformancePackMapOutputWithContext(ctx context.Context) OrganizationConformancePackMapOutput

type OrganizationConformancePackMapInput

type OrganizationConformancePackMapInput interface {
	pulumi.Input

	ToOrganizationConformancePackMapOutput() OrganizationConformancePackMapOutput
	ToOrganizationConformancePackMapOutputWithContext(context.Context) OrganizationConformancePackMapOutput
}

OrganizationConformancePackMapInput is an input type that accepts OrganizationConformancePackMap and OrganizationConformancePackMapOutput values. You can construct a concrete instance of `OrganizationConformancePackMapInput` via:

OrganizationConformancePackMap{ "key": OrganizationConformancePackArgs{...} }

type OrganizationConformancePackMapOutput

type OrganizationConformancePackMapOutput struct{ *pulumi.OutputState }

func (OrganizationConformancePackMapOutput) ElementType

func (OrganizationConformancePackMapOutput) MapIndex

func (OrganizationConformancePackMapOutput) ToOrganizationConformancePackMapOutput

func (o OrganizationConformancePackMapOutput) ToOrganizationConformancePackMapOutput() OrganizationConformancePackMapOutput

func (OrganizationConformancePackMapOutput) ToOrganizationConformancePackMapOutputWithContext

func (o OrganizationConformancePackMapOutput) ToOrganizationConformancePackMapOutputWithContext(ctx context.Context) OrganizationConformancePackMapOutput

type OrganizationConformancePackOutput

type OrganizationConformancePackOutput struct{ *pulumi.OutputState }

func (OrganizationConformancePackOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the organization conformance pack.

func (OrganizationConformancePackOutput) DeliveryS3Bucket added in v5.4.0

Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63.

func (OrganizationConformancePackOutput) DeliveryS3KeyPrefix added in v5.4.0

The prefix for the Amazon S3 bucket. Maximum length of 1024.

func (OrganizationConformancePackOutput) ElementType

func (OrganizationConformancePackOutput) ExcludedAccounts added in v5.4.0

Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts.

func (OrganizationConformancePackOutput) InputParameters added in v5.4.0

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`.

func (OrganizationConformancePackOutput) Name added in v5.4.0

The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 alphanumeric characters and hyphens.

func (OrganizationConformancePackOutput) TemplateBody added in v5.4.0

A string containing full conformance pack template body. Maximum length of 51200. Drift detection is not possible with this argument.

func (OrganizationConformancePackOutput) TemplateS3Uri added in v5.4.0

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.

func (OrganizationConformancePackOutput) ToOrganizationConformancePackOutput

func (o OrganizationConformancePackOutput) ToOrganizationConformancePackOutput() OrganizationConformancePackOutput

func (OrganizationConformancePackOutput) ToOrganizationConformancePackOutputWithContext

func (o OrganizationConformancePackOutput) ToOrganizationConformancePackOutputWithContext(ctx context.Context) OrganizationConformancePackOutput

type OrganizationConformancePackState

type OrganizationConformancePackState struct {
	// Amazon Resource Name (ARN) of the organization conformance pack.
	Arn pulumi.StringPtrInput
	// Amazon S3 bucket where AWS Config stores conformance pack templates. Delivery bucket must begin with `awsconfigconforms` prefix. Maximum length of 63.
	DeliveryS3Bucket pulumi.StringPtrInput
	// The prefix for the Amazon S3 bucket. Maximum length of 1024.
	DeliveryS3KeyPrefix pulumi.StringPtrInput
	// Set of AWS accounts to be excluded from an organization conformance pack while deploying a conformance pack. Maximum of 1000 accounts.
	ExcludedAccounts pulumi.StringArrayInput
	// 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 OrganizationConformancePackInputParameterArrayInput
	// The name of the organization conformance pack. Must begin with a letter and contain from 1 to 128 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 (OrganizationConformancePackState) ElementType

type OrganizationCustomPolicyRule added in v5.40.0

type OrganizationCustomPolicyRule struct {
	pulumi.CustomResourceState

	// Amazon Resource Name (ARN) of the rule
	Arn pulumi.StringOutput `pulumi:"arn"`
	// List of AWS account identifiers to exclude from the rule
	DebugLogDeliveryAccounts pulumi.StringArrayOutput `pulumi:"debugLogDeliveryAccounts"`
	// 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"`
	// 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"`
	// name of the rule
	Name pulumi.StringOutput `pulumi:"name"`
	// runtime system for your organization AWS Config Custom Policy rules
	PolicyRuntime pulumi.StringOutput `pulumi:"policyRuntime"`
	// policy definition containing the logic for your organization AWS Config Custom Policy rule
	PolicyText pulumi.StringOutput `pulumi:"policyText"`
	// 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`
	//
	// The following arguments are optional:
	TriggerTypes pulumi.StringArrayOutput `pulumi:"triggerTypes"`
}

Manages a Config Organization Custom Policy 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.

## Example Usage ### Basic Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cfg.NewOrganizationCustomPolicyRule(ctx, "example", &cfg.OrganizationCustomPolicyRuleArgs{
			PolicyRuntime: pulumi.String("guard-2.x.x"),
			PolicyText: pulumi.String(`  let status = ['ACTIVE']

  rule tableisactive when
      resourceType == "AWS::DynamoDB::Table" {
      configuration.tableStatus == %status
  }

  rule checkcompliance when
      resourceType == "AWS::DynamoDB::Table"
      tableisactive {
          let pitr = supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus
          %pitr == "ENABLED"
      }

`),

			ResourceTypesScopes: pulumi.StringArray{
				pulumi.String("AWS::DynamoDB::Table"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

A Config Organization Custom Policy Rule can be imported using the `name` argument, e.g.,

```sh

$ pulumi import aws:cfg/organizationCustomPolicyRule:OrganizationCustomPolicyRule example example_rule_name

```

func GetOrganizationCustomPolicyRule added in v5.40.0

func GetOrganizationCustomPolicyRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationCustomPolicyRuleState, opts ...pulumi.ResourceOption) (*OrganizationCustomPolicyRule, error)

GetOrganizationCustomPolicyRule gets an existing OrganizationCustomPolicyRule 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 NewOrganizationCustomPolicyRule added in v5.40.0

func NewOrganizationCustomPolicyRule(ctx *pulumi.Context,
	name string, args *OrganizationCustomPolicyRuleArgs, opts ...pulumi.ResourceOption) (*OrganizationCustomPolicyRule, error)

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

func (*OrganizationCustomPolicyRule) ElementType added in v5.40.0

func (*OrganizationCustomPolicyRule) ElementType() reflect.Type

func (*OrganizationCustomPolicyRule) ToOrganizationCustomPolicyRuleOutput added in v5.40.0

func (i *OrganizationCustomPolicyRule) ToOrganizationCustomPolicyRuleOutput() OrganizationCustomPolicyRuleOutput

func (*OrganizationCustomPolicyRule) ToOrganizationCustomPolicyRuleOutputWithContext added in v5.40.0

func (i *OrganizationCustomPolicyRule) ToOrganizationCustomPolicyRuleOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleOutput

type OrganizationCustomPolicyRuleArgs added in v5.40.0

type OrganizationCustomPolicyRuleArgs struct {
	// List of AWS account identifiers to exclude from the rule
	DebugLogDeliveryAccounts pulumi.StringArrayInput
	// 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
	// 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
	// name of the rule
	Name pulumi.StringPtrInput
	// runtime system for your organization AWS Config Custom Policy rules
	PolicyRuntime pulumi.StringInput
	// policy definition containing the logic for your organization AWS Config Custom Policy rule
	PolicyText pulumi.StringInput
	// 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`
	//
	// The following arguments are optional:
	TriggerTypes pulumi.StringArrayInput
}

The set of arguments for constructing a OrganizationCustomPolicyRule resource.

func (OrganizationCustomPolicyRuleArgs) ElementType added in v5.40.0

type OrganizationCustomPolicyRuleArray added in v5.40.0

type OrganizationCustomPolicyRuleArray []OrganizationCustomPolicyRuleInput

func (OrganizationCustomPolicyRuleArray) ElementType added in v5.40.0

func (OrganizationCustomPolicyRuleArray) ToOrganizationCustomPolicyRuleArrayOutput added in v5.40.0

func (i OrganizationCustomPolicyRuleArray) ToOrganizationCustomPolicyRuleArrayOutput() OrganizationCustomPolicyRuleArrayOutput

func (OrganizationCustomPolicyRuleArray) ToOrganizationCustomPolicyRuleArrayOutputWithContext added in v5.40.0

func (i OrganizationCustomPolicyRuleArray) ToOrganizationCustomPolicyRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleArrayOutput

type OrganizationCustomPolicyRuleArrayInput added in v5.40.0

type OrganizationCustomPolicyRuleArrayInput interface {
	pulumi.Input

	ToOrganizationCustomPolicyRuleArrayOutput() OrganizationCustomPolicyRuleArrayOutput
	ToOrganizationCustomPolicyRuleArrayOutputWithContext(context.Context) OrganizationCustomPolicyRuleArrayOutput
}

OrganizationCustomPolicyRuleArrayInput is an input type that accepts OrganizationCustomPolicyRuleArray and OrganizationCustomPolicyRuleArrayOutput values. You can construct a concrete instance of `OrganizationCustomPolicyRuleArrayInput` via:

OrganizationCustomPolicyRuleArray{ OrganizationCustomPolicyRuleArgs{...} }

type OrganizationCustomPolicyRuleArrayOutput added in v5.40.0

type OrganizationCustomPolicyRuleArrayOutput struct{ *pulumi.OutputState }

func (OrganizationCustomPolicyRuleArrayOutput) ElementType added in v5.40.0

func (OrganizationCustomPolicyRuleArrayOutput) Index added in v5.40.0

func (OrganizationCustomPolicyRuleArrayOutput) ToOrganizationCustomPolicyRuleArrayOutput added in v5.40.0

func (o OrganizationCustomPolicyRuleArrayOutput) ToOrganizationCustomPolicyRuleArrayOutput() OrganizationCustomPolicyRuleArrayOutput

func (OrganizationCustomPolicyRuleArrayOutput) ToOrganizationCustomPolicyRuleArrayOutputWithContext added in v5.40.0

func (o OrganizationCustomPolicyRuleArrayOutput) ToOrganizationCustomPolicyRuleArrayOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleArrayOutput

type OrganizationCustomPolicyRuleInput added in v5.40.0

type OrganizationCustomPolicyRuleInput interface {
	pulumi.Input

	ToOrganizationCustomPolicyRuleOutput() OrganizationCustomPolicyRuleOutput
	ToOrganizationCustomPolicyRuleOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleOutput
}

type OrganizationCustomPolicyRuleMap added in v5.40.0

type OrganizationCustomPolicyRuleMap map[string]OrganizationCustomPolicyRuleInput

func (OrganizationCustomPolicyRuleMap) ElementType added in v5.40.0

func (OrganizationCustomPolicyRuleMap) ToOrganizationCustomPolicyRuleMapOutput added in v5.40.0

func (i OrganizationCustomPolicyRuleMap) ToOrganizationCustomPolicyRuleMapOutput() OrganizationCustomPolicyRuleMapOutput

func (OrganizationCustomPolicyRuleMap) ToOrganizationCustomPolicyRuleMapOutputWithContext added in v5.40.0

func (i OrganizationCustomPolicyRuleMap) ToOrganizationCustomPolicyRuleMapOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleMapOutput

type OrganizationCustomPolicyRuleMapInput added in v5.40.0

type OrganizationCustomPolicyRuleMapInput interface {
	pulumi.Input

	ToOrganizationCustomPolicyRuleMapOutput() OrganizationCustomPolicyRuleMapOutput
	ToOrganizationCustomPolicyRuleMapOutputWithContext(context.Context) OrganizationCustomPolicyRuleMapOutput
}

OrganizationCustomPolicyRuleMapInput is an input type that accepts OrganizationCustomPolicyRuleMap and OrganizationCustomPolicyRuleMapOutput values. You can construct a concrete instance of `OrganizationCustomPolicyRuleMapInput` via:

OrganizationCustomPolicyRuleMap{ "key": OrganizationCustomPolicyRuleArgs{...} }

type OrganizationCustomPolicyRuleMapOutput added in v5.40.0

type OrganizationCustomPolicyRuleMapOutput struct{ *pulumi.OutputState }

func (OrganizationCustomPolicyRuleMapOutput) ElementType added in v5.40.0

func (OrganizationCustomPolicyRuleMapOutput) MapIndex added in v5.40.0

func (OrganizationCustomPolicyRuleMapOutput) ToOrganizationCustomPolicyRuleMapOutput added in v5.40.0

func (o OrganizationCustomPolicyRuleMapOutput) ToOrganizationCustomPolicyRuleMapOutput() OrganizationCustomPolicyRuleMapOutput

func (OrganizationCustomPolicyRuleMapOutput) ToOrganizationCustomPolicyRuleMapOutputWithContext added in v5.40.0

func (o OrganizationCustomPolicyRuleMapOutput) ToOrganizationCustomPolicyRuleMapOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleMapOutput

type OrganizationCustomPolicyRuleOutput added in v5.40.0

type OrganizationCustomPolicyRuleOutput struct{ *pulumi.OutputState }

func (OrganizationCustomPolicyRuleOutput) Arn added in v5.40.0

Amazon Resource Name (ARN) of the rule

func (OrganizationCustomPolicyRuleOutput) DebugLogDeliveryAccounts added in v5.40.0

func (o OrganizationCustomPolicyRuleOutput) DebugLogDeliveryAccounts() pulumi.StringArrayOutput

List of AWS account identifiers to exclude from the rule

func (OrganizationCustomPolicyRuleOutput) Description added in v5.40.0

Description of the rule

func (OrganizationCustomPolicyRuleOutput) ElementType added in v5.40.0

func (OrganizationCustomPolicyRuleOutput) ExcludedAccounts added in v5.40.0

List of AWS account identifiers to exclude from the rule

func (OrganizationCustomPolicyRuleOutput) InputParameters added in v5.40.0

A string in JSON format that is passed to the AWS Config Rule Lambda Function

func (OrganizationCustomPolicyRuleOutput) MaximumExecutionFrequency added in v5.40.0

func (o OrganizationCustomPolicyRuleOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput

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`.

func (OrganizationCustomPolicyRuleOutput) Name added in v5.40.0

name of the rule

func (OrganizationCustomPolicyRuleOutput) PolicyRuntime added in v5.40.0

runtime system for your organization AWS Config Custom Policy rules

func (OrganizationCustomPolicyRuleOutput) PolicyText added in v5.40.0

policy definition containing the logic for your organization AWS Config Custom Policy rule

func (OrganizationCustomPolicyRuleOutput) ResourceIdScope added in v5.40.0

Identifier of the AWS resource to evaluate

func (OrganizationCustomPolicyRuleOutput) ResourceTypesScopes added in v5.40.0

List of types of AWS resources to evaluate

func (OrganizationCustomPolicyRuleOutput) TagKeyScope added in v5.40.0

Tag key of AWS resources to evaluate

func (OrganizationCustomPolicyRuleOutput) TagValueScope added in v5.40.0

Tag value of AWS resources to evaluate

func (OrganizationCustomPolicyRuleOutput) ToOrganizationCustomPolicyRuleOutput added in v5.40.0

func (o OrganizationCustomPolicyRuleOutput) ToOrganizationCustomPolicyRuleOutput() OrganizationCustomPolicyRuleOutput

func (OrganizationCustomPolicyRuleOutput) ToOrganizationCustomPolicyRuleOutputWithContext added in v5.40.0

func (o OrganizationCustomPolicyRuleOutput) ToOrganizationCustomPolicyRuleOutputWithContext(ctx context.Context) OrganizationCustomPolicyRuleOutput

func (OrganizationCustomPolicyRuleOutput) TriggerTypes added in v5.40.0

List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`

The following arguments are optional:

type OrganizationCustomPolicyRuleState added in v5.40.0

type OrganizationCustomPolicyRuleState struct {
	// Amazon Resource Name (ARN) of the rule
	Arn pulumi.StringPtrInput
	// List of AWS account identifiers to exclude from the rule
	DebugLogDeliveryAccounts pulumi.StringArrayInput
	// 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
	// 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
	// name of the rule
	Name pulumi.StringPtrInput
	// runtime system for your organization AWS Config Custom Policy rules
	PolicyRuntime pulumi.StringPtrInput
	// policy definition containing the logic for your organization AWS Config Custom Policy rule
	PolicyText 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`
	//
	// The following arguments are optional:
	TriggerTypes pulumi.StringArrayInput
}

func (OrganizationCustomPolicyRuleState) ElementType added in v5.40.0

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/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/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

func (*OrganizationCustomRule) ElementType() reflect.Type

func (*OrganizationCustomRule) ToOrganizationCustomRuleOutput

func (i *OrganizationCustomRule) ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput

func (*OrganizationCustomRule) ToOrganizationCustomRuleOutputWithContext

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

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

type OrganizationCustomRuleArray []OrganizationCustomRuleInput

func (OrganizationCustomRuleArray) ElementType

func (OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutput

func (i OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput

func (OrganizationCustomRuleArray) ToOrganizationCustomRuleArrayOutputWithContext

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

type OrganizationCustomRuleArrayInput

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

type OrganizationCustomRuleArrayOutput struct{ *pulumi.OutputState }

func (OrganizationCustomRuleArrayOutput) ElementType

func (OrganizationCustomRuleArrayOutput) Index

func (OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutput

func (o OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutput() OrganizationCustomRuleArrayOutput

func (OrganizationCustomRuleArrayOutput) ToOrganizationCustomRuleArrayOutputWithContext

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

type OrganizationCustomRuleInput

type OrganizationCustomRuleInput interface {
	pulumi.Input

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

type OrganizationCustomRuleMap

type OrganizationCustomRuleMap map[string]OrganizationCustomRuleInput

func (OrganizationCustomRuleMap) ElementType

func (OrganizationCustomRuleMap) ElementType() reflect.Type

func (OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutput

func (i OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput

func (OrganizationCustomRuleMap) ToOrganizationCustomRuleMapOutputWithContext

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

type OrganizationCustomRuleMapInput

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

type OrganizationCustomRuleMapOutput struct{ *pulumi.OutputState }

func (OrganizationCustomRuleMapOutput) ElementType

func (OrganizationCustomRuleMapOutput) MapIndex

func (OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutput

func (o OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutput() OrganizationCustomRuleMapOutput

func (OrganizationCustomRuleMapOutput) ToOrganizationCustomRuleMapOutputWithContext

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

type OrganizationCustomRuleOutput

type OrganizationCustomRuleOutput struct{ *pulumi.OutputState }

func (OrganizationCustomRuleOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the rule

func (OrganizationCustomRuleOutput) Description added in v5.4.0

Description of the rule

func (OrganizationCustomRuleOutput) ElementType

func (OrganizationCustomRuleOutput) ExcludedAccounts added in v5.4.0

List of AWS account identifiers to exclude from the rule

func (OrganizationCustomRuleOutput) InputParameters added in v5.4.0

A string in JSON format that is passed to the AWS Config Rule Lambda Function

func (OrganizationCustomRuleOutput) LambdaFunctionArn added in v5.4.0

func (o OrganizationCustomRuleOutput) LambdaFunctionArn() pulumi.StringOutput

Amazon Resource Name (ARN) of the rule Lambda Function

func (OrganizationCustomRuleOutput) MaximumExecutionFrequency added in v5.4.0

func (o OrganizationCustomRuleOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput

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`.

func (OrganizationCustomRuleOutput) Name added in v5.4.0

The name of the rule

func (OrganizationCustomRuleOutput) ResourceIdScope added in v5.4.0

Identifier of the AWS resource to evaluate

func (OrganizationCustomRuleOutput) ResourceTypesScopes added in v5.4.0

func (o OrganizationCustomRuleOutput) ResourceTypesScopes() pulumi.StringArrayOutput

List of types of AWS resources to evaluate

func (OrganizationCustomRuleOutput) TagKeyScope added in v5.4.0

Tag key of AWS resources to evaluate

func (OrganizationCustomRuleOutput) TagValueScope added in v5.4.0

Tag value of AWS resources to evaluate

func (OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutput

func (o OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutput() OrganizationCustomRuleOutput

func (OrganizationCustomRuleOutput) ToOrganizationCustomRuleOutputWithContext

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

func (OrganizationCustomRuleOutput) TriggerTypes added in v5.4.0

List of notification types that trigger AWS Config to run an evaluation for the rule. Valid values: `ConfigurationItemChangeNotification`, `OversizedConfigurationItemChangeNotification`, and `ScheduledNotification`

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/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/organizations"
"github.com/pulumi/pulumi/sdk/v3/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

func (*OrganizationManagedRule) ElementType() reflect.Type

func (*OrganizationManagedRule) ToOrganizationManagedRuleOutput

func (i *OrganizationManagedRule) ToOrganizationManagedRuleOutput() OrganizationManagedRuleOutput

func (*OrganizationManagedRule) ToOrganizationManagedRuleOutputWithContext

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

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

type OrganizationManagedRuleArray []OrganizationManagedRuleInput

func (OrganizationManagedRuleArray) ElementType

func (OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutput

func (i OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutput() OrganizationManagedRuleArrayOutput

func (OrganizationManagedRuleArray) ToOrganizationManagedRuleArrayOutputWithContext

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

type OrganizationManagedRuleArrayInput

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

type OrganizationManagedRuleArrayOutput struct{ *pulumi.OutputState }

func (OrganizationManagedRuleArrayOutput) ElementType

func (OrganizationManagedRuleArrayOutput) Index

func (OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutput

func (o OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutput() OrganizationManagedRuleArrayOutput

func (OrganizationManagedRuleArrayOutput) ToOrganizationManagedRuleArrayOutputWithContext

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

type OrganizationManagedRuleInput

type OrganizationManagedRuleInput interface {
	pulumi.Input

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

type OrganizationManagedRuleMap

type OrganizationManagedRuleMap map[string]OrganizationManagedRuleInput

func (OrganizationManagedRuleMap) ElementType

func (OrganizationManagedRuleMap) ElementType() reflect.Type

func (OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutput

func (i OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutput() OrganizationManagedRuleMapOutput

func (OrganizationManagedRuleMap) ToOrganizationManagedRuleMapOutputWithContext

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

type OrganizationManagedRuleMapInput

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

type OrganizationManagedRuleMapOutput struct{ *pulumi.OutputState }

func (OrganizationManagedRuleMapOutput) ElementType

func (OrganizationManagedRuleMapOutput) MapIndex

func (OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutput

func (o OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutput() OrganizationManagedRuleMapOutput

func (OrganizationManagedRuleMapOutput) ToOrganizationManagedRuleMapOutputWithContext

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

type OrganizationManagedRuleOutput

type OrganizationManagedRuleOutput struct{ *pulumi.OutputState }

func (OrganizationManagedRuleOutput) Arn added in v5.4.0

Amazon Resource Name (ARN) of the rule

func (OrganizationManagedRuleOutput) Description added in v5.4.0

Description of the rule

func (OrganizationManagedRuleOutput) ElementType

func (OrganizationManagedRuleOutput) ExcludedAccounts added in v5.4.0

List of AWS account identifiers to exclude from the rule

func (OrganizationManagedRuleOutput) InputParameters added in v5.4.0

A string in JSON format that is passed to the AWS Config Rule Lambda Function

func (OrganizationManagedRuleOutput) MaximumExecutionFrequency added in v5.4.0

func (o OrganizationManagedRuleOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput

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`.

func (OrganizationManagedRuleOutput) Name added in v5.4.0

The name of the rule

func (OrganizationManagedRuleOutput) ResourceIdScope added in v5.4.0

Identifier of the AWS resource to evaluate

func (OrganizationManagedRuleOutput) ResourceTypesScopes added in v5.4.0

func (o OrganizationManagedRuleOutput) ResourceTypesScopes() pulumi.StringArrayOutput

List of types of AWS resources to evaluate

func (OrganizationManagedRuleOutput) RuleIdentifier added in v5.4.0

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

func (OrganizationManagedRuleOutput) TagKeyScope added in v5.4.0

Tag key of AWS resources to evaluate

func (OrganizationManagedRuleOutput) TagValueScope added in v5.4.0

Tag value of AWS resources to evaluate

func (OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutput

func (o OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutput() OrganizationManagedRuleOutput

func (OrganizationManagedRuleOutput) ToOrganizationManagedRuleOutputWithContext

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

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 (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"config.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: *pulumi.String(assumeRole.Json),
		})
		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

func (*Recorder) ElementType() reflect.Type

func (*Recorder) ToRecorderOutput

func (i *Recorder) ToRecorderOutput() RecorderOutput

func (*Recorder) ToRecorderOutputWithContext

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

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

type RecorderArray []RecorderInput

func (RecorderArray) ElementType

func (RecorderArray) ElementType() reflect.Type

func (RecorderArray) ToRecorderArrayOutput

func (i RecorderArray) ToRecorderArrayOutput() RecorderArrayOutput

func (RecorderArray) ToRecorderArrayOutputWithContext

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

type RecorderArrayInput

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

type RecorderArrayOutput struct{ *pulumi.OutputState }

func (RecorderArrayOutput) ElementType

func (RecorderArrayOutput) ElementType() reflect.Type

func (RecorderArrayOutput) Index

func (RecorderArrayOutput) ToRecorderArrayOutput

func (o RecorderArrayOutput) ToRecorderArrayOutput() RecorderArrayOutput

func (RecorderArrayOutput) ToRecorderArrayOutputWithContext

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

type RecorderInput

type RecorderInput interface {
	pulumi.Input

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

type RecorderMap

type RecorderMap map[string]RecorderInput

func (RecorderMap) ElementType

func (RecorderMap) ElementType() reflect.Type

func (RecorderMap) ToRecorderMapOutput

func (i RecorderMap) ToRecorderMapOutput() RecorderMapOutput

func (RecorderMap) ToRecorderMapOutputWithContext

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

type RecorderMapInput

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

type RecorderMapOutput struct{ *pulumi.OutputState }

func (RecorderMapOutput) ElementType

func (RecorderMapOutput) ElementType() reflect.Type

func (RecorderMapOutput) MapIndex

func (RecorderMapOutput) ToRecorderMapOutput

func (o RecorderMapOutput) ToRecorderMapOutput() RecorderMapOutput

func (RecorderMapOutput) ToRecorderMapOutputWithContext

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

type RecorderOutput

type RecorderOutput struct{ *pulumi.OutputState }

func (RecorderOutput) ElementType

func (RecorderOutput) ElementType() reflect.Type

func (RecorderOutput) Name added in v5.4.0

The name of the recorder. Defaults to `default`. Changing it recreates the resource.

func (RecorderOutput) RecordingGroup added in v5.4.0

func (o RecorderOutput) RecordingGroup() RecorderRecordingGroupOutput

Recording group - see below.

func (RecorderOutput) RoleArn added in v5.4.0

func (o RecorderOutput) RoleArn() pulumi.StringOutput

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.

func (RecorderOutput) ToRecorderOutput

func (o RecorderOutput) ToRecorderOutput() RecorderOutput

func (RecorderOutput) ToRecorderOutputWithContext

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

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/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/iam"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		bucketV2, err := s3.NewBucketV2(ctx, "bucketV2", nil)
		if err != nil {
			return err
		}
		fooDeliveryChannel, err := cfg.NewDeliveryChannel(ctx, "fooDeliveryChannel", &cfg.DeliveryChannelArgs{
			S3BucketName: bucketV2.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
		}
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"config.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: *pulumi.String(assumeRole.Json),
		})
		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/AWS_ConfigRole"),
		})
		if err != nil {
			return err
		}
		_, err = cfg.NewRecorder(ctx, "fooRecorder", &cfg.RecorderArgs{
			RoleArn: role.Arn,
		})
		if err != nil {
			return err
		}
		policyDocument := iam.GetPolicyDocumentOutput(ctx, iam.GetPolicyDocumentOutputArgs{
			Statements: iam.GetPolicyDocumentStatementArray{
				&iam.GetPolicyDocumentStatementArgs{
					Effect: pulumi.String("Allow"),
					Actions: pulumi.StringArray{
						pulumi.String("s3:*"),
					},
					Resources: pulumi.StringArray{
						bucketV2.Arn,
						bucketV2.Arn.ApplyT(func(arn string) (string, error) {
							return fmt.Sprintf("%v/*", arn), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		}, nil)
		_, err = iam.NewRolePolicy(ctx, "rolePolicy", &iam.RolePolicyArgs{
			Role: role.ID(),
			Policy: policyDocument.ApplyT(func(policyDocument iam.GetPolicyDocumentResult) (*string, error) {
				return &policyDocument.Json, nil
			}).(pulumi.StringPtrOutput),
		})
		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

func (*RecorderStatus) ElementType() reflect.Type

func (*RecorderStatus) ToRecorderStatusOutput

func (i *RecorderStatus) ToRecorderStatusOutput() RecorderStatusOutput

func (*RecorderStatus) ToRecorderStatusOutputWithContext

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

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

type RecorderStatusArray []RecorderStatusInput

func (RecorderStatusArray) ElementType

func (RecorderStatusArray) ElementType() reflect.Type

func (RecorderStatusArray) ToRecorderStatusArrayOutput

func (i RecorderStatusArray) ToRecorderStatusArrayOutput() RecorderStatusArrayOutput

func (RecorderStatusArray) ToRecorderStatusArrayOutputWithContext

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

type RecorderStatusArrayInput

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

type RecorderStatusArrayOutput struct{ *pulumi.OutputState }

func (RecorderStatusArrayOutput) ElementType

func (RecorderStatusArrayOutput) ElementType() reflect.Type

func (RecorderStatusArrayOutput) Index

func (RecorderStatusArrayOutput) ToRecorderStatusArrayOutput

func (o RecorderStatusArrayOutput) ToRecorderStatusArrayOutput() RecorderStatusArrayOutput

func (RecorderStatusArrayOutput) ToRecorderStatusArrayOutputWithContext

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

type RecorderStatusInput

type RecorderStatusInput interface {
	pulumi.Input

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

type RecorderStatusMap

type RecorderStatusMap map[string]RecorderStatusInput

func (RecorderStatusMap) ElementType

func (RecorderStatusMap) ElementType() reflect.Type

func (RecorderStatusMap) ToRecorderStatusMapOutput

func (i RecorderStatusMap) ToRecorderStatusMapOutput() RecorderStatusMapOutput

func (RecorderStatusMap) ToRecorderStatusMapOutputWithContext

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

type RecorderStatusMapInput

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

type RecorderStatusMapOutput struct{ *pulumi.OutputState }

func (RecorderStatusMapOutput) ElementType

func (RecorderStatusMapOutput) ElementType() reflect.Type

func (RecorderStatusMapOutput) MapIndex

func (RecorderStatusMapOutput) ToRecorderStatusMapOutput

func (o RecorderStatusMapOutput) ToRecorderStatusMapOutput() RecorderStatusMapOutput

func (RecorderStatusMapOutput) ToRecorderStatusMapOutputWithContext

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

type RecorderStatusOutput

type RecorderStatusOutput struct{ *pulumi.OutputState }

func (RecorderStatusOutput) ElementType

func (RecorderStatusOutput) ElementType() reflect.Type

func (RecorderStatusOutput) IsEnabled added in v5.4.0

func (o RecorderStatusOutput) IsEnabled() pulumi.BoolOutput

Whether the configuration recorder should be enabled or disabled.

func (RecorderStatusOutput) Name added in v5.4.0

The name of the recorder

func (RecorderStatusOutput) ToRecorderStatusOutput

func (o RecorderStatusOutput) ToRecorderStatusOutput() RecorderStatusOutput

func (RecorderStatusOutput) ToRecorderStatusOutputWithContext

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

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

type RemediationConfiguration struct {
	pulumi.CustomResourceState

	// ARN of the Config Remediation Configuration.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Remediation is triggered automatically if `true`.
	Automatic pulumi.BoolPtrOutput `pulumi:"automatic"`
	// Name of the AWS Config rule.
	ConfigRuleName pulumi.StringOutput `pulumi:"configRuleName"`
	// Configuration block for execution controls. See below.
	ExecutionControls RemediationConfigurationExecutionControlsPtrOutput `pulumi:"executionControls"`
	// Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
	MaximumAutomaticAttempts pulumi.IntPtrOutput `pulumi:"maximumAutomaticAttempts"`
	// Can be specified multiple times for each parameter. Each parameter block supports arguments below.
	Parameters RemediationConfigurationParameterArrayOutput `pulumi:"parameters"`
	// Type of resource.
	ResourceType pulumi.StringPtrOutput `pulumi:"resourceType"`
	// Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
	RetryAttemptSeconds pulumi.IntPtrOutput `pulumi:"retryAttemptSeconds"`
	// Target ID is the name of the public document.
	TargetId pulumi.StringOutput `pulumi:"targetId"`
	// Type of the target. Target executes remediation. For example, SSM document.
	//
	// The following arguments are optional:
	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/v5/go/aws/cfg"
"github.com/pulumi/pulumi/sdk/v3/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"),
				},
			},
			Automatic:                pulumi.Bool(true),
			MaximumAutomaticAttempts: pulumi.Int(10),
			RetryAttemptSeconds:      pulumi.Int(600),
			ExecutionControls: &cfg.RemediationConfigurationExecutionControlsArgs{
				SsmControls: &cfg.RemediationConfigurationExecutionControlsSsmControlsArgs{
					ConcurrentExecutionRatePercentage: pulumi.Int(25),
					ErrorPercentage:                   pulumi.Int(20),
				},
			},
		})
		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

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

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

func (*RemediationConfiguration) ElementType() reflect.Type

func (*RemediationConfiguration) ToRemediationConfigurationOutput

func (i *RemediationConfiguration) ToRemediationConfigurationOutput() RemediationConfigurationOutput

func (*RemediationConfiguration) ToRemediationConfigurationOutputWithContext

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

type RemediationConfigurationArgs

type RemediationConfigurationArgs struct {
	// Remediation is triggered automatically if `true`.
	Automatic pulumi.BoolPtrInput
	// Name of the AWS Config rule.
	ConfigRuleName pulumi.StringInput
	// Configuration block for execution controls. See below.
	ExecutionControls RemediationConfigurationExecutionControlsPtrInput
	// Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
	MaximumAutomaticAttempts pulumi.IntPtrInput
	// Can be specified multiple times for each parameter. Each parameter block supports arguments below.
	Parameters RemediationConfigurationParameterArrayInput
	// Type of resource.
	ResourceType pulumi.StringPtrInput
	// Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
	RetryAttemptSeconds pulumi.IntPtrInput
	// Target ID is the name of the public document.
	TargetId pulumi.StringInput
	// Type of the target. Target executes remediation. For example, SSM document.
	//
	// The following arguments are optional:
	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

type RemediationConfigurationArray

type RemediationConfigurationArray []RemediationConfigurationInput

func (RemediationConfigurationArray) ElementType

func (RemediationConfigurationArray) ToRemediationConfigurationArrayOutput

func (i RemediationConfigurationArray) ToRemediationConfigurationArrayOutput() RemediationConfigurationArrayOutput

func (RemediationConfigurationArray) ToRemediationConfigurationArrayOutputWithContext

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

type RemediationConfigurationArrayInput

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

type RemediationConfigurationArrayOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationArrayOutput) ElementType

func (RemediationConfigurationArrayOutput) Index

func (RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutput

func (o RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutput() RemediationConfigurationArrayOutput

func (RemediationConfigurationArrayOutput) ToRemediationConfigurationArrayOutputWithContext

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

type RemediationConfigurationExecutionControls

type RemediationConfigurationExecutionControls struct {
	// Configuration block for SSM controls. See below.
	SsmControls *RemediationConfigurationExecutionControlsSsmControls `pulumi:"ssmControls"`
}

type RemediationConfigurationExecutionControlsArgs

type RemediationConfigurationExecutionControlsArgs struct {
	// Configuration block for SSM controls. See below.
	SsmControls RemediationConfigurationExecutionControlsSsmControlsPtrInput `pulumi:"ssmControls"`
}

func (RemediationConfigurationExecutionControlsArgs) ElementType

func (RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsOutput

func (i RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsOutput() RemediationConfigurationExecutionControlsOutput

func (RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsOutputWithContext

func (i RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsOutput

func (RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsPtrOutput

func (i RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsPtrOutput() RemediationConfigurationExecutionControlsPtrOutput

func (RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsPtrOutputWithContext

func (i RemediationConfigurationExecutionControlsArgs) ToRemediationConfigurationExecutionControlsPtrOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsPtrOutput

type RemediationConfigurationExecutionControlsInput

type RemediationConfigurationExecutionControlsInput interface {
	pulumi.Input

	ToRemediationConfigurationExecutionControlsOutput() RemediationConfigurationExecutionControlsOutput
	ToRemediationConfigurationExecutionControlsOutputWithContext(context.Context) RemediationConfigurationExecutionControlsOutput
}

RemediationConfigurationExecutionControlsInput is an input type that accepts RemediationConfigurationExecutionControlsArgs and RemediationConfigurationExecutionControlsOutput values. You can construct a concrete instance of `RemediationConfigurationExecutionControlsInput` via:

RemediationConfigurationExecutionControlsArgs{...}

type RemediationConfigurationExecutionControlsOutput

type RemediationConfigurationExecutionControlsOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationExecutionControlsOutput) ElementType

func (RemediationConfigurationExecutionControlsOutput) SsmControls

Configuration block for SSM controls. See below.

func (RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsOutput

func (o RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsOutput() RemediationConfigurationExecutionControlsOutput

func (RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsOutputWithContext

func (o RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsOutput

func (RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsPtrOutput

func (o RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsPtrOutput() RemediationConfigurationExecutionControlsPtrOutput

func (RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsPtrOutputWithContext

func (o RemediationConfigurationExecutionControlsOutput) ToRemediationConfigurationExecutionControlsPtrOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsPtrOutput

type RemediationConfigurationExecutionControlsPtrInput

type RemediationConfigurationExecutionControlsPtrInput interface {
	pulumi.Input

	ToRemediationConfigurationExecutionControlsPtrOutput() RemediationConfigurationExecutionControlsPtrOutput
	ToRemediationConfigurationExecutionControlsPtrOutputWithContext(context.Context) RemediationConfigurationExecutionControlsPtrOutput
}

RemediationConfigurationExecutionControlsPtrInput is an input type that accepts RemediationConfigurationExecutionControlsArgs, RemediationConfigurationExecutionControlsPtr and RemediationConfigurationExecutionControlsPtrOutput values. You can construct a concrete instance of `RemediationConfigurationExecutionControlsPtrInput` via:

        RemediationConfigurationExecutionControlsArgs{...}

or:

        nil

type RemediationConfigurationExecutionControlsPtrOutput

type RemediationConfigurationExecutionControlsPtrOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationExecutionControlsPtrOutput) Elem

func (RemediationConfigurationExecutionControlsPtrOutput) ElementType

func (RemediationConfigurationExecutionControlsPtrOutput) SsmControls

Configuration block for SSM controls. See below.

func (RemediationConfigurationExecutionControlsPtrOutput) ToRemediationConfigurationExecutionControlsPtrOutput

func (o RemediationConfigurationExecutionControlsPtrOutput) ToRemediationConfigurationExecutionControlsPtrOutput() RemediationConfigurationExecutionControlsPtrOutput

func (RemediationConfigurationExecutionControlsPtrOutput) ToRemediationConfigurationExecutionControlsPtrOutputWithContext

func (o RemediationConfigurationExecutionControlsPtrOutput) ToRemediationConfigurationExecutionControlsPtrOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsPtrOutput

type RemediationConfigurationExecutionControlsSsmControls

type RemediationConfigurationExecutionControlsSsmControls struct {
	// Maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. The default value is 10%.
	ConcurrentExecutionRatePercentage *int `pulumi:"concurrentExecutionRatePercentage"`
	// Percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. The default is 50%.
	ErrorPercentage *int `pulumi:"errorPercentage"`
}

type RemediationConfigurationExecutionControlsSsmControlsArgs

type RemediationConfigurationExecutionControlsSsmControlsArgs struct {
	// Maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. The default value is 10%.
	ConcurrentExecutionRatePercentage pulumi.IntPtrInput `pulumi:"concurrentExecutionRatePercentage"`
	// Percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. The default is 50%.
	ErrorPercentage pulumi.IntPtrInput `pulumi:"errorPercentage"`
}

func (RemediationConfigurationExecutionControlsSsmControlsArgs) ElementType

func (RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsOutput

func (RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsOutputWithContext

func (i RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsSsmControlsOutput

func (RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutput

func (i RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutput() RemediationConfigurationExecutionControlsSsmControlsPtrOutput

func (RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext

func (i RemediationConfigurationExecutionControlsSsmControlsArgs) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsSsmControlsPtrOutput

type RemediationConfigurationExecutionControlsSsmControlsInput

type RemediationConfigurationExecutionControlsSsmControlsInput interface {
	pulumi.Input

	ToRemediationConfigurationExecutionControlsSsmControlsOutput() RemediationConfigurationExecutionControlsSsmControlsOutput
	ToRemediationConfigurationExecutionControlsSsmControlsOutputWithContext(context.Context) RemediationConfigurationExecutionControlsSsmControlsOutput
}

RemediationConfigurationExecutionControlsSsmControlsInput is an input type that accepts RemediationConfigurationExecutionControlsSsmControlsArgs and RemediationConfigurationExecutionControlsSsmControlsOutput values. You can construct a concrete instance of `RemediationConfigurationExecutionControlsSsmControlsInput` via:

RemediationConfigurationExecutionControlsSsmControlsArgs{...}

type RemediationConfigurationExecutionControlsSsmControlsOutput

type RemediationConfigurationExecutionControlsSsmControlsOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ConcurrentExecutionRatePercentage

Maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. The default value is 10%.

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ElementType

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ErrorPercentage

Percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. The default is 50%.

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ToRemediationConfigurationExecutionControlsSsmControlsOutput

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ToRemediationConfigurationExecutionControlsSsmControlsOutputWithContext

func (o RemediationConfigurationExecutionControlsSsmControlsOutput) ToRemediationConfigurationExecutionControlsSsmControlsOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsSsmControlsOutput

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutput

func (RemediationConfigurationExecutionControlsSsmControlsOutput) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext

func (o RemediationConfigurationExecutionControlsSsmControlsOutput) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsSsmControlsPtrOutput

type RemediationConfigurationExecutionControlsSsmControlsPtrInput

type RemediationConfigurationExecutionControlsSsmControlsPtrInput interface {
	pulumi.Input

	ToRemediationConfigurationExecutionControlsSsmControlsPtrOutput() RemediationConfigurationExecutionControlsSsmControlsPtrOutput
	ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext(context.Context) RemediationConfigurationExecutionControlsSsmControlsPtrOutput
}

RemediationConfigurationExecutionControlsSsmControlsPtrInput is an input type that accepts RemediationConfigurationExecutionControlsSsmControlsArgs, RemediationConfigurationExecutionControlsSsmControlsPtr and RemediationConfigurationExecutionControlsSsmControlsPtrOutput values. You can construct a concrete instance of `RemediationConfigurationExecutionControlsSsmControlsPtrInput` via:

        RemediationConfigurationExecutionControlsSsmControlsArgs{...}

or:

        nil

type RemediationConfigurationExecutionControlsSsmControlsPtrOutput

type RemediationConfigurationExecutionControlsSsmControlsPtrOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationExecutionControlsSsmControlsPtrOutput) ConcurrentExecutionRatePercentage

Maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. The default value is 10%.

func (RemediationConfigurationExecutionControlsSsmControlsPtrOutput) Elem

func (RemediationConfigurationExecutionControlsSsmControlsPtrOutput) ElementType

func (RemediationConfigurationExecutionControlsSsmControlsPtrOutput) ErrorPercentage

Percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. The default is 50%.

func (RemediationConfigurationExecutionControlsSsmControlsPtrOutput) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutput

func (RemediationConfigurationExecutionControlsSsmControlsPtrOutput) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext

func (o RemediationConfigurationExecutionControlsSsmControlsPtrOutput) ToRemediationConfigurationExecutionControlsSsmControlsPtrOutputWithContext(ctx context.Context) RemediationConfigurationExecutionControlsSsmControlsPtrOutput

type RemediationConfigurationInput

type RemediationConfigurationInput interface {
	pulumi.Input

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

type RemediationConfigurationMap

type RemediationConfigurationMap map[string]RemediationConfigurationInput

func (RemediationConfigurationMap) ElementType

func (RemediationConfigurationMap) ToRemediationConfigurationMapOutput

func (i RemediationConfigurationMap) ToRemediationConfigurationMapOutput() RemediationConfigurationMapOutput

func (RemediationConfigurationMap) ToRemediationConfigurationMapOutputWithContext

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

type RemediationConfigurationMapInput

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

type RemediationConfigurationMapOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationMapOutput) ElementType

func (RemediationConfigurationMapOutput) MapIndex

func (RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutput

func (o RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutput() RemediationConfigurationMapOutput

func (RemediationConfigurationMapOutput) ToRemediationConfigurationMapOutputWithContext

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

type RemediationConfigurationOutput

type RemediationConfigurationOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationOutput) Arn added in v5.4.0

ARN of the Config Remediation Configuration.

func (RemediationConfigurationOutput) Automatic added in v5.4.0

Remediation is triggered automatically if `true`.

func (RemediationConfigurationOutput) ConfigRuleName added in v5.4.0

Name of the AWS Config rule.

func (RemediationConfigurationOutput) ElementType

func (RemediationConfigurationOutput) ExecutionControls added in v5.4.0

Configuration block for execution controls. See below.

func (RemediationConfigurationOutput) MaximumAutomaticAttempts added in v5.4.0

func (o RemediationConfigurationOutput) MaximumAutomaticAttempts() pulumi.IntPtrOutput

Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.

func (RemediationConfigurationOutput) Parameters added in v5.4.0

Can be specified multiple times for each parameter. Each parameter block supports arguments below.

func (RemediationConfigurationOutput) ResourceType added in v5.4.0

Type of resource.

func (RemediationConfigurationOutput) RetryAttemptSeconds added in v5.4.0

func (o RemediationConfigurationOutput) RetryAttemptSeconds() pulumi.IntPtrOutput

Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.

func (RemediationConfigurationOutput) TargetId added in v5.4.0

Target ID is the name of the public document.

func (RemediationConfigurationOutput) TargetType added in v5.4.0

Type of the target. Target executes remediation. For example, SSM document.

The following arguments are optional:

func (RemediationConfigurationOutput) TargetVersion added in v5.4.0

Version of the target. For example, version of the SSM document

func (RemediationConfigurationOutput) ToRemediationConfigurationOutput

func (o RemediationConfigurationOutput) ToRemediationConfigurationOutput() RemediationConfigurationOutput

func (RemediationConfigurationOutput) ToRemediationConfigurationOutputWithContext

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

type RemediationConfigurationParameter

type RemediationConfigurationParameter struct {
	// Name of the attribute.
	Name string `pulumi:"name"`
	// Value is dynamic and changes at run-time.
	ResourceValue *string `pulumi:"resourceValue"`
	// Value is static and does not change at run-time.
	StaticValue *string `pulumi:"staticValue"`
	// List of static values.
	StaticValues []string `pulumi:"staticValues"`
}

type RemediationConfigurationParameterArgs

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

func (RemediationConfigurationParameterArgs) ElementType

func (RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutput

func (i RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutput() RemediationConfigurationParameterOutput

func (RemediationConfigurationParameterArgs) ToRemediationConfigurationParameterOutputWithContext

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

type RemediationConfigurationParameterArray

type RemediationConfigurationParameterArray []RemediationConfigurationParameterInput

func (RemediationConfigurationParameterArray) ElementType

func (RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutput

func (i RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutput() RemediationConfigurationParameterArrayOutput

func (RemediationConfigurationParameterArray) ToRemediationConfigurationParameterArrayOutputWithContext

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

type RemediationConfigurationParameterArrayInput

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

type RemediationConfigurationParameterArrayOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationParameterArrayOutput) ElementType

func (RemediationConfigurationParameterArrayOutput) Index

func (RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutput

func (o RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutput() RemediationConfigurationParameterArrayOutput

func (RemediationConfigurationParameterArrayOutput) ToRemediationConfigurationParameterArrayOutputWithContext

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

type RemediationConfigurationParameterInput

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

type RemediationConfigurationParameterOutput struct{ *pulumi.OutputState }

func (RemediationConfigurationParameterOutput) ElementType

func (RemediationConfigurationParameterOutput) Name

Name of the attribute.

func (RemediationConfigurationParameterOutput) ResourceValue

Value is dynamic and changes at run-time.

func (RemediationConfigurationParameterOutput) StaticValue

Value is static and does not change at run-time.

func (RemediationConfigurationParameterOutput) StaticValues added in v5.10.0

List of static values.

func (RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutput

func (o RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutput() RemediationConfigurationParameterOutput

func (RemediationConfigurationParameterOutput) ToRemediationConfigurationParameterOutputWithContext

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

type RemediationConfigurationState

type RemediationConfigurationState struct {
	// ARN of the Config Remediation Configuration.
	Arn pulumi.StringPtrInput
	// Remediation is triggered automatically if `true`.
	Automatic pulumi.BoolPtrInput
	// Name of the AWS Config rule.
	ConfigRuleName pulumi.StringPtrInput
	// Configuration block for execution controls. See below.
	ExecutionControls RemediationConfigurationExecutionControlsPtrInput
	// Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
	MaximumAutomaticAttempts pulumi.IntPtrInput
	// Can be specified multiple times for each parameter. Each parameter block supports arguments below.
	Parameters RemediationConfigurationParameterArrayInput
	// Type of resource.
	ResourceType pulumi.StringPtrInput
	// Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
	RetryAttemptSeconds pulumi.IntPtrInput
	// Target ID is the name of the public document.
	TargetId pulumi.StringPtrInput
	// Type of the target. Target executes remediation. For example, SSM document.
	//
	// The following arguments are optional:
	TargetType pulumi.StringPtrInput
	// Version of the target. For example, version of the SSM document
	TargetVersion pulumi.StringPtrInput
}

func (RemediationConfigurationState) ElementType

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 maximum frequency with which AWS Config runs evaluations for a rule.
	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. See Source 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. See Scope Below.
	Source RuleSourceOutput `pulumi:"source"`
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

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 (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		assumeRole, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "Service",
							Identifiers: []string{
								"config.amazonaws.com",
							},
						},
					},
					Actions: []string{
						"sts:AssumeRole",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		role, err := iam.NewRole(ctx, "role", &iam.RoleArgs{
			AssumeRolePolicy: *pulumi.String(assumeRole.Json),
		})
		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
		}
		policyDocument, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Effect: pulumi.StringRef("Allow"),
					Actions: []string{
						"config:Put*",
					},
					Resources: []string{
						"*",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "rolePolicy", &iam.RolePolicyArgs{
			Role:   role.ID(),
			Policy: *pulumi.String(policyDocument.Json),
		})
		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/v5/go/aws/cfg"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/lambda"
"github.com/pulumi/pulumi/sdk/v3/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
	})
}

``` ### Custom Policies

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cfg.NewRule(ctx, "example", &cfg.RuleArgs{
			Source: &cfg.RuleSourceArgs{
				Owner: pulumi.String("CUSTOM_POLICY"),
				SourceDetails: cfg.RuleSourceSourceDetailArray{
					&cfg.RuleSourceSourceDetailArgs{
						MessageType: pulumi.String("ConfigurationItemChangeNotification"),
					},
				},
				CustomPolicyDetails: &cfg.RuleSourceCustomPolicyDetailsArgs{
					PolicyRuntime: pulumi.String("guard-2.x.x"),
					PolicyText: pulumi.String(`	  rule tableisactive when
		  resourceType == "AWS::DynamoDB::Table" {
		  configuration.tableStatus == ['ACTIVE']
	  }

	  rule checkcompliance when
		  resourceType == "AWS::DynamoDB::Table"
		  tableisactive {
			  supplementaryConfiguration.ContinuousBackupsDescription.pointInTimeRecoveryDescription.pointInTimeRecoveryStatus == "ENABLED"
	  }

`),

				},
			},
		})
		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

func (*Rule) ElementType() reflect.Type

func (*Rule) ToRuleOutput

func (i *Rule) ToRuleOutput() RuleOutput

func (*Rule) ToRuleOutputWithContext

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

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 maximum frequency with which AWS Config runs evaluations for a rule.
	MaximumExecutionFrequency pulumi.StringPtrInput
	// The name of the rule
	Name pulumi.StringPtrInput
	// Scope defines which resources can trigger an evaluation for the rule. See Source Below.
	Scope RuleScopePtrInput
	// Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources. See Scope Below.
	Source RuleSourceInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Rule resource.

func (RuleArgs) ElementType

func (RuleArgs) ElementType() reflect.Type

type RuleArray

type RuleArray []RuleInput

func (RuleArray) ElementType

func (RuleArray) ElementType() reflect.Type

func (RuleArray) ToRuleArrayOutput

func (i RuleArray) ToRuleArrayOutput() RuleArrayOutput

func (RuleArray) ToRuleArrayOutputWithContext

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

type RuleArrayInput

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

type RuleArrayOutput struct{ *pulumi.OutputState }

func (RuleArrayOutput) ElementType

func (RuleArrayOutput) ElementType() reflect.Type

func (RuleArrayOutput) Index

func (RuleArrayOutput) ToRuleArrayOutput

func (o RuleArrayOutput) ToRuleArrayOutput() RuleArrayOutput

func (RuleArrayOutput) ToRuleArrayOutputWithContext

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

type RuleInput

type RuleInput interface {
	pulumi.Input

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

type RuleMap

type RuleMap map[string]RuleInput

func (RuleMap) ElementType

func (RuleMap) ElementType() reflect.Type

func (RuleMap) ToRuleMapOutput

func (i RuleMap) ToRuleMapOutput() RuleMapOutput

func (RuleMap) ToRuleMapOutputWithContext

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

type RuleMapInput

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

type RuleMapOutput struct{ *pulumi.OutputState }

func (RuleMapOutput) ElementType

func (RuleMapOutput) ElementType() reflect.Type

func (RuleMapOutput) MapIndex

func (RuleMapOutput) ToRuleMapOutput

func (o RuleMapOutput) ToRuleMapOutput() RuleMapOutput

func (RuleMapOutput) ToRuleMapOutputWithContext

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

type RuleOutput

type RuleOutput struct{ *pulumi.OutputState }

func (RuleOutput) Arn added in v5.4.0

func (o RuleOutput) Arn() pulumi.StringOutput

The ARN of the config rule

func (RuleOutput) Description added in v5.4.0

func (o RuleOutput) Description() pulumi.StringPtrOutput

Description of the rule

func (RuleOutput) ElementType

func (RuleOutput) ElementType() reflect.Type

func (RuleOutput) InputParameters added in v5.4.0

func (o RuleOutput) InputParameters() pulumi.StringPtrOutput

A string in JSON format that is passed to the AWS Config rule Lambda function.

func (RuleOutput) MaximumExecutionFrequency added in v5.4.0

func (o RuleOutput) MaximumExecutionFrequency() pulumi.StringPtrOutput

The maximum frequency with which AWS Config runs evaluations for a rule.

func (RuleOutput) Name added in v5.4.0

func (o RuleOutput) Name() pulumi.StringOutput

The name of the rule

func (RuleOutput) RuleId added in v5.4.0

func (o RuleOutput) RuleId() pulumi.StringOutput

The ID of the config rule

func (RuleOutput) Scope added in v5.4.0

func (o RuleOutput) Scope() RuleScopePtrOutput

Scope defines which resources can trigger an evaluation for the rule. See Source Below.

func (RuleOutput) Source added in v5.4.0

func (o RuleOutput) Source() RuleSourceOutput

Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources. See Scope Below.

func (RuleOutput) Tags added in v5.4.0

A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (RuleOutput) TagsAll added in v5.4.0

func (o RuleOutput) TagsAll() pulumi.StringMapOutput

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (RuleOutput) ToRuleOutput

func (o RuleOutput) ToRuleOutput() RuleOutput

func (RuleOutput) ToRuleOutputWithContext

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

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 ruleE.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 ruleE.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 ruleE.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 ruleE.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 {
	// Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY`. See Custom Policy Details Below.
	CustomPolicyDetails *RuleSourceCustomPolicyDetails `pulumi:"customPolicyDetails"`
	// Indicates whether AWS or the customer owns and manages the AWS Config rule. Valid values are `AWS`, `CUSTOM_LAMBDA` or `CUSTOM_POLICY`. 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` or `CUSTOM_POLICY`. See Source Detail Below.
	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 {
	// Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY`. See Custom Policy Details Below.
	CustomPolicyDetails RuleSourceCustomPolicyDetailsPtrInput `pulumi:"customPolicyDetails"`
	// Indicates whether AWS or the customer owns and manages the AWS Config rule. Valid values are `AWS`, `CUSTOM_LAMBDA` or `CUSTOM_POLICY`. 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` or `CUSTOM_POLICY`. See Source Detail Below.
	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.StringPtrInput `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 RuleSourceCustomPolicyDetails added in v5.2.0

type RuleSourceCustomPolicyDetails struct {
	// The boolean expression for enabling debug logging for your Config Custom Policy rule. The default value is `false`.
	EnableDebugLogDelivery *bool `pulumi:"enableDebugLogDelivery"`
	// The runtime system for your Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://github.com/aws-cloudformation/cloudformation-guard).
	PolicyRuntime string `pulumi:"policyRuntime"`
	// The policy definition containing the logic for your Config Custom Policy rule.
	PolicyText string `pulumi:"policyText"`
}

type RuleSourceCustomPolicyDetailsArgs added in v5.2.0

type RuleSourceCustomPolicyDetailsArgs struct {
	// The boolean expression for enabling debug logging for your Config Custom Policy rule. The default value is `false`.
	EnableDebugLogDelivery pulumi.BoolPtrInput `pulumi:"enableDebugLogDelivery"`
	// The runtime system for your Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://github.com/aws-cloudformation/cloudformation-guard).
	PolicyRuntime pulumi.StringInput `pulumi:"policyRuntime"`
	// The policy definition containing the logic for your Config Custom Policy rule.
	PolicyText pulumi.StringInput `pulumi:"policyText"`
}

func (RuleSourceCustomPolicyDetailsArgs) ElementType added in v5.2.0

func (RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsOutput added in v5.2.0

func (i RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsOutput() RuleSourceCustomPolicyDetailsOutput

func (RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsOutputWithContext added in v5.2.0

func (i RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsOutputWithContext(ctx context.Context) RuleSourceCustomPolicyDetailsOutput

func (RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsPtrOutput added in v5.2.0

func (i RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsPtrOutput() RuleSourceCustomPolicyDetailsPtrOutput

func (RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsPtrOutputWithContext added in v5.2.0

func (i RuleSourceCustomPolicyDetailsArgs) ToRuleSourceCustomPolicyDetailsPtrOutputWithContext(ctx context.Context) RuleSourceCustomPolicyDetailsPtrOutput

type RuleSourceCustomPolicyDetailsInput added in v5.2.0

type RuleSourceCustomPolicyDetailsInput interface {
	pulumi.Input

	ToRuleSourceCustomPolicyDetailsOutput() RuleSourceCustomPolicyDetailsOutput
	ToRuleSourceCustomPolicyDetailsOutputWithContext(context.Context) RuleSourceCustomPolicyDetailsOutput
}

RuleSourceCustomPolicyDetailsInput is an input type that accepts RuleSourceCustomPolicyDetailsArgs and RuleSourceCustomPolicyDetailsOutput values. You can construct a concrete instance of `RuleSourceCustomPolicyDetailsInput` via:

RuleSourceCustomPolicyDetailsArgs{...}

type RuleSourceCustomPolicyDetailsOutput added in v5.2.0

type RuleSourceCustomPolicyDetailsOutput struct{ *pulumi.OutputState }

func (RuleSourceCustomPolicyDetailsOutput) ElementType added in v5.2.0

func (RuleSourceCustomPolicyDetailsOutput) EnableDebugLogDelivery added in v5.2.0

func (o RuleSourceCustomPolicyDetailsOutput) EnableDebugLogDelivery() pulumi.BoolPtrOutput

The boolean expression for enabling debug logging for your Config Custom Policy rule. The default value is `false`.

func (RuleSourceCustomPolicyDetailsOutput) PolicyRuntime added in v5.2.0

The runtime system for your Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://github.com/aws-cloudformation/cloudformation-guard).

func (RuleSourceCustomPolicyDetailsOutput) PolicyText added in v5.2.0

The policy definition containing the logic for your Config Custom Policy rule.

func (RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsOutput added in v5.2.0

func (o RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsOutput() RuleSourceCustomPolicyDetailsOutput

func (RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsOutputWithContext added in v5.2.0

func (o RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsOutputWithContext(ctx context.Context) RuleSourceCustomPolicyDetailsOutput

func (RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsPtrOutput added in v5.2.0

func (o RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsPtrOutput() RuleSourceCustomPolicyDetailsPtrOutput

func (RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsPtrOutputWithContext added in v5.2.0

func (o RuleSourceCustomPolicyDetailsOutput) ToRuleSourceCustomPolicyDetailsPtrOutputWithContext(ctx context.Context) RuleSourceCustomPolicyDetailsPtrOutput

type RuleSourceCustomPolicyDetailsPtrInput added in v5.2.0

type RuleSourceCustomPolicyDetailsPtrInput interface {
	pulumi.Input

	ToRuleSourceCustomPolicyDetailsPtrOutput() RuleSourceCustomPolicyDetailsPtrOutput
	ToRuleSourceCustomPolicyDetailsPtrOutputWithContext(context.Context) RuleSourceCustomPolicyDetailsPtrOutput
}

RuleSourceCustomPolicyDetailsPtrInput is an input type that accepts RuleSourceCustomPolicyDetailsArgs, RuleSourceCustomPolicyDetailsPtr and RuleSourceCustomPolicyDetailsPtrOutput values. You can construct a concrete instance of `RuleSourceCustomPolicyDetailsPtrInput` via:

        RuleSourceCustomPolicyDetailsArgs{...}

or:

        nil

type RuleSourceCustomPolicyDetailsPtrOutput added in v5.2.0

type RuleSourceCustomPolicyDetailsPtrOutput struct{ *pulumi.OutputState }

func (RuleSourceCustomPolicyDetailsPtrOutput) Elem added in v5.2.0

func (RuleSourceCustomPolicyDetailsPtrOutput) ElementType added in v5.2.0

func (RuleSourceCustomPolicyDetailsPtrOutput) EnableDebugLogDelivery added in v5.2.0

func (o RuleSourceCustomPolicyDetailsPtrOutput) EnableDebugLogDelivery() pulumi.BoolPtrOutput

The boolean expression for enabling debug logging for your Config Custom Policy rule. The default value is `false`.

func (RuleSourceCustomPolicyDetailsPtrOutput) PolicyRuntime added in v5.2.0

The runtime system for your Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the [Guard GitHub Repository](https://github.com/aws-cloudformation/cloudformation-guard).

func (RuleSourceCustomPolicyDetailsPtrOutput) PolicyText added in v5.2.0

The policy definition containing the logic for your Config Custom Policy rule.

func (RuleSourceCustomPolicyDetailsPtrOutput) ToRuleSourceCustomPolicyDetailsPtrOutput added in v5.2.0

func (o RuleSourceCustomPolicyDetailsPtrOutput) ToRuleSourceCustomPolicyDetailsPtrOutput() RuleSourceCustomPolicyDetailsPtrOutput

func (RuleSourceCustomPolicyDetailsPtrOutput) ToRuleSourceCustomPolicyDetailsPtrOutputWithContext added in v5.2.0

func (o RuleSourceCustomPolicyDetailsPtrOutput) ToRuleSourceCustomPolicyDetailsPtrOutputWithContext(ctx context.Context) RuleSourceCustomPolicyDetailsPtrOutput

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) CustomPolicyDetails added in v5.2.0

Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY`. See Custom Policy Details Below.

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`, `CUSTOM_LAMBDA` or `CUSTOM_POLICY`. 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` or `CUSTOM_POLICY`. See Source Detail Below.

func (RuleSourceOutput) SourceIdentifier

func (o RuleSourceOutput) 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 (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) CustomPolicyDetails added in v5.2.0

Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to `CUSTOM_POLICY`. See Custom Policy Details Below.

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`, `CUSTOM_LAMBDA` or `CUSTOM_POLICY`. 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` or `CUSTOM_POLICY`. See Source Detail Below.

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 AWSresources. 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 istriggered 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 canspecify 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 AWSresources. 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 istriggered 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 canspecify 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 AWSresources. 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 istriggered 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 canspecify 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 maximum frequency with which AWS Config runs evaluations for a rule.
	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. See Source Below.
	Scope RuleScopePtrInput
	// Source specifies the rule owner, the rule identifier, and the notifications that cause the function to evaluate your AWS resources. See Scope Below.
	Source RuleSourcePtrInput
	// A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll 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