ecr

package
v6.36.0 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 7 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetAuthorizationTokenArgs

type GetAuthorizationTokenArgs struct {
	// AWS account ID of the ECR Repository. If not specified the default account is assumed.
	RegistryId *string `pulumi:"registryId"`
}

A collection of arguments for invoking getAuthorizationToken.

type GetAuthorizationTokenOutputArgs

type GetAuthorizationTokenOutputArgs struct {
	// AWS account ID of the ECR Repository. If not specified the default account is assumed.
	RegistryId pulumi.StringPtrInput `pulumi:"registryId"`
}

A collection of arguments for invoking getAuthorizationToken.

func (GetAuthorizationTokenOutputArgs) ElementType

type GetAuthorizationTokenResult

type GetAuthorizationTokenResult struct {
	// Temporary IAM authentication credentials to access the ECR repository encoded in base64 in the form of `user_name:password`.
	AuthorizationToken string `pulumi:"authorizationToken"`
	// Time in UTC RFC3339 format when the authorization token expires.
	ExpiresAt string `pulumi:"expiresAt"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Password decoded from the authorization token.
	Password string `pulumi:"password"`
	// Registry URL to use in the docker login command.
	ProxyEndpoint string  `pulumi:"proxyEndpoint"`
	RegistryId    *string `pulumi:"registryId"`
	// User name decoded from the authorization token.
	UserName string `pulumi:"userName"`
}

A collection of values returned by getAuthorizationToken.

func GetAuthorizationToken

func GetAuthorizationToken(ctx *pulumi.Context, args *GetAuthorizationTokenArgs, opts ...pulumi.InvokeOption) (*GetAuthorizationTokenResult, error)

The ECR Authorization Token data source allows the authorization token, proxy endpoint, token expiration date, user name and password to be retrieved for an ECR repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.GetAuthorizationToken(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetAuthorizationTokenResultOutput

type GetAuthorizationTokenResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAuthorizationToken.

func (GetAuthorizationTokenResultOutput) AuthorizationToken

func (o GetAuthorizationTokenResultOutput) AuthorizationToken() pulumi.StringOutput

Temporary IAM authentication credentials to access the ECR repository encoded in base64 in the form of `user_name:password`.

func (GetAuthorizationTokenResultOutput) ElementType

func (GetAuthorizationTokenResultOutput) ExpiresAt

Time in UTC RFC3339 format when the authorization token expires.

func (GetAuthorizationTokenResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetAuthorizationTokenResultOutput) Password

Password decoded from the authorization token.

func (GetAuthorizationTokenResultOutput) ProxyEndpoint

Registry URL to use in the docker login command.

func (GetAuthorizationTokenResultOutput) RegistryId

func (GetAuthorizationTokenResultOutput) ToGetAuthorizationTokenResultOutput

func (o GetAuthorizationTokenResultOutput) ToGetAuthorizationTokenResultOutput() GetAuthorizationTokenResultOutput

func (GetAuthorizationTokenResultOutput) ToGetAuthorizationTokenResultOutputWithContext

func (o GetAuthorizationTokenResultOutput) ToGetAuthorizationTokenResultOutputWithContext(ctx context.Context) GetAuthorizationTokenResultOutput

func (GetAuthorizationTokenResultOutput) UserName

User name decoded from the authorization token.

type GetCredentialsArgs

type GetCredentialsArgs struct {
	RegistryId string `pulumi:"registryId"`
}

A collection of arguments for invoking getCredentials.

type GetCredentialsOutputArgs

type GetCredentialsOutputArgs struct {
	RegistryId pulumi.StringInput `pulumi:"registryId"`
}

A collection of arguments for invoking getCredentials.

func (GetCredentialsOutputArgs) ElementType

func (GetCredentialsOutputArgs) ElementType() reflect.Type

type GetCredentialsResult

type GetCredentialsResult struct {
	AuthorizationToken string `pulumi:"authorizationToken"`
	ExpiresAt          string `pulumi:"expiresAt"`
	// The provider-assigned unique ID for this managed resource.
	Id            string `pulumi:"id"`
	ProxyEndpoint string `pulumi:"proxyEndpoint"`
	RegistryId    string `pulumi:"registryId"`
}

A collection of values returned by getCredentials.

func GetCredentials

func GetCredentials(ctx *pulumi.Context, args *GetCredentialsArgs, opts ...pulumi.InvokeOption) (*GetCredentialsResult, error)

type GetCredentialsResultOutput

type GetCredentialsResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCredentials.

func (GetCredentialsResultOutput) AuthorizationToken

func (o GetCredentialsResultOutput) AuthorizationToken() pulumi.StringOutput

func (GetCredentialsResultOutput) ElementType

func (GetCredentialsResultOutput) ElementType() reflect.Type

func (GetCredentialsResultOutput) ExpiresAt

func (GetCredentialsResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetCredentialsResultOutput) ProxyEndpoint

func (GetCredentialsResultOutput) RegistryId

func (GetCredentialsResultOutput) ToGetCredentialsResultOutput

func (o GetCredentialsResultOutput) ToGetCredentialsResultOutput() GetCredentialsResultOutput

func (GetCredentialsResultOutput) ToGetCredentialsResultOutputWithContext

func (o GetCredentialsResultOutput) ToGetCredentialsResultOutputWithContext(ctx context.Context) GetCredentialsResultOutput

type GetImageArgs

type GetImageArgs struct {
	// Sha256 digest of the image manifest. At least one of `imageDigest`, `imageTag`, or `mostRecent` must be specified.
	ImageDigest *string `pulumi:"imageDigest"`
	// Tag associated with this image. At least one of `imageDigest`, `imageTag`, or `mostRecent` must be specified.
	ImageTag *string `pulumi:"imageTag"`
	// Return the most recently pushed image. At least one of `imageDigest`, `imageTag`, or `mostRecent` must be specified.
	MostRecent *bool `pulumi:"mostRecent"`
	// ID of the Registry where the repository resides.
	RegistryId *string `pulumi:"registryId"`
	// Name of the ECR Repository.
	RepositoryName string `pulumi:"repositoryName"`
}

A collection of arguments for invoking getImage.

type GetImageOutputArgs

type GetImageOutputArgs struct {
	// Sha256 digest of the image manifest. At least one of `imageDigest`, `imageTag`, or `mostRecent` must be specified.
	ImageDigest pulumi.StringPtrInput `pulumi:"imageDigest"`
	// Tag associated with this image. At least one of `imageDigest`, `imageTag`, or `mostRecent` must be specified.
	ImageTag pulumi.StringPtrInput `pulumi:"imageTag"`
	// Return the most recently pushed image. At least one of `imageDigest`, `imageTag`, or `mostRecent` must be specified.
	MostRecent pulumi.BoolPtrInput `pulumi:"mostRecent"`
	// ID of the Registry where the repository resides.
	RegistryId pulumi.StringPtrInput `pulumi:"registryId"`
	// Name of the ECR Repository.
	RepositoryName pulumi.StringInput `pulumi:"repositoryName"`
}

A collection of arguments for invoking getImage.

func (GetImageOutputArgs) ElementType

func (GetImageOutputArgs) ElementType() reflect.Type

type GetImageResult

type GetImageResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id          string `pulumi:"id"`
	ImageDigest string `pulumi:"imageDigest"`
	// Date and time, expressed as a unix timestamp, at which the current image was pushed to the repository.
	ImagePushedAt int `pulumi:"imagePushedAt"`
	// Size, in bytes, of the image in the repository.
	ImageSizeInBytes int     `pulumi:"imageSizeInBytes"`
	ImageTag         *string `pulumi:"imageTag"`
	// List of tags associated with this image.
	ImageTags []string `pulumi:"imageTags"`
	// The URI for the specific image version specified by `imageTag` or `imageDigest`.
	ImageUri       string `pulumi:"imageUri"`
	MostRecent     *bool  `pulumi:"mostRecent"`
	RegistryId     string `pulumi:"registryId"`
	RepositoryName string `pulumi:"repositoryName"`
}

A collection of values returned by getImage.

func GetImage

func GetImage(ctx *pulumi.Context, args *GetImageArgs, opts ...pulumi.InvokeOption) (*GetImageResult, error)

The ECR Image data source allows the details of an image with a particular tag or digest to be retrieved.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.GetImage(ctx, &ecr.GetImageArgs{
			RepositoryName: "my/service",
			ImageTag:       pulumi.StringRef("latest"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetImageResultOutput

type GetImageResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getImage.

func (GetImageResultOutput) ElementType

func (GetImageResultOutput) ElementType() reflect.Type

func (GetImageResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetImageResultOutput) ImageDigest

func (o GetImageResultOutput) ImageDigest() pulumi.StringOutput

func (GetImageResultOutput) ImagePushedAt

func (o GetImageResultOutput) ImagePushedAt() pulumi.IntOutput

Date and time, expressed as a unix timestamp, at which the current image was pushed to the repository.

func (GetImageResultOutput) ImageSizeInBytes

func (o GetImageResultOutput) ImageSizeInBytes() pulumi.IntOutput

Size, in bytes, of the image in the repository.

func (GetImageResultOutput) ImageTag

func (GetImageResultOutput) ImageTags

List of tags associated with this image.

func (GetImageResultOutput) ImageUri added in v6.18.2

The URI for the specific image version specified by `imageTag` or `imageDigest`.

func (GetImageResultOutput) MostRecent

func (o GetImageResultOutput) MostRecent() pulumi.BoolPtrOutput

func (GetImageResultOutput) RegistryId

func (o GetImageResultOutput) RegistryId() pulumi.StringOutput

func (GetImageResultOutput) RepositoryName

func (o GetImageResultOutput) RepositoryName() pulumi.StringOutput

func (GetImageResultOutput) ToGetImageResultOutput

func (o GetImageResultOutput) ToGetImageResultOutput() GetImageResultOutput

func (GetImageResultOutput) ToGetImageResultOutputWithContext

func (o GetImageResultOutput) ToGetImageResultOutputWithContext(ctx context.Context) GetImageResultOutput

type GetLifecyclePolicyDocumentArgs added in v6.30.0

type GetLifecyclePolicyDocumentArgs struct {
	Rules []GetLifecyclePolicyDocumentRule `pulumi:"rules"`
}

A collection of arguments for invoking getLifecyclePolicyDocument.

type GetLifecyclePolicyDocumentOutputArgs added in v6.30.0

type GetLifecyclePolicyDocumentOutputArgs struct {
	Rules GetLifecyclePolicyDocumentRuleArrayInput `pulumi:"rules"`
}

A collection of arguments for invoking getLifecyclePolicyDocument.

func (GetLifecyclePolicyDocumentOutputArgs) ElementType added in v6.30.0

type GetLifecyclePolicyDocumentResult added in v6.30.0

type GetLifecyclePolicyDocumentResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The above arguments serialized as a standard JSON policy document.
	Json  string                           `pulumi:"json"`
	Rules []GetLifecyclePolicyDocumentRule `pulumi:"rules"`
}

A collection of values returned by getLifecyclePolicyDocument.

func GetLifecyclePolicyDocument added in v6.30.0

func GetLifecyclePolicyDocument(ctx *pulumi.Context, args *GetLifecyclePolicyDocumentArgs, opts ...pulumi.InvokeOption) (*GetLifecyclePolicyDocumentResult, error)

Generates an ECR lifecycle policy document in JSON format. Can be used with resources such as the `ecr.LifecyclePolicy` resource.

> For more information about building AWS ECR lifecycle policy documents, see the [AWS ECR Lifecycle Policy Document Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ecr.GetLifecyclePolicyDocument(ctx, &ecr.GetLifecyclePolicyDocumentArgs{
			Rules: []ecr.GetLifecyclePolicyDocumentRule{
				{
					Priority:    1,
					Description: pulumi.StringRef("This is a test."),
					Selection: {
						TagStatus: "tagged",
						TagPrefixLists: []string{
							"prod",
						},
						CountType:   "imageCountMoreThan",
						CountNumber: 100,
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecr.NewLifecyclePolicy(ctx, "example", &ecr.LifecyclePolicyArgs{
			Repository: pulumi.Any(exampleAwsEcrRepository.Name),
			Policy:     pulumi.String(example.Json),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetLifecyclePolicyDocumentResultOutput added in v6.30.0

type GetLifecyclePolicyDocumentResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLifecyclePolicyDocument.

func (GetLifecyclePolicyDocumentResultOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentResultOutput) Id added in v6.30.0

The provider-assigned unique ID for this managed resource.

func (GetLifecyclePolicyDocumentResultOutput) Json added in v6.30.0

The above arguments serialized as a standard JSON policy document.

func (GetLifecyclePolicyDocumentResultOutput) Rules added in v6.30.0

func (GetLifecyclePolicyDocumentResultOutput) ToGetLifecyclePolicyDocumentResultOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentResultOutput) ToGetLifecyclePolicyDocumentResultOutput() GetLifecyclePolicyDocumentResultOutput

func (GetLifecyclePolicyDocumentResultOutput) ToGetLifecyclePolicyDocumentResultOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentResultOutput) ToGetLifecyclePolicyDocumentResultOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentResultOutput

type GetLifecyclePolicyDocumentRule added in v6.30.0

type GetLifecyclePolicyDocumentRule struct {
	// Specifies the action type.
	Action *GetLifecyclePolicyDocumentRuleAction `pulumi:"action"`
	// Describes the purpose of a rule within a lifecycle policy.
	Description *string `pulumi:"description"`
	// Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tagStatus` value of any must have the highest value for `priority` and be evaluated last.
	Priority int `pulumi:"priority"`
	// Collects parameters describing the selection criteria for the ECR lifecycle policy:
	Selection *GetLifecyclePolicyDocumentRuleSelection `pulumi:"selection"`
}

type GetLifecyclePolicyDocumentRuleAction added in v6.30.0

type GetLifecyclePolicyDocumentRuleAction struct {
	// The supported value is `expire`.
	Type string `pulumi:"type"`
}

type GetLifecyclePolicyDocumentRuleActionArgs added in v6.30.0

type GetLifecyclePolicyDocumentRuleActionArgs struct {
	// The supported value is `expire`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (GetLifecyclePolicyDocumentRuleActionArgs) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionOutput added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionOutput() GetLifecyclePolicyDocumentRuleActionOutput

func (GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionOutputWithContext added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleActionOutput

func (GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionPtrOutput added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionPtrOutput() GetLifecyclePolicyDocumentRuleActionPtrOutput

func (GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleActionArgs) ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleActionPtrOutput

type GetLifecyclePolicyDocumentRuleActionInput added in v6.30.0

type GetLifecyclePolicyDocumentRuleActionInput interface {
	pulumi.Input

	ToGetLifecyclePolicyDocumentRuleActionOutput() GetLifecyclePolicyDocumentRuleActionOutput
	ToGetLifecyclePolicyDocumentRuleActionOutputWithContext(context.Context) GetLifecyclePolicyDocumentRuleActionOutput
}

GetLifecyclePolicyDocumentRuleActionInput is an input type that accepts GetLifecyclePolicyDocumentRuleActionArgs and GetLifecyclePolicyDocumentRuleActionOutput values. You can construct a concrete instance of `GetLifecyclePolicyDocumentRuleActionInput` via:

GetLifecyclePolicyDocumentRuleActionArgs{...}

type GetLifecyclePolicyDocumentRuleActionOutput added in v6.30.0

type GetLifecyclePolicyDocumentRuleActionOutput struct{ *pulumi.OutputState }

func (GetLifecyclePolicyDocumentRuleActionOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionOutput() GetLifecyclePolicyDocumentRuleActionOutput

func (GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleActionOutput

func (GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutput() GetLifecyclePolicyDocumentRuleActionPtrOutput

func (GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleActionOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleActionPtrOutput

func (GetLifecyclePolicyDocumentRuleActionOutput) Type added in v6.30.0

The supported value is `expire`.

type GetLifecyclePolicyDocumentRuleActionPtrInput added in v6.30.0

type GetLifecyclePolicyDocumentRuleActionPtrInput interface {
	pulumi.Input

	ToGetLifecyclePolicyDocumentRuleActionPtrOutput() GetLifecyclePolicyDocumentRuleActionPtrOutput
	ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext(context.Context) GetLifecyclePolicyDocumentRuleActionPtrOutput
}

GetLifecyclePolicyDocumentRuleActionPtrInput is an input type that accepts GetLifecyclePolicyDocumentRuleActionArgs, GetLifecyclePolicyDocumentRuleActionPtr and GetLifecyclePolicyDocumentRuleActionPtrOutput values. You can construct a concrete instance of `GetLifecyclePolicyDocumentRuleActionPtrInput` via:

        GetLifecyclePolicyDocumentRuleActionArgs{...}

or:

        nil

type GetLifecyclePolicyDocumentRuleActionPtrOutput added in v6.30.0

type GetLifecyclePolicyDocumentRuleActionPtrOutput struct{ *pulumi.OutputState }

func (GetLifecyclePolicyDocumentRuleActionPtrOutput) Elem added in v6.30.0

func (GetLifecyclePolicyDocumentRuleActionPtrOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleActionPtrOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleActionPtrOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutput() GetLifecyclePolicyDocumentRuleActionPtrOutput

func (GetLifecyclePolicyDocumentRuleActionPtrOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleActionPtrOutput) ToGetLifecyclePolicyDocumentRuleActionPtrOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleActionPtrOutput

func (GetLifecyclePolicyDocumentRuleActionPtrOutput) Type added in v6.30.0

The supported value is `expire`.

type GetLifecyclePolicyDocumentRuleArgs added in v6.30.0

type GetLifecyclePolicyDocumentRuleArgs struct {
	// Specifies the action type.
	Action GetLifecyclePolicyDocumentRuleActionPtrInput `pulumi:"action"`
	// Describes the purpose of a rule within a lifecycle policy.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tagStatus` value of any must have the highest value for `priority` and be evaluated last.
	Priority pulumi.IntInput `pulumi:"priority"`
	// Collects parameters describing the selection criteria for the ECR lifecycle policy:
	Selection GetLifecyclePolicyDocumentRuleSelectionPtrInput `pulumi:"selection"`
}

func (GetLifecyclePolicyDocumentRuleArgs) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleArgs) ToGetLifecyclePolicyDocumentRuleOutput added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleArgs) ToGetLifecyclePolicyDocumentRuleOutput() GetLifecyclePolicyDocumentRuleOutput

func (GetLifecyclePolicyDocumentRuleArgs) ToGetLifecyclePolicyDocumentRuleOutputWithContext added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleArgs) ToGetLifecyclePolicyDocumentRuleOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleOutput

type GetLifecyclePolicyDocumentRuleArray added in v6.30.0

type GetLifecyclePolicyDocumentRuleArray []GetLifecyclePolicyDocumentRuleInput

func (GetLifecyclePolicyDocumentRuleArray) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleArray) ToGetLifecyclePolicyDocumentRuleArrayOutput added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleArray) ToGetLifecyclePolicyDocumentRuleArrayOutput() GetLifecyclePolicyDocumentRuleArrayOutput

func (GetLifecyclePolicyDocumentRuleArray) ToGetLifecyclePolicyDocumentRuleArrayOutputWithContext added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleArray) ToGetLifecyclePolicyDocumentRuleArrayOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleArrayOutput

type GetLifecyclePolicyDocumentRuleArrayInput added in v6.30.0

type GetLifecyclePolicyDocumentRuleArrayInput interface {
	pulumi.Input

	ToGetLifecyclePolicyDocumentRuleArrayOutput() GetLifecyclePolicyDocumentRuleArrayOutput
	ToGetLifecyclePolicyDocumentRuleArrayOutputWithContext(context.Context) GetLifecyclePolicyDocumentRuleArrayOutput
}

GetLifecyclePolicyDocumentRuleArrayInput is an input type that accepts GetLifecyclePolicyDocumentRuleArray and GetLifecyclePolicyDocumentRuleArrayOutput values. You can construct a concrete instance of `GetLifecyclePolicyDocumentRuleArrayInput` via:

GetLifecyclePolicyDocumentRuleArray{ GetLifecyclePolicyDocumentRuleArgs{...} }

type GetLifecyclePolicyDocumentRuleArrayOutput added in v6.30.0

type GetLifecyclePolicyDocumentRuleArrayOutput struct{ *pulumi.OutputState }

func (GetLifecyclePolicyDocumentRuleArrayOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleArrayOutput) Index added in v6.30.0

func (GetLifecyclePolicyDocumentRuleArrayOutput) ToGetLifecyclePolicyDocumentRuleArrayOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleArrayOutput) ToGetLifecyclePolicyDocumentRuleArrayOutput() GetLifecyclePolicyDocumentRuleArrayOutput

func (GetLifecyclePolicyDocumentRuleArrayOutput) ToGetLifecyclePolicyDocumentRuleArrayOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleArrayOutput) ToGetLifecyclePolicyDocumentRuleArrayOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleArrayOutput

type GetLifecyclePolicyDocumentRuleInput added in v6.30.0

type GetLifecyclePolicyDocumentRuleInput interface {
	pulumi.Input

	ToGetLifecyclePolicyDocumentRuleOutput() GetLifecyclePolicyDocumentRuleOutput
	ToGetLifecyclePolicyDocumentRuleOutputWithContext(context.Context) GetLifecyclePolicyDocumentRuleOutput
}

GetLifecyclePolicyDocumentRuleInput is an input type that accepts GetLifecyclePolicyDocumentRuleArgs and GetLifecyclePolicyDocumentRuleOutput values. You can construct a concrete instance of `GetLifecyclePolicyDocumentRuleInput` via:

GetLifecyclePolicyDocumentRuleArgs{...}

type GetLifecyclePolicyDocumentRuleOutput added in v6.30.0

type GetLifecyclePolicyDocumentRuleOutput struct{ *pulumi.OutputState }

func (GetLifecyclePolicyDocumentRuleOutput) Action added in v6.30.0

Specifies the action type.

func (GetLifecyclePolicyDocumentRuleOutput) Description added in v6.30.0

Describes the purpose of a rule within a lifecycle policy.

func (GetLifecyclePolicyDocumentRuleOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleOutput) Priority added in v6.30.0

Sets the order in which rules are evaluated, lowest to highest. When you add rules to a lifecycle policy, you must give them each a unique value for `priority`. Values do not need to be sequential across rules in a policy. A rule with a `tagStatus` value of any must have the highest value for `priority` and be evaluated last.

func (GetLifecyclePolicyDocumentRuleOutput) Selection added in v6.30.0

Collects parameters describing the selection criteria for the ECR lifecycle policy:

func (GetLifecyclePolicyDocumentRuleOutput) ToGetLifecyclePolicyDocumentRuleOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleOutput) ToGetLifecyclePolicyDocumentRuleOutput() GetLifecyclePolicyDocumentRuleOutput

func (GetLifecyclePolicyDocumentRuleOutput) ToGetLifecyclePolicyDocumentRuleOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleOutput) ToGetLifecyclePolicyDocumentRuleOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleOutput

type GetLifecyclePolicyDocumentRuleSelection added in v6.30.0

type GetLifecyclePolicyDocumentRuleSelection struct {
	// Specify a count number. If the `countType` used is imageCountMoreThan, then the value is the maximum number of images that you want to retain in your repository. If the `countType` used is sinceImagePushed, then the value is the maximum age limit for your images.
	CountNumber int `pulumi:"countNumber"`
	// Specify a count type to apply to the images. If `countType` is set to imageCountMoreThan, you also specify `countNumber` to create a rule that sets a limit on the number of images that exist in your repository. If `countType` is set to sinceImagePushed, you also specify `countUnit` and `countNumber` to specify a time limit on the images that exist in your repository.
	CountType string `pulumi:"countType"`
	// Specify a count unit of days to indicate that as the unit of time, in addition to `countNumber`, which is the number of days.
	CountUnit *string `pulumi:"countUnit"`
	// You must specify a comma-separated list of image tag patterns that may contain wildcards (*) on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag pattern list prod* to specify all of them. If you specify multiple tags, only the images with all specified tags are selected. There is a maximum limit of four wildcards (*) per string. For example, ["*test*1*2*3", "test*1*2*3*"] is valid but ["test*1*2*3*4*5*6"] is invalid.
	TagPatternLists []string `pulumi:"tagPatternLists"`
	// You must specify a comma-separated list of image tag prefixes on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag prefix prod to specify all of them. If you specify multiple tags, only images with all specified tags are selected.
	TagPrefixLists []string `pulumi:"tagPrefixLists"`
	// Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are tagged, untagged, or any. If you specify any, then all images have the rule applied to them. If you specify tagged, then you must also specify a `tagPrefixList` value. If you specify untagged, then you must omit `tagPrefixList`.
	TagStatus string `pulumi:"tagStatus"`
}

type GetLifecyclePolicyDocumentRuleSelectionArgs added in v6.30.0

type GetLifecyclePolicyDocumentRuleSelectionArgs struct {
	// Specify a count number. If the `countType` used is imageCountMoreThan, then the value is the maximum number of images that you want to retain in your repository. If the `countType` used is sinceImagePushed, then the value is the maximum age limit for your images.
	CountNumber pulumi.IntInput `pulumi:"countNumber"`
	// Specify a count type to apply to the images. If `countType` is set to imageCountMoreThan, you also specify `countNumber` to create a rule that sets a limit on the number of images that exist in your repository. If `countType` is set to sinceImagePushed, you also specify `countUnit` and `countNumber` to specify a time limit on the images that exist in your repository.
	CountType pulumi.StringInput `pulumi:"countType"`
	// Specify a count unit of days to indicate that as the unit of time, in addition to `countNumber`, which is the number of days.
	CountUnit pulumi.StringPtrInput `pulumi:"countUnit"`
	// You must specify a comma-separated list of image tag patterns that may contain wildcards (*) on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag pattern list prod* to specify all of them. If you specify multiple tags, only the images with all specified tags are selected. There is a maximum limit of four wildcards (*) per string. For example, ["*test*1*2*3", "test*1*2*3*"] is valid but ["test*1*2*3*4*5*6"] is invalid.
	TagPatternLists pulumi.StringArrayInput `pulumi:"tagPatternLists"`
	// You must specify a comma-separated list of image tag prefixes on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag prefix prod to specify all of them. If you specify multiple tags, only images with all specified tags are selected.
	TagPrefixLists pulumi.StringArrayInput `pulumi:"tagPrefixLists"`
	// Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are tagged, untagged, or any. If you specify any, then all images have the rule applied to them. If you specify tagged, then you must also specify a `tagPrefixList` value. If you specify untagged, then you must omit `tagPrefixList`.
	TagStatus pulumi.StringInput `pulumi:"tagStatus"`
}

func (GetLifecyclePolicyDocumentRuleSelectionArgs) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionOutput added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionOutput() GetLifecyclePolicyDocumentRuleSelectionOutput

func (GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionOutputWithContext added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleSelectionOutput

func (GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput() GetLifecyclePolicyDocumentRuleSelectionPtrOutput

func (GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext added in v6.30.0

func (i GetLifecyclePolicyDocumentRuleSelectionArgs) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleSelectionPtrOutput

type GetLifecyclePolicyDocumentRuleSelectionInput added in v6.30.0

type GetLifecyclePolicyDocumentRuleSelectionInput interface {
	pulumi.Input

	ToGetLifecyclePolicyDocumentRuleSelectionOutput() GetLifecyclePolicyDocumentRuleSelectionOutput
	ToGetLifecyclePolicyDocumentRuleSelectionOutputWithContext(context.Context) GetLifecyclePolicyDocumentRuleSelectionOutput
}

GetLifecyclePolicyDocumentRuleSelectionInput is an input type that accepts GetLifecyclePolicyDocumentRuleSelectionArgs and GetLifecyclePolicyDocumentRuleSelectionOutput values. You can construct a concrete instance of `GetLifecyclePolicyDocumentRuleSelectionInput` via:

GetLifecyclePolicyDocumentRuleSelectionArgs{...}

type GetLifecyclePolicyDocumentRuleSelectionOutput added in v6.30.0

type GetLifecyclePolicyDocumentRuleSelectionOutput struct{ *pulumi.OutputState }

func (GetLifecyclePolicyDocumentRuleSelectionOutput) CountNumber added in v6.30.0

Specify a count number. If the `countType` used is imageCountMoreThan, then the value is the maximum number of images that you want to retain in your repository. If the `countType` used is sinceImagePushed, then the value is the maximum age limit for your images.

func (GetLifecyclePolicyDocumentRuleSelectionOutput) CountType added in v6.30.0

Specify a count type to apply to the images. If `countType` is set to imageCountMoreThan, you also specify `countNumber` to create a rule that sets a limit on the number of images that exist in your repository. If `countType` is set to sinceImagePushed, you also specify `countUnit` and `countNumber` to specify a time limit on the images that exist in your repository.

func (GetLifecyclePolicyDocumentRuleSelectionOutput) CountUnit added in v6.30.0

Specify a count unit of days to indicate that as the unit of time, in addition to `countNumber`, which is the number of days.

func (GetLifecyclePolicyDocumentRuleSelectionOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleSelectionOutput) TagPatternLists added in v6.30.0

You must specify a comma-separated list of image tag patterns that may contain wildcards (*) on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag pattern list prod* to specify all of them. If you specify multiple tags, only the images with all specified tags are selected. There is a maximum limit of four wildcards (*) per string. For example, ["*test*1*2*3", "test*1*2*3*"] is valid but ["test*1*2*3*4*5*6"] is invalid.

func (GetLifecyclePolicyDocumentRuleSelectionOutput) TagPrefixLists added in v6.30.0

You must specify a comma-separated list of image tag prefixes on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag prefix prod to specify all of them. If you specify multiple tags, only images with all specified tags are selected.

func (GetLifecyclePolicyDocumentRuleSelectionOutput) TagStatus added in v6.30.0

Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are tagged, untagged, or any. If you specify any, then all images have the rule applied to them. If you specify tagged, then you must also specify a `tagPrefixList` value. If you specify untagged, then you must omit `tagPrefixList`.

func (GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionOutput() GetLifecyclePolicyDocumentRuleSelectionOutput

func (GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleSelectionOutput

func (GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput() GetLifecyclePolicyDocumentRuleSelectionPtrOutput

func (GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleSelectionOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleSelectionPtrOutput

type GetLifecyclePolicyDocumentRuleSelectionPtrInput added in v6.30.0

type GetLifecyclePolicyDocumentRuleSelectionPtrInput interface {
	pulumi.Input

	ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput() GetLifecyclePolicyDocumentRuleSelectionPtrOutput
	ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext(context.Context) GetLifecyclePolicyDocumentRuleSelectionPtrOutput
}

GetLifecyclePolicyDocumentRuleSelectionPtrInput is an input type that accepts GetLifecyclePolicyDocumentRuleSelectionArgs, GetLifecyclePolicyDocumentRuleSelectionPtr and GetLifecyclePolicyDocumentRuleSelectionPtrOutput values. You can construct a concrete instance of `GetLifecyclePolicyDocumentRuleSelectionPtrInput` via:

        GetLifecyclePolicyDocumentRuleSelectionArgs{...}

or:

        nil

type GetLifecyclePolicyDocumentRuleSelectionPtrOutput added in v6.30.0

type GetLifecyclePolicyDocumentRuleSelectionPtrOutput struct{ *pulumi.OutputState }

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) CountNumber added in v6.30.0

Specify a count number. If the `countType` used is imageCountMoreThan, then the value is the maximum number of images that you want to retain in your repository. If the `countType` used is sinceImagePushed, then the value is the maximum age limit for your images.

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) CountType added in v6.30.0

Specify a count type to apply to the images. If `countType` is set to imageCountMoreThan, you also specify `countNumber` to create a rule that sets a limit on the number of images that exist in your repository. If `countType` is set to sinceImagePushed, you also specify `countUnit` and `countNumber` to specify a time limit on the images that exist in your repository.

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) CountUnit added in v6.30.0

Specify a count unit of days to indicate that as the unit of time, in addition to `countNumber`, which is the number of days.

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) Elem added in v6.30.0

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) ElementType added in v6.30.0

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) TagPatternLists added in v6.30.0

You must specify a comma-separated list of image tag patterns that may contain wildcards (*) on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag pattern list prod* to specify all of them. If you specify multiple tags, only the images with all specified tags are selected. There is a maximum limit of four wildcards (*) per string. For example, ["*test*1*2*3", "test*1*2*3*"] is valid but ["test*1*2*3*4*5*6"] is invalid.

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) TagPrefixLists added in v6.30.0

You must specify a comma-separated list of image tag prefixes on which to take action with your lifecycle policy. For example, if your images are tagged as prod, prod1, prod2, and so on, you would use the tag prefix prod to specify all of them. If you specify multiple tags, only images with all specified tags are selected.

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) TagStatus added in v6.30.0

Determines whether the lifecycle policy rule that you are adding specifies a tag for an image. Acceptable options are tagged, untagged, or any. If you specify any, then all images have the rule applied to them. If you specify tagged, then you must also specify a `tagPrefixList` value. If you specify untagged, then you must omit `tagPrefixList`.

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleSelectionPtrOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutput() GetLifecyclePolicyDocumentRuleSelectionPtrOutput

func (GetLifecyclePolicyDocumentRuleSelectionPtrOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext added in v6.30.0

func (o GetLifecyclePolicyDocumentRuleSelectionPtrOutput) ToGetLifecyclePolicyDocumentRuleSelectionPtrOutputWithContext(ctx context.Context) GetLifecyclePolicyDocumentRuleSelectionPtrOutput

type GetRepositoriesResult added in v6.14.0

type GetRepositoriesResult struct {
	// AWS Region.
	Id string `pulumi:"id"`
	// A list if AWS Elastic Container Registries for the region.
	Names []string `pulumi:"names"`
}

A collection of values returned by getRepositories.

func GetRepositories added in v6.14.0

func GetRepositories(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetRepositoriesResult, error)

Data source for providing information on AWS ECR (Elastic Container Registry) Repositories.

## Example Usage

### Basic Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.GetRepositories(ctx, nil, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetRepositoriesResultOutput added in v6.14.0

type GetRepositoriesResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRepositories.

func GetRepositoriesOutput added in v6.14.0

func GetRepositoriesOutput(ctx *pulumi.Context, opts ...pulumi.InvokeOption) GetRepositoriesResultOutput

func (GetRepositoriesResultOutput) ElementType added in v6.14.0

func (GetRepositoriesResultOutput) Id added in v6.14.0

AWS Region.

func (GetRepositoriesResultOutput) Names added in v6.14.0

A list if AWS Elastic Container Registries for the region.

func (GetRepositoriesResultOutput) ToGetRepositoriesResultOutput added in v6.14.0

func (o GetRepositoriesResultOutput) ToGetRepositoriesResultOutput() GetRepositoriesResultOutput

func (GetRepositoriesResultOutput) ToGetRepositoriesResultOutputWithContext added in v6.14.0

func (o GetRepositoriesResultOutput) ToGetRepositoriesResultOutputWithContext(ctx context.Context) GetRepositoriesResultOutput

type GetRepositoryEncryptionConfiguration

type GetRepositoryEncryptionConfiguration struct {
	// Encryption type to use for the repository, either `AES256` or `KMS`.
	EncryptionType string `pulumi:"encryptionType"`
	// If `encryptionType` is `KMS`, the ARN of the KMS key used.
	KmsKey string `pulumi:"kmsKey"`
}

type GetRepositoryEncryptionConfigurationArgs

type GetRepositoryEncryptionConfigurationArgs struct {
	// Encryption type to use for the repository, either `AES256` or `KMS`.
	EncryptionType pulumi.StringInput `pulumi:"encryptionType"`
	// If `encryptionType` is `KMS`, the ARN of the KMS key used.
	KmsKey pulumi.StringInput `pulumi:"kmsKey"`
}

func (GetRepositoryEncryptionConfigurationArgs) ElementType

func (GetRepositoryEncryptionConfigurationArgs) ToGetRepositoryEncryptionConfigurationOutput

func (i GetRepositoryEncryptionConfigurationArgs) ToGetRepositoryEncryptionConfigurationOutput() GetRepositoryEncryptionConfigurationOutput

func (GetRepositoryEncryptionConfigurationArgs) ToGetRepositoryEncryptionConfigurationOutputWithContext

func (i GetRepositoryEncryptionConfigurationArgs) ToGetRepositoryEncryptionConfigurationOutputWithContext(ctx context.Context) GetRepositoryEncryptionConfigurationOutput

type GetRepositoryEncryptionConfigurationArray

type GetRepositoryEncryptionConfigurationArray []GetRepositoryEncryptionConfigurationInput

func (GetRepositoryEncryptionConfigurationArray) ElementType

func (GetRepositoryEncryptionConfigurationArray) ToGetRepositoryEncryptionConfigurationArrayOutput

func (i GetRepositoryEncryptionConfigurationArray) ToGetRepositoryEncryptionConfigurationArrayOutput() GetRepositoryEncryptionConfigurationArrayOutput

func (GetRepositoryEncryptionConfigurationArray) ToGetRepositoryEncryptionConfigurationArrayOutputWithContext

func (i GetRepositoryEncryptionConfigurationArray) ToGetRepositoryEncryptionConfigurationArrayOutputWithContext(ctx context.Context) GetRepositoryEncryptionConfigurationArrayOutput

type GetRepositoryEncryptionConfigurationArrayInput

type GetRepositoryEncryptionConfigurationArrayInput interface {
	pulumi.Input

	ToGetRepositoryEncryptionConfigurationArrayOutput() GetRepositoryEncryptionConfigurationArrayOutput
	ToGetRepositoryEncryptionConfigurationArrayOutputWithContext(context.Context) GetRepositoryEncryptionConfigurationArrayOutput
}

GetRepositoryEncryptionConfigurationArrayInput is an input type that accepts GetRepositoryEncryptionConfigurationArray and GetRepositoryEncryptionConfigurationArrayOutput values. You can construct a concrete instance of `GetRepositoryEncryptionConfigurationArrayInput` via:

GetRepositoryEncryptionConfigurationArray{ GetRepositoryEncryptionConfigurationArgs{...} }

type GetRepositoryEncryptionConfigurationArrayOutput

type GetRepositoryEncryptionConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetRepositoryEncryptionConfigurationArrayOutput) ElementType

func (GetRepositoryEncryptionConfigurationArrayOutput) Index

func (GetRepositoryEncryptionConfigurationArrayOutput) ToGetRepositoryEncryptionConfigurationArrayOutput

func (o GetRepositoryEncryptionConfigurationArrayOutput) ToGetRepositoryEncryptionConfigurationArrayOutput() GetRepositoryEncryptionConfigurationArrayOutput

func (GetRepositoryEncryptionConfigurationArrayOutput) ToGetRepositoryEncryptionConfigurationArrayOutputWithContext

func (o GetRepositoryEncryptionConfigurationArrayOutput) ToGetRepositoryEncryptionConfigurationArrayOutputWithContext(ctx context.Context) GetRepositoryEncryptionConfigurationArrayOutput

type GetRepositoryEncryptionConfigurationInput

type GetRepositoryEncryptionConfigurationInput interface {
	pulumi.Input

	ToGetRepositoryEncryptionConfigurationOutput() GetRepositoryEncryptionConfigurationOutput
	ToGetRepositoryEncryptionConfigurationOutputWithContext(context.Context) GetRepositoryEncryptionConfigurationOutput
}

GetRepositoryEncryptionConfigurationInput is an input type that accepts GetRepositoryEncryptionConfigurationArgs and GetRepositoryEncryptionConfigurationOutput values. You can construct a concrete instance of `GetRepositoryEncryptionConfigurationInput` via:

GetRepositoryEncryptionConfigurationArgs{...}

type GetRepositoryEncryptionConfigurationOutput

type GetRepositoryEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (GetRepositoryEncryptionConfigurationOutput) ElementType

func (GetRepositoryEncryptionConfigurationOutput) EncryptionType

Encryption type to use for the repository, either `AES256` or `KMS`.

func (GetRepositoryEncryptionConfigurationOutput) KmsKey

If `encryptionType` is `KMS`, the ARN of the KMS key used.

func (GetRepositoryEncryptionConfigurationOutput) ToGetRepositoryEncryptionConfigurationOutput

func (o GetRepositoryEncryptionConfigurationOutput) ToGetRepositoryEncryptionConfigurationOutput() GetRepositoryEncryptionConfigurationOutput

func (GetRepositoryEncryptionConfigurationOutput) ToGetRepositoryEncryptionConfigurationOutputWithContext

func (o GetRepositoryEncryptionConfigurationOutput) ToGetRepositoryEncryptionConfigurationOutputWithContext(ctx context.Context) GetRepositoryEncryptionConfigurationOutput

type GetRepositoryImageScanningConfiguration

type GetRepositoryImageScanningConfiguration struct {
	// Whether images are scanned after being pushed to the repository.
	ScanOnPush bool `pulumi:"scanOnPush"`
}

type GetRepositoryImageScanningConfigurationArgs

type GetRepositoryImageScanningConfigurationArgs struct {
	// Whether images are scanned after being pushed to the repository.
	ScanOnPush pulumi.BoolInput `pulumi:"scanOnPush"`
}

func (GetRepositoryImageScanningConfigurationArgs) ElementType

func (GetRepositoryImageScanningConfigurationArgs) ToGetRepositoryImageScanningConfigurationOutput

func (i GetRepositoryImageScanningConfigurationArgs) ToGetRepositoryImageScanningConfigurationOutput() GetRepositoryImageScanningConfigurationOutput

func (GetRepositoryImageScanningConfigurationArgs) ToGetRepositoryImageScanningConfigurationOutputWithContext

func (i GetRepositoryImageScanningConfigurationArgs) ToGetRepositoryImageScanningConfigurationOutputWithContext(ctx context.Context) GetRepositoryImageScanningConfigurationOutput

type GetRepositoryImageScanningConfigurationArray

type GetRepositoryImageScanningConfigurationArray []GetRepositoryImageScanningConfigurationInput

func (GetRepositoryImageScanningConfigurationArray) ElementType

func (GetRepositoryImageScanningConfigurationArray) ToGetRepositoryImageScanningConfigurationArrayOutput

func (i GetRepositoryImageScanningConfigurationArray) ToGetRepositoryImageScanningConfigurationArrayOutput() GetRepositoryImageScanningConfigurationArrayOutput

func (GetRepositoryImageScanningConfigurationArray) ToGetRepositoryImageScanningConfigurationArrayOutputWithContext

func (i GetRepositoryImageScanningConfigurationArray) ToGetRepositoryImageScanningConfigurationArrayOutputWithContext(ctx context.Context) GetRepositoryImageScanningConfigurationArrayOutput

type GetRepositoryImageScanningConfigurationArrayInput

type GetRepositoryImageScanningConfigurationArrayInput interface {
	pulumi.Input

	ToGetRepositoryImageScanningConfigurationArrayOutput() GetRepositoryImageScanningConfigurationArrayOutput
	ToGetRepositoryImageScanningConfigurationArrayOutputWithContext(context.Context) GetRepositoryImageScanningConfigurationArrayOutput
}

GetRepositoryImageScanningConfigurationArrayInput is an input type that accepts GetRepositoryImageScanningConfigurationArray and GetRepositoryImageScanningConfigurationArrayOutput values. You can construct a concrete instance of `GetRepositoryImageScanningConfigurationArrayInput` via:

GetRepositoryImageScanningConfigurationArray{ GetRepositoryImageScanningConfigurationArgs{...} }

type GetRepositoryImageScanningConfigurationArrayOutput

type GetRepositoryImageScanningConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetRepositoryImageScanningConfigurationArrayOutput) ElementType

func (GetRepositoryImageScanningConfigurationArrayOutput) Index

func (GetRepositoryImageScanningConfigurationArrayOutput) ToGetRepositoryImageScanningConfigurationArrayOutput

func (o GetRepositoryImageScanningConfigurationArrayOutput) ToGetRepositoryImageScanningConfigurationArrayOutput() GetRepositoryImageScanningConfigurationArrayOutput

func (GetRepositoryImageScanningConfigurationArrayOutput) ToGetRepositoryImageScanningConfigurationArrayOutputWithContext

func (o GetRepositoryImageScanningConfigurationArrayOutput) ToGetRepositoryImageScanningConfigurationArrayOutputWithContext(ctx context.Context) GetRepositoryImageScanningConfigurationArrayOutput

type GetRepositoryImageScanningConfigurationInput

type GetRepositoryImageScanningConfigurationInput interface {
	pulumi.Input

	ToGetRepositoryImageScanningConfigurationOutput() GetRepositoryImageScanningConfigurationOutput
	ToGetRepositoryImageScanningConfigurationOutputWithContext(context.Context) GetRepositoryImageScanningConfigurationOutput
}

GetRepositoryImageScanningConfigurationInput is an input type that accepts GetRepositoryImageScanningConfigurationArgs and GetRepositoryImageScanningConfigurationOutput values. You can construct a concrete instance of `GetRepositoryImageScanningConfigurationInput` via:

GetRepositoryImageScanningConfigurationArgs{...}

type GetRepositoryImageScanningConfigurationOutput

type GetRepositoryImageScanningConfigurationOutput struct{ *pulumi.OutputState }

func (GetRepositoryImageScanningConfigurationOutput) ElementType

func (GetRepositoryImageScanningConfigurationOutput) ScanOnPush

Whether images are scanned after being pushed to the repository.

func (GetRepositoryImageScanningConfigurationOutput) ToGetRepositoryImageScanningConfigurationOutput

func (o GetRepositoryImageScanningConfigurationOutput) ToGetRepositoryImageScanningConfigurationOutput() GetRepositoryImageScanningConfigurationOutput

func (GetRepositoryImageScanningConfigurationOutput) ToGetRepositoryImageScanningConfigurationOutputWithContext

func (o GetRepositoryImageScanningConfigurationOutput) ToGetRepositoryImageScanningConfigurationOutputWithContext(ctx context.Context) GetRepositoryImageScanningConfigurationOutput

type LifecyclePolicy

type LifecyclePolicy struct {
	pulumi.CustomResourceState

	// The policy document. This is a JSON formatted string. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs. Consider using the `ecr.getLifecyclePolicyDocument` dataSource to generate/manage the JSON document used for the `policy` argument.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The registry ID where the repository was created.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
	// Name of the repository to apply the policy.
	Repository pulumi.StringOutput `pulumi:"repository"`
}

Manages an ECR repository lifecycle policy.

> **NOTE:** Only one `ecr.LifecyclePolicy` resource can be used with the same ECR repository. To apply multiple rules, they must be combined in the `policy` JSON.

> **NOTE:** The AWS ECR API seems to reorder rules based on `rulePriority`. If you define multiple rules that are not sorted in ascending `rulePriority` order in the this provider code, the resource will be flagged for recreation every deployment.

## Example Usage

### Policy on untagged image

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ecr.NewRepository(ctx, "example", &ecr.RepositoryArgs{
			Name: pulumi.String("example-repo"),
		})
		if err != nil {
			return err
		}
		_, err = ecr.NewLifecyclePolicy(ctx, "example", &ecr.LifecyclePolicyArgs{
			Repository: example.Name,
			Policy: pulumi.Any(`{
    "rules": [
        {
            "rulePriority": 1,
            "description": "Expire images older than 14 days",
            "selection": {
                "tagStatus": "untagged",
                "countType": "sinceImagePushed",
                "countUnit": "days",
                "countNumber": 14
            },
            "action": {
                "type": "expire"
            }
        }
    ]
}

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Policy on tagged image

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := ecr.NewRepository(ctx, "example", &ecr.RepositoryArgs{
			Name: pulumi.String("example-repo"),
		})
		if err != nil {
			return err
		}
		_, err = ecr.NewLifecyclePolicy(ctx, "example", &ecr.LifecyclePolicyArgs{
			Repository: example.Name,
			Policy: pulumi.Any(`{
    "rules": [
        {
            "rulePriority": 1,
            "description": "Keep last 30 images",
            "selection": {
                "tagStatus": "tagged",
                "tagPrefixList": ["v"],
                "countType": "imageCountMoreThan",
                "countNumber": 30
            },
            "action": {
                "type": "expire"
            }
        }
    ]
}

`),

		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ECR Lifecycle Policy using the name of the repository. For example:

```sh $ pulumi import aws:ecr/lifecyclePolicy:LifecyclePolicy example tf-example ```

func GetLifecyclePolicy

func GetLifecyclePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LifecyclePolicyState, opts ...pulumi.ResourceOption) (*LifecyclePolicy, error)

GetLifecyclePolicy gets an existing LifecyclePolicy 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 NewLifecyclePolicy

func NewLifecyclePolicy(ctx *pulumi.Context,
	name string, args *LifecyclePolicyArgs, opts ...pulumi.ResourceOption) (*LifecyclePolicy, error)

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

func (*LifecyclePolicy) ElementType

func (*LifecyclePolicy) ElementType() reflect.Type

func (*LifecyclePolicy) ToLifecyclePolicyOutput

func (i *LifecyclePolicy) ToLifecyclePolicyOutput() LifecyclePolicyOutput

func (*LifecyclePolicy) ToLifecyclePolicyOutputWithContext

func (i *LifecyclePolicy) ToLifecyclePolicyOutputWithContext(ctx context.Context) LifecyclePolicyOutput

type LifecyclePolicyArgs

type LifecyclePolicyArgs struct {
	// The policy document. This is a JSON formatted string. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs. Consider using the `ecr.getLifecyclePolicyDocument` dataSource to generate/manage the JSON document used for the `policy` argument.
	Policy pulumi.Input
	// Name of the repository to apply the policy.
	Repository pulumi.StringInput
}

The set of arguments for constructing a LifecyclePolicy resource.

func (LifecyclePolicyArgs) ElementType

func (LifecyclePolicyArgs) ElementType() reflect.Type

type LifecyclePolicyArray

type LifecyclePolicyArray []LifecyclePolicyInput

func (LifecyclePolicyArray) ElementType

func (LifecyclePolicyArray) ElementType() reflect.Type

func (LifecyclePolicyArray) ToLifecyclePolicyArrayOutput

func (i LifecyclePolicyArray) ToLifecyclePolicyArrayOutput() LifecyclePolicyArrayOutput

func (LifecyclePolicyArray) ToLifecyclePolicyArrayOutputWithContext

func (i LifecyclePolicyArray) ToLifecyclePolicyArrayOutputWithContext(ctx context.Context) LifecyclePolicyArrayOutput

type LifecyclePolicyArrayInput

type LifecyclePolicyArrayInput interface {
	pulumi.Input

	ToLifecyclePolicyArrayOutput() LifecyclePolicyArrayOutput
	ToLifecyclePolicyArrayOutputWithContext(context.Context) LifecyclePolicyArrayOutput
}

LifecyclePolicyArrayInput is an input type that accepts LifecyclePolicyArray and LifecyclePolicyArrayOutput values. You can construct a concrete instance of `LifecyclePolicyArrayInput` via:

LifecyclePolicyArray{ LifecyclePolicyArgs{...} }

type LifecyclePolicyArrayOutput

type LifecyclePolicyArrayOutput struct{ *pulumi.OutputState }

func (LifecyclePolicyArrayOutput) ElementType

func (LifecyclePolicyArrayOutput) ElementType() reflect.Type

func (LifecyclePolicyArrayOutput) Index

func (LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutput

func (o LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutput() LifecyclePolicyArrayOutput

func (LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutputWithContext

func (o LifecyclePolicyArrayOutput) ToLifecyclePolicyArrayOutputWithContext(ctx context.Context) LifecyclePolicyArrayOutput

type LifecyclePolicyInput

type LifecyclePolicyInput interface {
	pulumi.Input

	ToLifecyclePolicyOutput() LifecyclePolicyOutput
	ToLifecyclePolicyOutputWithContext(ctx context.Context) LifecyclePolicyOutput
}

type LifecyclePolicyMap

type LifecyclePolicyMap map[string]LifecyclePolicyInput

func (LifecyclePolicyMap) ElementType

func (LifecyclePolicyMap) ElementType() reflect.Type

func (LifecyclePolicyMap) ToLifecyclePolicyMapOutput

func (i LifecyclePolicyMap) ToLifecyclePolicyMapOutput() LifecyclePolicyMapOutput

func (LifecyclePolicyMap) ToLifecyclePolicyMapOutputWithContext

func (i LifecyclePolicyMap) ToLifecyclePolicyMapOutputWithContext(ctx context.Context) LifecyclePolicyMapOutput

type LifecyclePolicyMapInput

type LifecyclePolicyMapInput interface {
	pulumi.Input

	ToLifecyclePolicyMapOutput() LifecyclePolicyMapOutput
	ToLifecyclePolicyMapOutputWithContext(context.Context) LifecyclePolicyMapOutput
}

LifecyclePolicyMapInput is an input type that accepts LifecyclePolicyMap and LifecyclePolicyMapOutput values. You can construct a concrete instance of `LifecyclePolicyMapInput` via:

LifecyclePolicyMap{ "key": LifecyclePolicyArgs{...} }

type LifecyclePolicyMapOutput

type LifecyclePolicyMapOutput struct{ *pulumi.OutputState }

func (LifecyclePolicyMapOutput) ElementType

func (LifecyclePolicyMapOutput) ElementType() reflect.Type

func (LifecyclePolicyMapOutput) MapIndex

func (LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutput

func (o LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutput() LifecyclePolicyMapOutput

func (LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutputWithContext

func (o LifecyclePolicyMapOutput) ToLifecyclePolicyMapOutputWithContext(ctx context.Context) LifecyclePolicyMapOutput

type LifecyclePolicyOutput

type LifecyclePolicyOutput struct{ *pulumi.OutputState }

func (LifecyclePolicyOutput) ElementType

func (LifecyclePolicyOutput) ElementType() reflect.Type

func (LifecyclePolicyOutput) Policy

The policy document. This is a JSON formatted string. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs. Consider using the `ecr.getLifecyclePolicyDocument` dataSource to generate/manage the JSON document used for the `policy` argument.

func (LifecyclePolicyOutput) RegistryId

func (o LifecyclePolicyOutput) RegistryId() pulumi.StringOutput

The registry ID where the repository was created.

func (LifecyclePolicyOutput) Repository

func (o LifecyclePolicyOutput) Repository() pulumi.StringOutput

Name of the repository to apply the policy.

func (LifecyclePolicyOutput) ToLifecyclePolicyOutput

func (o LifecyclePolicyOutput) ToLifecyclePolicyOutput() LifecyclePolicyOutput

func (LifecyclePolicyOutput) ToLifecyclePolicyOutputWithContext

func (o LifecyclePolicyOutput) ToLifecyclePolicyOutputWithContext(ctx context.Context) LifecyclePolicyOutput

type LifecyclePolicyState

type LifecyclePolicyState struct {
	// The policy document. This is a JSON formatted string. See more details about [Policy Parameters](http://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html#lifecycle_policy_parameters) in the official AWS docs. Consider using the `ecr.getLifecyclePolicyDocument` dataSource to generate/manage the JSON document used for the `policy` argument.
	Policy pulumi.Input
	// The registry ID where the repository was created.
	RegistryId pulumi.StringPtrInput
	// Name of the repository to apply the policy.
	Repository pulumi.StringPtrInput
}

func (LifecyclePolicyState) ElementType

func (LifecyclePolicyState) ElementType() reflect.Type

type LookupPullThroughCacheRuleArgs

type LookupPullThroughCacheRuleArgs struct {
	// The repository name prefix to use when caching images from the source registry.
	EcrRepositoryPrefix string `pulumi:"ecrRepositoryPrefix"`
}

A collection of arguments for invoking getPullThroughCacheRule.

type LookupPullThroughCacheRuleOutputArgs

type LookupPullThroughCacheRuleOutputArgs struct {
	// The repository name prefix to use when caching images from the source registry.
	EcrRepositoryPrefix pulumi.StringInput `pulumi:"ecrRepositoryPrefix"`
}

A collection of arguments for invoking getPullThroughCacheRule.

func (LookupPullThroughCacheRuleOutputArgs) ElementType

type LookupPullThroughCacheRuleResult

type LookupPullThroughCacheRuleResult struct {
	// ARN of the Secret which will be used to authenticate against the registry.
	CredentialArn       string `pulumi:"credentialArn"`
	EcrRepositoryPrefix string `pulumi:"ecrRepositoryPrefix"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The registry ID where the repository was created.
	RegistryId string `pulumi:"registryId"`
	// The registry URL of the upstream public registry to use as the source.
	UpstreamRegistryUrl string `pulumi:"upstreamRegistryUrl"`
}

A collection of values returned by getPullThroughCacheRule.

func LookupPullThroughCacheRule

func LookupPullThroughCacheRule(ctx *pulumi.Context, args *LookupPullThroughCacheRuleArgs, opts ...pulumi.InvokeOption) (*LookupPullThroughCacheRuleResult, error)

The ECR Pull Through Cache Rule data source allows the upstream registry URL and registry ID to be retrieved for a Pull Through Cache Rule.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.LookupPullThroughCacheRule(ctx, &ecr.LookupPullThroughCacheRuleArgs{
			EcrRepositoryPrefix: "ecr-public",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupPullThroughCacheRuleResultOutput

type LookupPullThroughCacheRuleResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getPullThroughCacheRule.

func (LookupPullThroughCacheRuleResultOutput) CredentialArn added in v6.23.0

ARN of the Secret which will be used to authenticate against the registry.

func (LookupPullThroughCacheRuleResultOutput) EcrRepositoryPrefix

func (LookupPullThroughCacheRuleResultOutput) ElementType

func (LookupPullThroughCacheRuleResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupPullThroughCacheRuleResultOutput) RegistryId

The registry ID where the repository was created.

func (LookupPullThroughCacheRuleResultOutput) ToLookupPullThroughCacheRuleResultOutput

func (o LookupPullThroughCacheRuleResultOutput) ToLookupPullThroughCacheRuleResultOutput() LookupPullThroughCacheRuleResultOutput

func (LookupPullThroughCacheRuleResultOutput) ToLookupPullThroughCacheRuleResultOutputWithContext

func (o LookupPullThroughCacheRuleResultOutput) ToLookupPullThroughCacheRuleResultOutputWithContext(ctx context.Context) LookupPullThroughCacheRuleResultOutput

func (LookupPullThroughCacheRuleResultOutput) UpstreamRegistryUrl

The registry URL of the upstream public registry to use as the source.

type LookupRepositoryArgs

type LookupRepositoryArgs struct {
	// Name of the ECR Repository.
	Name string `pulumi:"name"`
	// Registry ID where the repository was created.
	RegistryId *string `pulumi:"registryId"`
	// Map of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getRepository.

type LookupRepositoryOutputArgs

type LookupRepositoryOutputArgs struct {
	// Name of the ECR Repository.
	Name pulumi.StringInput `pulumi:"name"`
	// Registry ID where the repository was created.
	RegistryId pulumi.StringPtrInput `pulumi:"registryId"`
	// Map of tags assigned to the resource.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getRepository.

func (LookupRepositoryOutputArgs) ElementType

func (LookupRepositoryOutputArgs) ElementType() reflect.Type

type LookupRepositoryResult

type LookupRepositoryResult struct {
	// Full ARN of the repository.
	Arn string `pulumi:"arn"`
	// Encryption configuration for the repository. See Encryption Configuration below.
	EncryptionConfigurations []GetRepositoryEncryptionConfiguration `pulumi:"encryptionConfigurations"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Configuration block that defines image scanning configuration for the repository. See Image Scanning Configuration below.
	ImageScanningConfigurations []GetRepositoryImageScanningConfiguration `pulumi:"imageScanningConfigurations"`
	// The tag mutability setting for the repository.
	ImageTagMutability string `pulumi:"imageTagMutability"`
	// List of image tags associated with the most recently pushed image in the repository.
	MostRecentImageTags []string `pulumi:"mostRecentImageTags"`
	Name                string   `pulumi:"name"`
	RegistryId          string   `pulumi:"registryId"`
	// URL of the repository (in the form `aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName`).
	RepositoryUrl string `pulumi:"repositoryUrl"`
	// Map of tags assigned to the resource.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getRepository.

func LookupRepository

func LookupRepository(ctx *pulumi.Context, args *LookupRepositoryArgs, opts ...pulumi.InvokeOption) (*LookupRepositoryResult, error)

The ECR Repository data source allows the ARN, Repository URI and Registry ID to be retrieved for an ECR repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.LookupRepository(ctx, &ecr.LookupRepositoryArgs{
			Name: "ecr-repository",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupRepositoryResultOutput

type LookupRepositoryResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getRepository.

func (LookupRepositoryResultOutput) Arn

Full ARN of the repository.

func (LookupRepositoryResultOutput) ElementType

func (LookupRepositoryResultOutput) EncryptionConfigurations

Encryption configuration for the repository. See Encryption Configuration below.

func (LookupRepositoryResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupRepositoryResultOutput) ImageScanningConfigurations

Configuration block that defines image scanning configuration for the repository. See Image Scanning Configuration below.

func (LookupRepositoryResultOutput) ImageTagMutability

func (o LookupRepositoryResultOutput) ImageTagMutability() pulumi.StringOutput

The tag mutability setting for the repository.

func (LookupRepositoryResultOutput) MostRecentImageTags

func (o LookupRepositoryResultOutput) MostRecentImageTags() pulumi.StringArrayOutput

List of image tags associated with the most recently pushed image in the repository.

func (LookupRepositoryResultOutput) Name

func (LookupRepositoryResultOutput) RegistryId

func (LookupRepositoryResultOutput) RepositoryUrl

URL of the repository (in the form `aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName`).

func (LookupRepositoryResultOutput) Tags

Map of tags assigned to the resource.

func (LookupRepositoryResultOutput) ToLookupRepositoryResultOutput

func (o LookupRepositoryResultOutput) ToLookupRepositoryResultOutput() LookupRepositoryResultOutput

func (LookupRepositoryResultOutput) ToLookupRepositoryResultOutputWithContext

func (o LookupRepositoryResultOutput) ToLookupRepositoryResultOutputWithContext(ctx context.Context) LookupRepositoryResultOutput

type PullThroughCacheRule

type PullThroughCacheRule struct {
	pulumi.CustomResourceState

	// ARN of the Secret which will be used to authenticate against the registry.
	CredentialArn pulumi.StringPtrOutput `pulumi:"credentialArn"`
	// The repository name prefix to use when caching images from the source registry.
	EcrRepositoryPrefix pulumi.StringOutput `pulumi:"ecrRepositoryPrefix"`
	// The registry ID where the repository was created.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
	// The registry URL of the upstream public registry to use as the source.
	UpstreamRegistryUrl pulumi.StringOutput `pulumi:"upstreamRegistryUrl"`
}

Provides an Elastic Container Registry Pull Through Cache Rule.

More information about pull through cache rules, including the set of supported upstream repositories, see [Using pull through cache rules](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.NewPullThroughCacheRule(ctx, "example", &ecr.PullThroughCacheRuleArgs{
			EcrRepositoryPrefix: pulumi.String("ecr-public"),
			UpstreamRegistryUrl: pulumi.String("public.ecr.aws"),
			CredentialArn:       pulumi.String("arn:aws:secretsmanager:us-east-1:123456789:secret:ecr-pullthroughcache/ecrpublic"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import a pull-through cache rule using the `ecr_repository_prefix`. For example:

```sh $ pulumi import aws:ecr/pullThroughCacheRule:PullThroughCacheRule example ecr-public ```

func GetPullThroughCacheRule

func GetPullThroughCacheRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PullThroughCacheRuleState, opts ...pulumi.ResourceOption) (*PullThroughCacheRule, error)

GetPullThroughCacheRule gets an existing PullThroughCacheRule 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 NewPullThroughCacheRule

func NewPullThroughCacheRule(ctx *pulumi.Context,
	name string, args *PullThroughCacheRuleArgs, opts ...pulumi.ResourceOption) (*PullThroughCacheRule, error)

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

func (*PullThroughCacheRule) ElementType

func (*PullThroughCacheRule) ElementType() reflect.Type

func (*PullThroughCacheRule) ToPullThroughCacheRuleOutput

func (i *PullThroughCacheRule) ToPullThroughCacheRuleOutput() PullThroughCacheRuleOutput

func (*PullThroughCacheRule) ToPullThroughCacheRuleOutputWithContext

func (i *PullThroughCacheRule) ToPullThroughCacheRuleOutputWithContext(ctx context.Context) PullThroughCacheRuleOutput

type PullThroughCacheRuleArgs

type PullThroughCacheRuleArgs struct {
	// ARN of the Secret which will be used to authenticate against the registry.
	CredentialArn pulumi.StringPtrInput
	// The repository name prefix to use when caching images from the source registry.
	EcrRepositoryPrefix pulumi.StringInput
	// The registry URL of the upstream public registry to use as the source.
	UpstreamRegistryUrl pulumi.StringInput
}

The set of arguments for constructing a PullThroughCacheRule resource.

func (PullThroughCacheRuleArgs) ElementType

func (PullThroughCacheRuleArgs) ElementType() reflect.Type

type PullThroughCacheRuleArray

type PullThroughCacheRuleArray []PullThroughCacheRuleInput

func (PullThroughCacheRuleArray) ElementType

func (PullThroughCacheRuleArray) ElementType() reflect.Type

func (PullThroughCacheRuleArray) ToPullThroughCacheRuleArrayOutput

func (i PullThroughCacheRuleArray) ToPullThroughCacheRuleArrayOutput() PullThroughCacheRuleArrayOutput

func (PullThroughCacheRuleArray) ToPullThroughCacheRuleArrayOutputWithContext

func (i PullThroughCacheRuleArray) ToPullThroughCacheRuleArrayOutputWithContext(ctx context.Context) PullThroughCacheRuleArrayOutput

type PullThroughCacheRuleArrayInput

type PullThroughCacheRuleArrayInput interface {
	pulumi.Input

	ToPullThroughCacheRuleArrayOutput() PullThroughCacheRuleArrayOutput
	ToPullThroughCacheRuleArrayOutputWithContext(context.Context) PullThroughCacheRuleArrayOutput
}

PullThroughCacheRuleArrayInput is an input type that accepts PullThroughCacheRuleArray and PullThroughCacheRuleArrayOutput values. You can construct a concrete instance of `PullThroughCacheRuleArrayInput` via:

PullThroughCacheRuleArray{ PullThroughCacheRuleArgs{...} }

type PullThroughCacheRuleArrayOutput

type PullThroughCacheRuleArrayOutput struct{ *pulumi.OutputState }

func (PullThroughCacheRuleArrayOutput) ElementType

func (PullThroughCacheRuleArrayOutput) Index

func (PullThroughCacheRuleArrayOutput) ToPullThroughCacheRuleArrayOutput

func (o PullThroughCacheRuleArrayOutput) ToPullThroughCacheRuleArrayOutput() PullThroughCacheRuleArrayOutput

func (PullThroughCacheRuleArrayOutput) ToPullThroughCacheRuleArrayOutputWithContext

func (o PullThroughCacheRuleArrayOutput) ToPullThroughCacheRuleArrayOutputWithContext(ctx context.Context) PullThroughCacheRuleArrayOutput

type PullThroughCacheRuleInput

type PullThroughCacheRuleInput interface {
	pulumi.Input

	ToPullThroughCacheRuleOutput() PullThroughCacheRuleOutput
	ToPullThroughCacheRuleOutputWithContext(ctx context.Context) PullThroughCacheRuleOutput
}

type PullThroughCacheRuleMap

type PullThroughCacheRuleMap map[string]PullThroughCacheRuleInput

func (PullThroughCacheRuleMap) ElementType

func (PullThroughCacheRuleMap) ElementType() reflect.Type

func (PullThroughCacheRuleMap) ToPullThroughCacheRuleMapOutput

func (i PullThroughCacheRuleMap) ToPullThroughCacheRuleMapOutput() PullThroughCacheRuleMapOutput

func (PullThroughCacheRuleMap) ToPullThroughCacheRuleMapOutputWithContext

func (i PullThroughCacheRuleMap) ToPullThroughCacheRuleMapOutputWithContext(ctx context.Context) PullThroughCacheRuleMapOutput

type PullThroughCacheRuleMapInput

type PullThroughCacheRuleMapInput interface {
	pulumi.Input

	ToPullThroughCacheRuleMapOutput() PullThroughCacheRuleMapOutput
	ToPullThroughCacheRuleMapOutputWithContext(context.Context) PullThroughCacheRuleMapOutput
}

PullThroughCacheRuleMapInput is an input type that accepts PullThroughCacheRuleMap and PullThroughCacheRuleMapOutput values. You can construct a concrete instance of `PullThroughCacheRuleMapInput` via:

PullThroughCacheRuleMap{ "key": PullThroughCacheRuleArgs{...} }

type PullThroughCacheRuleMapOutput

type PullThroughCacheRuleMapOutput struct{ *pulumi.OutputState }

func (PullThroughCacheRuleMapOutput) ElementType

func (PullThroughCacheRuleMapOutput) MapIndex

func (PullThroughCacheRuleMapOutput) ToPullThroughCacheRuleMapOutput

func (o PullThroughCacheRuleMapOutput) ToPullThroughCacheRuleMapOutput() PullThroughCacheRuleMapOutput

func (PullThroughCacheRuleMapOutput) ToPullThroughCacheRuleMapOutputWithContext

func (o PullThroughCacheRuleMapOutput) ToPullThroughCacheRuleMapOutputWithContext(ctx context.Context) PullThroughCacheRuleMapOutput

type PullThroughCacheRuleOutput

type PullThroughCacheRuleOutput struct{ *pulumi.OutputState }

func (PullThroughCacheRuleOutput) CredentialArn added in v6.23.0

ARN of the Secret which will be used to authenticate against the registry.

func (PullThroughCacheRuleOutput) EcrRepositoryPrefix

func (o PullThroughCacheRuleOutput) EcrRepositoryPrefix() pulumi.StringOutput

The repository name prefix to use when caching images from the source registry.

func (PullThroughCacheRuleOutput) ElementType

func (PullThroughCacheRuleOutput) ElementType() reflect.Type

func (PullThroughCacheRuleOutput) RegistryId

The registry ID where the repository was created.

func (PullThroughCacheRuleOutput) ToPullThroughCacheRuleOutput

func (o PullThroughCacheRuleOutput) ToPullThroughCacheRuleOutput() PullThroughCacheRuleOutput

func (PullThroughCacheRuleOutput) ToPullThroughCacheRuleOutputWithContext

func (o PullThroughCacheRuleOutput) ToPullThroughCacheRuleOutputWithContext(ctx context.Context) PullThroughCacheRuleOutput

func (PullThroughCacheRuleOutput) UpstreamRegistryUrl

func (o PullThroughCacheRuleOutput) UpstreamRegistryUrl() pulumi.StringOutput

The registry URL of the upstream public registry to use as the source.

type PullThroughCacheRuleState

type PullThroughCacheRuleState struct {
	// ARN of the Secret which will be used to authenticate against the registry.
	CredentialArn pulumi.StringPtrInput
	// The repository name prefix to use when caching images from the source registry.
	EcrRepositoryPrefix pulumi.StringPtrInput
	// The registry ID where the repository was created.
	RegistryId pulumi.StringPtrInput
	// The registry URL of the upstream public registry to use as the source.
	UpstreamRegistryUrl pulumi.StringPtrInput
}

func (PullThroughCacheRuleState) ElementType

func (PullThroughCacheRuleState) ElementType() reflect.Type

type RegistryPolicy

type RegistryPolicy struct {
	pulumi.CustomResourceState

	// The policy document. This is a JSON formatted string.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The registry ID where the registry was created.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
}

Provides an Elastic Container Registry Policy.

> **NOTE on ECR Registry Policies:** While the AWS Management Console interface may suggest the ability to define multiple policies by creating multiple statements, ECR registry policies are effectively managed as singular entities at the regional level by the AWS APIs. Therefore, the `ecr.RegistryPolicy` resource should be configured only once per region with all necessary statements defined in the same policy. Attempting to define multiple `ecr.RegistryPolicy` resources may result in perpetual differences, with one policy overriding another.

## Example Usage

```go package main

import (

"encoding/json"
"fmt"

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentGetRegion, err := aws.GetRegion(ctx, nil, nil)
		if err != nil {
			return err
		}
		currentGetPartition, err := aws.GetPartition(ctx, nil, nil)
		if err != nil {
			return err
		}
		tmpJSON0, err := json.Marshal(map[string]interface{}{
			"Version": "2012-10-17",
			"Statement": []map[string]interface{}{
				map[string]interface{}{
					"Sid":    "testpolicy",
					"Effect": "Allow",
					"Principal": map[string]interface{}{
						"AWS": fmt.Sprintf("arn:%v:iam::%v:root", currentGetPartition.Partition, current.AccountId),
					},
					"Action": []string{
						"ecr:ReplicateImage",
					},
					"Resource": []string{
						fmt.Sprintf("arn:%v:ecr:%v:%v:repository/*", currentGetPartition.Partition, currentGetRegion.Name, current.AccountId),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		json0 := string(tmpJSON0)
		_, err = ecr.NewRegistryPolicy(ctx, "example", &ecr.RegistryPolicyArgs{
			Policy: pulumi.String(json0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ECR Registry Policy using the registry id. For example:

```sh $ pulumi import aws:ecr/registryPolicy:RegistryPolicy example 123456789012 ```

func GetRegistryPolicy

func GetRegistryPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RegistryPolicyState, opts ...pulumi.ResourceOption) (*RegistryPolicy, error)

GetRegistryPolicy gets an existing RegistryPolicy 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 NewRegistryPolicy

func NewRegistryPolicy(ctx *pulumi.Context,
	name string, args *RegistryPolicyArgs, opts ...pulumi.ResourceOption) (*RegistryPolicy, error)

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

func (*RegistryPolicy) ElementType

func (*RegistryPolicy) ElementType() reflect.Type

func (*RegistryPolicy) ToRegistryPolicyOutput

func (i *RegistryPolicy) ToRegistryPolicyOutput() RegistryPolicyOutput

func (*RegistryPolicy) ToRegistryPolicyOutputWithContext

func (i *RegistryPolicy) ToRegistryPolicyOutputWithContext(ctx context.Context) RegistryPolicyOutput

type RegistryPolicyArgs

type RegistryPolicyArgs struct {
	// The policy document. This is a JSON formatted string.
	Policy pulumi.Input
}

The set of arguments for constructing a RegistryPolicy resource.

func (RegistryPolicyArgs) ElementType

func (RegistryPolicyArgs) ElementType() reflect.Type

type RegistryPolicyArray

type RegistryPolicyArray []RegistryPolicyInput

func (RegistryPolicyArray) ElementType

func (RegistryPolicyArray) ElementType() reflect.Type

func (RegistryPolicyArray) ToRegistryPolicyArrayOutput

func (i RegistryPolicyArray) ToRegistryPolicyArrayOutput() RegistryPolicyArrayOutput

func (RegistryPolicyArray) ToRegistryPolicyArrayOutputWithContext

func (i RegistryPolicyArray) ToRegistryPolicyArrayOutputWithContext(ctx context.Context) RegistryPolicyArrayOutput

type RegistryPolicyArrayInput

type RegistryPolicyArrayInput interface {
	pulumi.Input

	ToRegistryPolicyArrayOutput() RegistryPolicyArrayOutput
	ToRegistryPolicyArrayOutputWithContext(context.Context) RegistryPolicyArrayOutput
}

RegistryPolicyArrayInput is an input type that accepts RegistryPolicyArray and RegistryPolicyArrayOutput values. You can construct a concrete instance of `RegistryPolicyArrayInput` via:

RegistryPolicyArray{ RegistryPolicyArgs{...} }

type RegistryPolicyArrayOutput

type RegistryPolicyArrayOutput struct{ *pulumi.OutputState }

func (RegistryPolicyArrayOutput) ElementType

func (RegistryPolicyArrayOutput) ElementType() reflect.Type

func (RegistryPolicyArrayOutput) Index

func (RegistryPolicyArrayOutput) ToRegistryPolicyArrayOutput

func (o RegistryPolicyArrayOutput) ToRegistryPolicyArrayOutput() RegistryPolicyArrayOutput

func (RegistryPolicyArrayOutput) ToRegistryPolicyArrayOutputWithContext

func (o RegistryPolicyArrayOutput) ToRegistryPolicyArrayOutputWithContext(ctx context.Context) RegistryPolicyArrayOutput

type RegistryPolicyInput

type RegistryPolicyInput interface {
	pulumi.Input

	ToRegistryPolicyOutput() RegistryPolicyOutput
	ToRegistryPolicyOutputWithContext(ctx context.Context) RegistryPolicyOutput
}

type RegistryPolicyMap

type RegistryPolicyMap map[string]RegistryPolicyInput

func (RegistryPolicyMap) ElementType

func (RegistryPolicyMap) ElementType() reflect.Type

func (RegistryPolicyMap) ToRegistryPolicyMapOutput

func (i RegistryPolicyMap) ToRegistryPolicyMapOutput() RegistryPolicyMapOutput

func (RegistryPolicyMap) ToRegistryPolicyMapOutputWithContext

func (i RegistryPolicyMap) ToRegistryPolicyMapOutputWithContext(ctx context.Context) RegistryPolicyMapOutput

type RegistryPolicyMapInput

type RegistryPolicyMapInput interface {
	pulumi.Input

	ToRegistryPolicyMapOutput() RegistryPolicyMapOutput
	ToRegistryPolicyMapOutputWithContext(context.Context) RegistryPolicyMapOutput
}

RegistryPolicyMapInput is an input type that accepts RegistryPolicyMap and RegistryPolicyMapOutput values. You can construct a concrete instance of `RegistryPolicyMapInput` via:

RegistryPolicyMap{ "key": RegistryPolicyArgs{...} }

type RegistryPolicyMapOutput

type RegistryPolicyMapOutput struct{ *pulumi.OutputState }

func (RegistryPolicyMapOutput) ElementType

func (RegistryPolicyMapOutput) ElementType() reflect.Type

func (RegistryPolicyMapOutput) MapIndex

func (RegistryPolicyMapOutput) ToRegistryPolicyMapOutput

func (o RegistryPolicyMapOutput) ToRegistryPolicyMapOutput() RegistryPolicyMapOutput

func (RegistryPolicyMapOutput) ToRegistryPolicyMapOutputWithContext

func (o RegistryPolicyMapOutput) ToRegistryPolicyMapOutputWithContext(ctx context.Context) RegistryPolicyMapOutput

type RegistryPolicyOutput

type RegistryPolicyOutput struct{ *pulumi.OutputState }

func (RegistryPolicyOutput) ElementType

func (RegistryPolicyOutput) ElementType() reflect.Type

func (RegistryPolicyOutput) Policy

The policy document. This is a JSON formatted string.

func (RegistryPolicyOutput) RegistryId

func (o RegistryPolicyOutput) RegistryId() pulumi.StringOutput

The registry ID where the registry was created.

func (RegistryPolicyOutput) ToRegistryPolicyOutput

func (o RegistryPolicyOutput) ToRegistryPolicyOutput() RegistryPolicyOutput

func (RegistryPolicyOutput) ToRegistryPolicyOutputWithContext

func (o RegistryPolicyOutput) ToRegistryPolicyOutputWithContext(ctx context.Context) RegistryPolicyOutput

type RegistryPolicyState

type RegistryPolicyState struct {
	// The policy document. This is a JSON formatted string.
	Policy pulumi.Input
	// The registry ID where the registry was created.
	RegistryId pulumi.StringPtrInput
}

func (RegistryPolicyState) ElementType

func (RegistryPolicyState) ElementType() reflect.Type

type RegistryScanningConfiguration

type RegistryScanningConfiguration struct {
	pulumi.CustomResourceState

	// The registry ID the scanning configuration applies to.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
	// One or multiple blocks specifying scanning rules to determine which repository filters are used and at what frequency scanning will occur. See below for schema.
	Rules RegistryScanningConfigurationRuleArrayOutput `pulumi:"rules"`
	// the scanning type to set for the registry. Can be either `ENHANCED` or `BASIC`.
	ScanType pulumi.StringOutput `pulumi:"scanType"`
}

Provides an Elastic Container Registry Scanning Configuration. Can't be completely deleted, instead reverts to the default `BASIC` scanning configuration without rules.

## Example Usage

### Basic example

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.NewRegistryScanningConfiguration(ctx, "configuration", &ecr.RegistryScanningConfigurationArgs{
			ScanType: pulumi.String("ENHANCED"),
			Rules: ecr.RegistryScanningConfigurationRuleArray{
				&ecr.RegistryScanningConfigurationRuleArgs{
					ScanFrequency: pulumi.String("CONTINUOUS_SCAN"),
					RepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{
						&ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{
							Filter:     pulumi.String("example"),
							FilterType: pulumi.String("WILDCARD"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

### Multiple rules

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.NewRegistryScanningConfiguration(ctx, "test", &ecr.RegistryScanningConfigurationArgs{
			ScanType: pulumi.String("ENHANCED"),
			Rules: ecr.RegistryScanningConfigurationRuleArray{
				&ecr.RegistryScanningConfigurationRuleArgs{
					ScanFrequency: pulumi.String("SCAN_ON_PUSH"),
					RepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{
						&ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{
							Filter:     pulumi.String("*"),
							FilterType: pulumi.String("WILDCARD"),
						},
					},
				},
				&ecr.RegistryScanningConfigurationRuleArgs{
					ScanFrequency: pulumi.String("CONTINUOUS_SCAN"),
					RepositoryFilters: ecr.RegistryScanningConfigurationRuleRepositoryFilterArray{
						&ecr.RegistryScanningConfigurationRuleRepositoryFilterArgs{
							Filter:     pulumi.String("example"),
							FilterType: pulumi.String("WILDCARD"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ECR Scanning Configurations using the `registry_id`. For example:

```sh $ pulumi import aws:ecr/registryScanningConfiguration:RegistryScanningConfiguration example 012345678901 ```

func GetRegistryScanningConfiguration

func GetRegistryScanningConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RegistryScanningConfigurationState, opts ...pulumi.ResourceOption) (*RegistryScanningConfiguration, error)

GetRegistryScanningConfiguration gets an existing RegistryScanningConfiguration 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 NewRegistryScanningConfiguration

func NewRegistryScanningConfiguration(ctx *pulumi.Context,
	name string, args *RegistryScanningConfigurationArgs, opts ...pulumi.ResourceOption) (*RegistryScanningConfiguration, error)

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

func (*RegistryScanningConfiguration) ElementType

func (*RegistryScanningConfiguration) ToRegistryScanningConfigurationOutput

func (i *RegistryScanningConfiguration) ToRegistryScanningConfigurationOutput() RegistryScanningConfigurationOutput

func (*RegistryScanningConfiguration) ToRegistryScanningConfigurationOutputWithContext

func (i *RegistryScanningConfiguration) ToRegistryScanningConfigurationOutputWithContext(ctx context.Context) RegistryScanningConfigurationOutput

type RegistryScanningConfigurationArgs

type RegistryScanningConfigurationArgs struct {
	// One or multiple blocks specifying scanning rules to determine which repository filters are used and at what frequency scanning will occur. See below for schema.
	Rules RegistryScanningConfigurationRuleArrayInput
	// the scanning type to set for the registry. Can be either `ENHANCED` or `BASIC`.
	ScanType pulumi.StringInput
}

The set of arguments for constructing a RegistryScanningConfiguration resource.

func (RegistryScanningConfigurationArgs) ElementType

type RegistryScanningConfigurationArray

type RegistryScanningConfigurationArray []RegistryScanningConfigurationInput

func (RegistryScanningConfigurationArray) ElementType

func (RegistryScanningConfigurationArray) ToRegistryScanningConfigurationArrayOutput

func (i RegistryScanningConfigurationArray) ToRegistryScanningConfigurationArrayOutput() RegistryScanningConfigurationArrayOutput

func (RegistryScanningConfigurationArray) ToRegistryScanningConfigurationArrayOutputWithContext

func (i RegistryScanningConfigurationArray) ToRegistryScanningConfigurationArrayOutputWithContext(ctx context.Context) RegistryScanningConfigurationArrayOutput

type RegistryScanningConfigurationArrayInput

type RegistryScanningConfigurationArrayInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationArrayOutput() RegistryScanningConfigurationArrayOutput
	ToRegistryScanningConfigurationArrayOutputWithContext(context.Context) RegistryScanningConfigurationArrayOutput
}

RegistryScanningConfigurationArrayInput is an input type that accepts RegistryScanningConfigurationArray and RegistryScanningConfigurationArrayOutput values. You can construct a concrete instance of `RegistryScanningConfigurationArrayInput` via:

RegistryScanningConfigurationArray{ RegistryScanningConfigurationArgs{...} }

type RegistryScanningConfigurationArrayOutput

type RegistryScanningConfigurationArrayOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationArrayOutput) ElementType

func (RegistryScanningConfigurationArrayOutput) Index

func (RegistryScanningConfigurationArrayOutput) ToRegistryScanningConfigurationArrayOutput

func (o RegistryScanningConfigurationArrayOutput) ToRegistryScanningConfigurationArrayOutput() RegistryScanningConfigurationArrayOutput

func (RegistryScanningConfigurationArrayOutput) ToRegistryScanningConfigurationArrayOutputWithContext

func (o RegistryScanningConfigurationArrayOutput) ToRegistryScanningConfigurationArrayOutputWithContext(ctx context.Context) RegistryScanningConfigurationArrayOutput

type RegistryScanningConfigurationInput

type RegistryScanningConfigurationInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationOutput() RegistryScanningConfigurationOutput
	ToRegistryScanningConfigurationOutputWithContext(ctx context.Context) RegistryScanningConfigurationOutput
}

type RegistryScanningConfigurationMap

type RegistryScanningConfigurationMap map[string]RegistryScanningConfigurationInput

func (RegistryScanningConfigurationMap) ElementType

func (RegistryScanningConfigurationMap) ToRegistryScanningConfigurationMapOutput

func (i RegistryScanningConfigurationMap) ToRegistryScanningConfigurationMapOutput() RegistryScanningConfigurationMapOutput

func (RegistryScanningConfigurationMap) ToRegistryScanningConfigurationMapOutputWithContext

func (i RegistryScanningConfigurationMap) ToRegistryScanningConfigurationMapOutputWithContext(ctx context.Context) RegistryScanningConfigurationMapOutput

type RegistryScanningConfigurationMapInput

type RegistryScanningConfigurationMapInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationMapOutput() RegistryScanningConfigurationMapOutput
	ToRegistryScanningConfigurationMapOutputWithContext(context.Context) RegistryScanningConfigurationMapOutput
}

RegistryScanningConfigurationMapInput is an input type that accepts RegistryScanningConfigurationMap and RegistryScanningConfigurationMapOutput values. You can construct a concrete instance of `RegistryScanningConfigurationMapInput` via:

RegistryScanningConfigurationMap{ "key": RegistryScanningConfigurationArgs{...} }

type RegistryScanningConfigurationMapOutput

type RegistryScanningConfigurationMapOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationMapOutput) ElementType

func (RegistryScanningConfigurationMapOutput) MapIndex

func (RegistryScanningConfigurationMapOutput) ToRegistryScanningConfigurationMapOutput

func (o RegistryScanningConfigurationMapOutput) ToRegistryScanningConfigurationMapOutput() RegistryScanningConfigurationMapOutput

func (RegistryScanningConfigurationMapOutput) ToRegistryScanningConfigurationMapOutputWithContext

func (o RegistryScanningConfigurationMapOutput) ToRegistryScanningConfigurationMapOutputWithContext(ctx context.Context) RegistryScanningConfigurationMapOutput

type RegistryScanningConfigurationOutput

type RegistryScanningConfigurationOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationOutput) ElementType

func (RegistryScanningConfigurationOutput) RegistryId

The registry ID the scanning configuration applies to.

func (RegistryScanningConfigurationOutput) Rules

One or multiple blocks specifying scanning rules to determine which repository filters are used and at what frequency scanning will occur. See below for schema.

func (RegistryScanningConfigurationOutput) ScanType

the scanning type to set for the registry. Can be either `ENHANCED` or `BASIC`.

func (RegistryScanningConfigurationOutput) ToRegistryScanningConfigurationOutput

func (o RegistryScanningConfigurationOutput) ToRegistryScanningConfigurationOutput() RegistryScanningConfigurationOutput

func (RegistryScanningConfigurationOutput) ToRegistryScanningConfigurationOutputWithContext

func (o RegistryScanningConfigurationOutput) ToRegistryScanningConfigurationOutputWithContext(ctx context.Context) RegistryScanningConfigurationOutput

type RegistryScanningConfigurationRule

type RegistryScanningConfigurationRule struct {
	// One or more repository filter blocks, containing a `filter` (required string filtering repositories, see pattern regex [here](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_ScanningRepositoryFilter.html)) and a `filterType` (required string, currently only `WILDCARD` is supported).
	RepositoryFilters []RegistryScanningConfigurationRuleRepositoryFilter `pulumi:"repositoryFilters"`
	// The frequency that scans are performed at for a private registry. Can be `SCAN_ON_PUSH`, `CONTINUOUS_SCAN`, or `MANUAL`.
	ScanFrequency string `pulumi:"scanFrequency"`
}

type RegistryScanningConfigurationRuleArgs

type RegistryScanningConfigurationRuleArgs struct {
	// One or more repository filter blocks, containing a `filter` (required string filtering repositories, see pattern regex [here](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_ScanningRepositoryFilter.html)) and a `filterType` (required string, currently only `WILDCARD` is supported).
	RepositoryFilters RegistryScanningConfigurationRuleRepositoryFilterArrayInput `pulumi:"repositoryFilters"`
	// The frequency that scans are performed at for a private registry. Can be `SCAN_ON_PUSH`, `CONTINUOUS_SCAN`, or `MANUAL`.
	ScanFrequency pulumi.StringInput `pulumi:"scanFrequency"`
}

func (RegistryScanningConfigurationRuleArgs) ElementType

func (RegistryScanningConfigurationRuleArgs) ToRegistryScanningConfigurationRuleOutput

func (i RegistryScanningConfigurationRuleArgs) ToRegistryScanningConfigurationRuleOutput() RegistryScanningConfigurationRuleOutput

func (RegistryScanningConfigurationRuleArgs) ToRegistryScanningConfigurationRuleOutputWithContext

func (i RegistryScanningConfigurationRuleArgs) ToRegistryScanningConfigurationRuleOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleOutput

type RegistryScanningConfigurationRuleArray

type RegistryScanningConfigurationRuleArray []RegistryScanningConfigurationRuleInput

func (RegistryScanningConfigurationRuleArray) ElementType

func (RegistryScanningConfigurationRuleArray) ToRegistryScanningConfigurationRuleArrayOutput

func (i RegistryScanningConfigurationRuleArray) ToRegistryScanningConfigurationRuleArrayOutput() RegistryScanningConfigurationRuleArrayOutput

func (RegistryScanningConfigurationRuleArray) ToRegistryScanningConfigurationRuleArrayOutputWithContext

func (i RegistryScanningConfigurationRuleArray) ToRegistryScanningConfigurationRuleArrayOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleArrayOutput

type RegistryScanningConfigurationRuleArrayInput

type RegistryScanningConfigurationRuleArrayInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationRuleArrayOutput() RegistryScanningConfigurationRuleArrayOutput
	ToRegistryScanningConfigurationRuleArrayOutputWithContext(context.Context) RegistryScanningConfigurationRuleArrayOutput
}

RegistryScanningConfigurationRuleArrayInput is an input type that accepts RegistryScanningConfigurationRuleArray and RegistryScanningConfigurationRuleArrayOutput values. You can construct a concrete instance of `RegistryScanningConfigurationRuleArrayInput` via:

RegistryScanningConfigurationRuleArray{ RegistryScanningConfigurationRuleArgs{...} }

type RegistryScanningConfigurationRuleArrayOutput

type RegistryScanningConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationRuleArrayOutput) ElementType

func (RegistryScanningConfigurationRuleArrayOutput) Index

func (RegistryScanningConfigurationRuleArrayOutput) ToRegistryScanningConfigurationRuleArrayOutput

func (o RegistryScanningConfigurationRuleArrayOutput) ToRegistryScanningConfigurationRuleArrayOutput() RegistryScanningConfigurationRuleArrayOutput

func (RegistryScanningConfigurationRuleArrayOutput) ToRegistryScanningConfigurationRuleArrayOutputWithContext

func (o RegistryScanningConfigurationRuleArrayOutput) ToRegistryScanningConfigurationRuleArrayOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleArrayOutput

type RegistryScanningConfigurationRuleInput

type RegistryScanningConfigurationRuleInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationRuleOutput() RegistryScanningConfigurationRuleOutput
	ToRegistryScanningConfigurationRuleOutputWithContext(context.Context) RegistryScanningConfigurationRuleOutput
}

RegistryScanningConfigurationRuleInput is an input type that accepts RegistryScanningConfigurationRuleArgs and RegistryScanningConfigurationRuleOutput values. You can construct a concrete instance of `RegistryScanningConfigurationRuleInput` via:

RegistryScanningConfigurationRuleArgs{...}

type RegistryScanningConfigurationRuleOutput

type RegistryScanningConfigurationRuleOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationRuleOutput) ElementType

func (RegistryScanningConfigurationRuleOutput) RepositoryFilters

One or more repository filter blocks, containing a `filter` (required string filtering repositories, see pattern regex [here](https://docs.aws.amazon.com/AmazonECR/latest/APIReference/API_ScanningRepositoryFilter.html)) and a `filterType` (required string, currently only `WILDCARD` is supported).

func (RegistryScanningConfigurationRuleOutput) ScanFrequency

The frequency that scans are performed at for a private registry. Can be `SCAN_ON_PUSH`, `CONTINUOUS_SCAN`, or `MANUAL`.

func (RegistryScanningConfigurationRuleOutput) ToRegistryScanningConfigurationRuleOutput

func (o RegistryScanningConfigurationRuleOutput) ToRegistryScanningConfigurationRuleOutput() RegistryScanningConfigurationRuleOutput

func (RegistryScanningConfigurationRuleOutput) ToRegistryScanningConfigurationRuleOutputWithContext

func (o RegistryScanningConfigurationRuleOutput) ToRegistryScanningConfigurationRuleOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleOutput

type RegistryScanningConfigurationRuleRepositoryFilter

type RegistryScanningConfigurationRuleRepositoryFilter struct {
	Filter     string `pulumi:"filter"`
	FilterType string `pulumi:"filterType"`
}

type RegistryScanningConfigurationRuleRepositoryFilterArgs

type RegistryScanningConfigurationRuleRepositoryFilterArgs struct {
	Filter     pulumi.StringInput `pulumi:"filter"`
	FilterType pulumi.StringInput `pulumi:"filterType"`
}

func (RegistryScanningConfigurationRuleRepositoryFilterArgs) ElementType

func (RegistryScanningConfigurationRuleRepositoryFilterArgs) ToRegistryScanningConfigurationRuleRepositoryFilterOutput

func (i RegistryScanningConfigurationRuleRepositoryFilterArgs) ToRegistryScanningConfigurationRuleRepositoryFilterOutput() RegistryScanningConfigurationRuleRepositoryFilterOutput

func (RegistryScanningConfigurationRuleRepositoryFilterArgs) ToRegistryScanningConfigurationRuleRepositoryFilterOutputWithContext

func (i RegistryScanningConfigurationRuleRepositoryFilterArgs) ToRegistryScanningConfigurationRuleRepositoryFilterOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleRepositoryFilterOutput

type RegistryScanningConfigurationRuleRepositoryFilterArray

type RegistryScanningConfigurationRuleRepositoryFilterArray []RegistryScanningConfigurationRuleRepositoryFilterInput

func (RegistryScanningConfigurationRuleRepositoryFilterArray) ElementType

func (RegistryScanningConfigurationRuleRepositoryFilterArray) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutput

func (i RegistryScanningConfigurationRuleRepositoryFilterArray) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutput() RegistryScanningConfigurationRuleRepositoryFilterArrayOutput

func (RegistryScanningConfigurationRuleRepositoryFilterArray) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutputWithContext

func (i RegistryScanningConfigurationRuleRepositoryFilterArray) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleRepositoryFilterArrayOutput

type RegistryScanningConfigurationRuleRepositoryFilterArrayInput

type RegistryScanningConfigurationRuleRepositoryFilterArrayInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutput() RegistryScanningConfigurationRuleRepositoryFilterArrayOutput
	ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutputWithContext(context.Context) RegistryScanningConfigurationRuleRepositoryFilterArrayOutput
}

RegistryScanningConfigurationRuleRepositoryFilterArrayInput is an input type that accepts RegistryScanningConfigurationRuleRepositoryFilterArray and RegistryScanningConfigurationRuleRepositoryFilterArrayOutput values. You can construct a concrete instance of `RegistryScanningConfigurationRuleRepositoryFilterArrayInput` via:

RegistryScanningConfigurationRuleRepositoryFilterArray{ RegistryScanningConfigurationRuleRepositoryFilterArgs{...} }

type RegistryScanningConfigurationRuleRepositoryFilterArrayOutput

type RegistryScanningConfigurationRuleRepositoryFilterArrayOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationRuleRepositoryFilterArrayOutput) ElementType

func (RegistryScanningConfigurationRuleRepositoryFilterArrayOutput) Index

func (RegistryScanningConfigurationRuleRepositoryFilterArrayOutput) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutput

func (RegistryScanningConfigurationRuleRepositoryFilterArrayOutput) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutputWithContext

func (o RegistryScanningConfigurationRuleRepositoryFilterArrayOutput) ToRegistryScanningConfigurationRuleRepositoryFilterArrayOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleRepositoryFilterArrayOutput

type RegistryScanningConfigurationRuleRepositoryFilterInput

type RegistryScanningConfigurationRuleRepositoryFilterInput interface {
	pulumi.Input

	ToRegistryScanningConfigurationRuleRepositoryFilterOutput() RegistryScanningConfigurationRuleRepositoryFilterOutput
	ToRegistryScanningConfigurationRuleRepositoryFilterOutputWithContext(context.Context) RegistryScanningConfigurationRuleRepositoryFilterOutput
}

RegistryScanningConfigurationRuleRepositoryFilterInput is an input type that accepts RegistryScanningConfigurationRuleRepositoryFilterArgs and RegistryScanningConfigurationRuleRepositoryFilterOutput values. You can construct a concrete instance of `RegistryScanningConfigurationRuleRepositoryFilterInput` via:

RegistryScanningConfigurationRuleRepositoryFilterArgs{...}

type RegistryScanningConfigurationRuleRepositoryFilterOutput

type RegistryScanningConfigurationRuleRepositoryFilterOutput struct{ *pulumi.OutputState }

func (RegistryScanningConfigurationRuleRepositoryFilterOutput) ElementType

func (RegistryScanningConfigurationRuleRepositoryFilterOutput) Filter

func (RegistryScanningConfigurationRuleRepositoryFilterOutput) FilterType

func (RegistryScanningConfigurationRuleRepositoryFilterOutput) ToRegistryScanningConfigurationRuleRepositoryFilterOutput

func (RegistryScanningConfigurationRuleRepositoryFilterOutput) ToRegistryScanningConfigurationRuleRepositoryFilterOutputWithContext

func (o RegistryScanningConfigurationRuleRepositoryFilterOutput) ToRegistryScanningConfigurationRuleRepositoryFilterOutputWithContext(ctx context.Context) RegistryScanningConfigurationRuleRepositoryFilterOutput

type RegistryScanningConfigurationState

type RegistryScanningConfigurationState struct {
	// The registry ID the scanning configuration applies to.
	RegistryId pulumi.StringPtrInput
	// One or multiple blocks specifying scanning rules to determine which repository filters are used and at what frequency scanning will occur. See below for schema.
	Rules RegistryScanningConfigurationRuleArrayInput
	// the scanning type to set for the registry. Can be either `ENHANCED` or `BASIC`.
	ScanType pulumi.StringPtrInput
}

func (RegistryScanningConfigurationState) ElementType

type ReplicationConfiguration

type ReplicationConfiguration struct {
	pulumi.CustomResourceState

	// The registry ID where the replication configuration was created.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
	// Replication configuration for a registry. See Replication Configuration.
	ReplicationConfiguration ReplicationConfigurationReplicationConfigurationPtrOutput `pulumi:"replicationConfiguration"`
}

Provides an Elastic Container Registry Replication Configuration.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := aws.GetRegions(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = ecr.NewReplicationConfiguration(ctx, "example", &ecr.ReplicationConfigurationArgs{
			ReplicationConfiguration: &ecr.ReplicationConfigurationReplicationConfigurationArgs{
				Rules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{
					&ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{
						Destinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{
							&ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{
								Region:     pulumi.String(example.Names[0]),
								RegistryId: pulumi.String(current.AccountId),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Multiple Region Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := aws.GetRegions(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = ecr.NewReplicationConfiguration(ctx, "example", &ecr.ReplicationConfigurationArgs{
			ReplicationConfiguration: &ecr.ReplicationConfigurationReplicationConfigurationArgs{
				Rules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{
					&ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{
						Destinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{
							&ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{
								Region:     pulumi.String(example.Names[0]),
								RegistryId: pulumi.String(current.AccountId),
							},
							&ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{
								Region:     pulumi.String(example.Names[1]),
								RegistryId: pulumi.String(current.AccountId),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Repository Filter Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := aws.GetCallerIdentity(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := aws.GetRegions(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = ecr.NewReplicationConfiguration(ctx, "example", &ecr.ReplicationConfigurationArgs{
			ReplicationConfiguration: &ecr.ReplicationConfigurationReplicationConfigurationArgs{
				Rules: ecr.ReplicationConfigurationReplicationConfigurationRuleArray{
					&ecr.ReplicationConfigurationReplicationConfigurationRuleArgs{
						Destinations: ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArray{
							&ecr.ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{
								Region:     pulumi.String(example.Names[0]),
								RegistryId: pulumi.String(current.AccountId),
							},
						},
						RepositoryFilters: ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray{
							&ecr.ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{
								Filter:     pulumi.String("prod-microservice"),
								FilterType: pulumi.String("PREFIX_MATCH"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ECR Replication Configuration using the `registry_id`. For example:

```sh $ pulumi import aws:ecr/replicationConfiguration:ReplicationConfiguration service 012345678912 ```

func GetReplicationConfiguration

func GetReplicationConfiguration(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReplicationConfigurationState, opts ...pulumi.ResourceOption) (*ReplicationConfiguration, error)

GetReplicationConfiguration gets an existing ReplicationConfiguration 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 NewReplicationConfiguration

func NewReplicationConfiguration(ctx *pulumi.Context,
	name string, args *ReplicationConfigurationArgs, opts ...pulumi.ResourceOption) (*ReplicationConfiguration, error)

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

func (*ReplicationConfiguration) ElementType

func (*ReplicationConfiguration) ElementType() reflect.Type

func (*ReplicationConfiguration) ToReplicationConfigurationOutput

func (i *ReplicationConfiguration) ToReplicationConfigurationOutput() ReplicationConfigurationOutput

func (*ReplicationConfiguration) ToReplicationConfigurationOutputWithContext

func (i *ReplicationConfiguration) ToReplicationConfigurationOutputWithContext(ctx context.Context) ReplicationConfigurationOutput

type ReplicationConfigurationArgs

type ReplicationConfigurationArgs struct {
	// Replication configuration for a registry. See Replication Configuration.
	ReplicationConfiguration ReplicationConfigurationReplicationConfigurationPtrInput
}

The set of arguments for constructing a ReplicationConfiguration resource.

func (ReplicationConfigurationArgs) ElementType

type ReplicationConfigurationArray

type ReplicationConfigurationArray []ReplicationConfigurationInput

func (ReplicationConfigurationArray) ElementType

func (ReplicationConfigurationArray) ToReplicationConfigurationArrayOutput

func (i ReplicationConfigurationArray) ToReplicationConfigurationArrayOutput() ReplicationConfigurationArrayOutput

func (ReplicationConfigurationArray) ToReplicationConfigurationArrayOutputWithContext

func (i ReplicationConfigurationArray) ToReplicationConfigurationArrayOutputWithContext(ctx context.Context) ReplicationConfigurationArrayOutput

type ReplicationConfigurationArrayInput

type ReplicationConfigurationArrayInput interface {
	pulumi.Input

	ToReplicationConfigurationArrayOutput() ReplicationConfigurationArrayOutput
	ToReplicationConfigurationArrayOutputWithContext(context.Context) ReplicationConfigurationArrayOutput
}

ReplicationConfigurationArrayInput is an input type that accepts ReplicationConfigurationArray and ReplicationConfigurationArrayOutput values. You can construct a concrete instance of `ReplicationConfigurationArrayInput` via:

ReplicationConfigurationArray{ ReplicationConfigurationArgs{...} }

type ReplicationConfigurationArrayOutput

type ReplicationConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationArrayOutput) ElementType

func (ReplicationConfigurationArrayOutput) Index

func (ReplicationConfigurationArrayOutput) ToReplicationConfigurationArrayOutput

func (o ReplicationConfigurationArrayOutput) ToReplicationConfigurationArrayOutput() ReplicationConfigurationArrayOutput

func (ReplicationConfigurationArrayOutput) ToReplicationConfigurationArrayOutputWithContext

func (o ReplicationConfigurationArrayOutput) ToReplicationConfigurationArrayOutputWithContext(ctx context.Context) ReplicationConfigurationArrayOutput

type ReplicationConfigurationInput

type ReplicationConfigurationInput interface {
	pulumi.Input

	ToReplicationConfigurationOutput() ReplicationConfigurationOutput
	ToReplicationConfigurationOutputWithContext(ctx context.Context) ReplicationConfigurationOutput
}

type ReplicationConfigurationMap

type ReplicationConfigurationMap map[string]ReplicationConfigurationInput

func (ReplicationConfigurationMap) ElementType

func (ReplicationConfigurationMap) ToReplicationConfigurationMapOutput

func (i ReplicationConfigurationMap) ToReplicationConfigurationMapOutput() ReplicationConfigurationMapOutput

func (ReplicationConfigurationMap) ToReplicationConfigurationMapOutputWithContext

func (i ReplicationConfigurationMap) ToReplicationConfigurationMapOutputWithContext(ctx context.Context) ReplicationConfigurationMapOutput

type ReplicationConfigurationMapInput

type ReplicationConfigurationMapInput interface {
	pulumi.Input

	ToReplicationConfigurationMapOutput() ReplicationConfigurationMapOutput
	ToReplicationConfigurationMapOutputWithContext(context.Context) ReplicationConfigurationMapOutput
}

ReplicationConfigurationMapInput is an input type that accepts ReplicationConfigurationMap and ReplicationConfigurationMapOutput values. You can construct a concrete instance of `ReplicationConfigurationMapInput` via:

ReplicationConfigurationMap{ "key": ReplicationConfigurationArgs{...} }

type ReplicationConfigurationMapOutput

type ReplicationConfigurationMapOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationMapOutput) ElementType

func (ReplicationConfigurationMapOutput) MapIndex

func (ReplicationConfigurationMapOutput) ToReplicationConfigurationMapOutput

func (o ReplicationConfigurationMapOutput) ToReplicationConfigurationMapOutput() ReplicationConfigurationMapOutput

func (ReplicationConfigurationMapOutput) ToReplicationConfigurationMapOutputWithContext

func (o ReplicationConfigurationMapOutput) ToReplicationConfigurationMapOutputWithContext(ctx context.Context) ReplicationConfigurationMapOutput

type ReplicationConfigurationOutput

type ReplicationConfigurationOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationOutput) ElementType

func (ReplicationConfigurationOutput) RegistryId

The registry ID where the replication configuration was created.

func (ReplicationConfigurationOutput) ReplicationConfiguration

Replication configuration for a registry. See Replication Configuration.

func (ReplicationConfigurationOutput) ToReplicationConfigurationOutput

func (o ReplicationConfigurationOutput) ToReplicationConfigurationOutput() ReplicationConfigurationOutput

func (ReplicationConfigurationOutput) ToReplicationConfigurationOutputWithContext

func (o ReplicationConfigurationOutput) ToReplicationConfigurationOutputWithContext(ctx context.Context) ReplicationConfigurationOutput

type ReplicationConfigurationReplicationConfiguration

type ReplicationConfigurationReplicationConfiguration struct {
	// The replication rules for a replication configuration. A maximum of 10 are allowed per `replicationConfiguration`. See Rule
	Rules []ReplicationConfigurationReplicationConfigurationRule `pulumi:"rules"`
}

type ReplicationConfigurationReplicationConfigurationArgs

type ReplicationConfigurationReplicationConfigurationArgs struct {
	// The replication rules for a replication configuration. A maximum of 10 are allowed per `replicationConfiguration`. See Rule
	Rules ReplicationConfigurationReplicationConfigurationRuleArrayInput `pulumi:"rules"`
}

func (ReplicationConfigurationReplicationConfigurationArgs) ElementType

func (ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationOutput

func (i ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationOutput() ReplicationConfigurationReplicationConfigurationOutput

func (ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationOutput

func (ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationPtrOutput

func (i ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationPtrOutput() ReplicationConfigurationReplicationConfigurationPtrOutput

func (ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationArgs) ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationPtrOutput

type ReplicationConfigurationReplicationConfigurationInput

type ReplicationConfigurationReplicationConfigurationInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationOutput() ReplicationConfigurationReplicationConfigurationOutput
	ToReplicationConfigurationReplicationConfigurationOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationOutput
}

ReplicationConfigurationReplicationConfigurationInput is an input type that accepts ReplicationConfigurationReplicationConfigurationArgs and ReplicationConfigurationReplicationConfigurationOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationInput` via:

ReplicationConfigurationReplicationConfigurationArgs{...}

type ReplicationConfigurationReplicationConfigurationOutput

type ReplicationConfigurationReplicationConfigurationOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationOutput) Rules

The replication rules for a replication configuration. A maximum of 10 are allowed per `replicationConfiguration`. See Rule

func (ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationOutput

func (ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationOutputWithContext

func (o ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationOutput

func (ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationPtrOutput

func (o ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationPtrOutput() ReplicationConfigurationReplicationConfigurationPtrOutput

func (ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext

func (o ReplicationConfigurationReplicationConfigurationOutput) ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationPtrOutput

type ReplicationConfigurationReplicationConfigurationPtrInput

type ReplicationConfigurationReplicationConfigurationPtrInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationPtrOutput() ReplicationConfigurationReplicationConfigurationPtrOutput
	ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationPtrOutput
}

ReplicationConfigurationReplicationConfigurationPtrInput is an input type that accepts ReplicationConfigurationReplicationConfigurationArgs, ReplicationConfigurationReplicationConfigurationPtr and ReplicationConfigurationReplicationConfigurationPtrOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationPtrInput` via:

        ReplicationConfigurationReplicationConfigurationArgs{...}

or:

        nil

type ReplicationConfigurationReplicationConfigurationPtrOutput

type ReplicationConfigurationReplicationConfigurationPtrOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationPtrOutput) Elem

func (ReplicationConfigurationReplicationConfigurationPtrOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationPtrOutput) Rules

The replication rules for a replication configuration. A maximum of 10 are allowed per `replicationConfiguration`. See Rule

func (ReplicationConfigurationReplicationConfigurationPtrOutput) ToReplicationConfigurationReplicationConfigurationPtrOutput

func (ReplicationConfigurationReplicationConfigurationPtrOutput) ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext

func (o ReplicationConfigurationReplicationConfigurationPtrOutput) ToReplicationConfigurationReplicationConfigurationPtrOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationPtrOutput

type ReplicationConfigurationReplicationConfigurationRule

type ReplicationConfigurationReplicationConfigurationRule struct {
	// the details of a replication destination. A maximum of 25 are allowed per `rule`. See Destination.
	Destinations []ReplicationConfigurationReplicationConfigurationRuleDestination `pulumi:"destinations"`
	// filters for a replication rule. See Repository Filter.
	RepositoryFilters []ReplicationConfigurationReplicationConfigurationRuleRepositoryFilter `pulumi:"repositoryFilters"`
}

type ReplicationConfigurationReplicationConfigurationRuleArgs

type ReplicationConfigurationReplicationConfigurationRuleArgs struct {
	// the details of a replication destination. A maximum of 25 are allowed per `rule`. See Destination.
	Destinations ReplicationConfigurationReplicationConfigurationRuleDestinationArrayInput `pulumi:"destinations"`
	// filters for a replication rule. See Repository Filter.
	RepositoryFilters ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayInput `pulumi:"repositoryFilters"`
}

func (ReplicationConfigurationReplicationConfigurationRuleArgs) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleArgs) ToReplicationConfigurationReplicationConfigurationRuleOutput

func (ReplicationConfigurationReplicationConfigurationRuleArgs) ToReplicationConfigurationReplicationConfigurationRuleOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationRuleArgs) ToReplicationConfigurationReplicationConfigurationRuleOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleOutput

type ReplicationConfigurationReplicationConfigurationRuleArray

type ReplicationConfigurationReplicationConfigurationRuleArray []ReplicationConfigurationReplicationConfigurationRuleInput

func (ReplicationConfigurationReplicationConfigurationRuleArray) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleArray) ToReplicationConfigurationReplicationConfigurationRuleArrayOutput

func (i ReplicationConfigurationReplicationConfigurationRuleArray) ToReplicationConfigurationReplicationConfigurationRuleArrayOutput() ReplicationConfigurationReplicationConfigurationRuleArrayOutput

func (ReplicationConfigurationReplicationConfigurationRuleArray) ToReplicationConfigurationReplicationConfigurationRuleArrayOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationRuleArray) ToReplicationConfigurationReplicationConfigurationRuleArrayOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleArrayInput

type ReplicationConfigurationReplicationConfigurationRuleArrayInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationRuleArrayOutput() ReplicationConfigurationReplicationConfigurationRuleArrayOutput
	ToReplicationConfigurationReplicationConfigurationRuleArrayOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationRuleArrayOutput
}

ReplicationConfigurationReplicationConfigurationRuleArrayInput is an input type that accepts ReplicationConfigurationReplicationConfigurationRuleArray and ReplicationConfigurationReplicationConfigurationRuleArrayOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationRuleArrayInput` via:

ReplicationConfigurationReplicationConfigurationRuleArray{ ReplicationConfigurationReplicationConfigurationRuleArgs{...} }

type ReplicationConfigurationReplicationConfigurationRuleArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleArrayOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationRuleArrayOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleArrayOutput) Index

func (ReplicationConfigurationReplicationConfigurationRuleArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleArrayOutput

func (ReplicationConfigurationReplicationConfigurationRuleArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleArrayOutputWithContext

func (o ReplicationConfigurationReplicationConfigurationRuleArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleArrayOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleDestination

type ReplicationConfigurationReplicationConfigurationRuleDestination struct {
	// A Region to replicate to.
	Region string `pulumi:"region"`
	// The account ID of the destination registry to replicate to.
	RegistryId string `pulumi:"registryId"`
}

type ReplicationConfigurationReplicationConfigurationRuleDestinationArgs

type ReplicationConfigurationReplicationConfigurationRuleDestinationArgs struct {
	// A Region to replicate to.
	Region pulumi.StringInput `pulumi:"region"`
	// The account ID of the destination registry to replicate to.
	RegistryId pulumi.StringInput `pulumi:"registryId"`
}

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArgs) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArgs) ToReplicationConfigurationReplicationConfigurationRuleDestinationOutput

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArgs) ToReplicationConfigurationReplicationConfigurationRuleDestinationOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationRuleDestinationArgs) ToReplicationConfigurationReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleDestinationOutput

type ReplicationConfigurationReplicationConfigurationRuleDestinationArray

type ReplicationConfigurationReplicationConfigurationRuleDestinationArray []ReplicationConfigurationReplicationConfigurationRuleDestinationInput

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArray) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArray) ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArray) ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationRuleDestinationArray) ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleDestinationArrayInput

type ReplicationConfigurationReplicationConfigurationRuleDestinationArrayInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput() ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput
	ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput
}

ReplicationConfigurationReplicationConfigurationRuleDestinationArrayInput is an input type that accepts ReplicationConfigurationReplicationConfigurationRuleDestinationArray and ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationRuleDestinationArrayInput` via:

ReplicationConfigurationReplicationConfigurationRuleDestinationArray{ ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{...} }

type ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput

func (ReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleDestinationArrayOutputWithContext

type ReplicationConfigurationReplicationConfigurationRuleDestinationInput

type ReplicationConfigurationReplicationConfigurationRuleDestinationInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationRuleDestinationOutput() ReplicationConfigurationReplicationConfigurationRuleDestinationOutput
	ToReplicationConfigurationReplicationConfigurationRuleDestinationOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationRuleDestinationOutput
}

ReplicationConfigurationReplicationConfigurationRuleDestinationInput is an input type that accepts ReplicationConfigurationReplicationConfigurationRuleDestinationArgs and ReplicationConfigurationReplicationConfigurationRuleDestinationOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationRuleDestinationInput` via:

ReplicationConfigurationReplicationConfigurationRuleDestinationArgs{...}

type ReplicationConfigurationReplicationConfigurationRuleDestinationOutput

type ReplicationConfigurationReplicationConfigurationRuleDestinationOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationRuleDestinationOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleDestinationOutput) Region

A Region to replicate to.

func (ReplicationConfigurationReplicationConfigurationRuleDestinationOutput) RegistryId

The account ID of the destination registry to replicate to.

func (ReplicationConfigurationReplicationConfigurationRuleDestinationOutput) ToReplicationConfigurationReplicationConfigurationRuleDestinationOutput

func (ReplicationConfigurationReplicationConfigurationRuleDestinationOutput) ToReplicationConfigurationReplicationConfigurationRuleDestinationOutputWithContext

func (o ReplicationConfigurationReplicationConfigurationRuleDestinationOutput) ToReplicationConfigurationReplicationConfigurationRuleDestinationOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleDestinationOutput

type ReplicationConfigurationReplicationConfigurationRuleInput

type ReplicationConfigurationReplicationConfigurationRuleInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationRuleOutput() ReplicationConfigurationReplicationConfigurationRuleOutput
	ToReplicationConfigurationReplicationConfigurationRuleOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationRuleOutput
}

ReplicationConfigurationReplicationConfigurationRuleInput is an input type that accepts ReplicationConfigurationReplicationConfigurationRuleArgs and ReplicationConfigurationReplicationConfigurationRuleOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationRuleInput` via:

ReplicationConfigurationReplicationConfigurationRuleArgs{...}

type ReplicationConfigurationReplicationConfigurationRuleOutput

type ReplicationConfigurationReplicationConfigurationRuleOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationRuleOutput) Destinations

the details of a replication destination. A maximum of 25 are allowed per `rule`. See Destination.

func (ReplicationConfigurationReplicationConfigurationRuleOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleOutput) RepositoryFilters

filters for a replication rule. See Repository Filter.

func (ReplicationConfigurationReplicationConfigurationRuleOutput) ToReplicationConfigurationReplicationConfigurationRuleOutput

func (ReplicationConfigurationReplicationConfigurationRuleOutput) ToReplicationConfigurationReplicationConfigurationRuleOutputWithContext

func (o ReplicationConfigurationReplicationConfigurationRuleOutput) ToReplicationConfigurationReplicationConfigurationRuleOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleOutput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilter

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilter struct {
	// The repository filter details.
	Filter string `pulumi:"filter"`
	// The repository filter type. The only supported value is `PREFIX_MATCH`, which is a repository name prefix specified with the filter parameter.
	FilterType string `pulumi:"filterType"`
}

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs struct {
	// The repository filter details.
	Filter pulumi.StringInput `pulumi:"filter"`
	// The repository filter type. The only supported value is `PREFIX_MATCH`, which is a repository name prefix specified with the filter parameter.
	FilterType pulumi.StringInput `pulumi:"filterType"`
}

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray []ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterInput

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutputWithContext

func (i ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutputWithContext(ctx context.Context) ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayInput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput() ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput
	ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput
}

ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayInput is an input type that accepts ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray and ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayInput` via:

ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArray{ ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{...} }

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutput) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArrayOutputWithContext

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterInput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterInput interface {
	pulumi.Input

	ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput() ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput
	ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutputWithContext(context.Context) ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput
}

ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterInput is an input type that accepts ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs and ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput values. You can construct a concrete instance of `ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterInput` via:

ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterArgs{...}

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput

type ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput struct{ *pulumi.OutputState }

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput) ElementType

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput) Filter

The repository filter details.

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput) FilterType

The repository filter type. The only supported value is `PREFIX_MATCH`, which is a repository name prefix specified with the filter parameter.

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput

func (ReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutput) ToReplicationConfigurationReplicationConfigurationRuleRepositoryFilterOutputWithContext

type ReplicationConfigurationState

type ReplicationConfigurationState struct {
	// The registry ID where the replication configuration was created.
	RegistryId pulumi.StringPtrInput
	// Replication configuration for a registry. See Replication Configuration.
	ReplicationConfiguration ReplicationConfigurationReplicationConfigurationPtrInput
}

func (ReplicationConfigurationState) ElementType

type Repository

type Repository struct {
	pulumi.CustomResourceState

	// Full ARN of the repository.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Encryption configuration for the repository. See below for schema.
	EncryptionConfigurations RepositoryEncryptionConfigurationArrayOutput `pulumi:"encryptionConfigurations"`
	// If `true`, will delete the repository even if it contains images.
	// Defaults to `false`.
	ForceDelete pulumi.BoolPtrOutput `pulumi:"forceDelete"`
	// Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning.
	ImageScanningConfiguration RepositoryImageScanningConfigurationPtrOutput `pulumi:"imageScanningConfiguration"`
	// The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`.
	ImageTagMutability pulumi.StringPtrOutput `pulumi:"imageTagMutability"`
	// Name of the repository.
	Name pulumi.StringOutput `pulumi:"name"`
	// The registry ID where the repository was created.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
	// The URL of the repository (in the form `aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName`).
	RepositoryUrl pulumi.StringOutput `pulumi:"repositoryUrl"`
	// 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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an Elastic Container Registry Repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ecr.NewRepository(ctx, "foo", &ecr.RepositoryArgs{
			Name:               pulumi.String("bar"),
			ImageTagMutability: pulumi.String("MUTABLE"),
			ImageScanningConfiguration: &ecr.RepositoryImageScanningConfigurationArgs{
				ScanOnPush: pulumi.Bool(true),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ECR Repositories using the `name`. For example:

```sh $ pulumi import aws:ecr/repository:Repository service test-service ```

func GetRepository

func GetRepository(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryState, opts ...pulumi.ResourceOption) (*Repository, error)

GetRepository gets an existing Repository 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 NewRepository

func NewRepository(ctx *pulumi.Context,
	name string, args *RepositoryArgs, opts ...pulumi.ResourceOption) (*Repository, error)

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

func (*Repository) ElementType

func (*Repository) ElementType() reflect.Type

func (*Repository) ToRepositoryOutput

func (i *Repository) ToRepositoryOutput() RepositoryOutput

func (*Repository) ToRepositoryOutputWithContext

func (i *Repository) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

type RepositoryArgs

type RepositoryArgs struct {
	// Encryption configuration for the repository. See below for schema.
	EncryptionConfigurations RepositoryEncryptionConfigurationArrayInput
	// If `true`, will delete the repository even if it contains images.
	// Defaults to `false`.
	ForceDelete pulumi.BoolPtrInput
	// Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning.
	ImageScanningConfiguration RepositoryImageScanningConfigurationPtrInput
	// The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`.
	ImageTagMutability pulumi.StringPtrInput
	// Name of the repository.
	Name 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
}

The set of arguments for constructing a Repository resource.

func (RepositoryArgs) ElementType

func (RepositoryArgs) ElementType() reflect.Type

type RepositoryArray

type RepositoryArray []RepositoryInput

func (RepositoryArray) ElementType

func (RepositoryArray) ElementType() reflect.Type

func (RepositoryArray) ToRepositoryArrayOutput

func (i RepositoryArray) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArray) ToRepositoryArrayOutputWithContext

func (i RepositoryArray) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryArrayInput

type RepositoryArrayInput interface {
	pulumi.Input

	ToRepositoryArrayOutput() RepositoryArrayOutput
	ToRepositoryArrayOutputWithContext(context.Context) RepositoryArrayOutput
}

RepositoryArrayInput is an input type that accepts RepositoryArray and RepositoryArrayOutput values. You can construct a concrete instance of `RepositoryArrayInput` via:

RepositoryArray{ RepositoryArgs{...} }

type RepositoryArrayOutput

type RepositoryArrayOutput struct{ *pulumi.OutputState }

func (RepositoryArrayOutput) ElementType

func (RepositoryArrayOutput) ElementType() reflect.Type

func (RepositoryArrayOutput) Index

func (RepositoryArrayOutput) ToRepositoryArrayOutput

func (o RepositoryArrayOutput) ToRepositoryArrayOutput() RepositoryArrayOutput

func (RepositoryArrayOutput) ToRepositoryArrayOutputWithContext

func (o RepositoryArrayOutput) ToRepositoryArrayOutputWithContext(ctx context.Context) RepositoryArrayOutput

type RepositoryEncryptionConfiguration

type RepositoryEncryptionConfiguration struct {
	// The encryption type to use for the repository. Valid values are `AES256` or `KMS`. Defaults to `AES256`.
	EncryptionType *string `pulumi:"encryptionType"`
	// The ARN of the KMS key to use when `encryptionType` is `KMS`. If not specified, uses the default AWS managed key for ECR.
	KmsKey *string `pulumi:"kmsKey"`
}

type RepositoryEncryptionConfigurationArgs

type RepositoryEncryptionConfigurationArgs struct {
	// The encryption type to use for the repository. Valid values are `AES256` or `KMS`. Defaults to `AES256`.
	EncryptionType pulumi.StringPtrInput `pulumi:"encryptionType"`
	// The ARN of the KMS key to use when `encryptionType` is `KMS`. If not specified, uses the default AWS managed key for ECR.
	KmsKey pulumi.StringPtrInput `pulumi:"kmsKey"`
}

func (RepositoryEncryptionConfigurationArgs) ElementType

func (RepositoryEncryptionConfigurationArgs) ToRepositoryEncryptionConfigurationOutput

func (i RepositoryEncryptionConfigurationArgs) ToRepositoryEncryptionConfigurationOutput() RepositoryEncryptionConfigurationOutput

func (RepositoryEncryptionConfigurationArgs) ToRepositoryEncryptionConfigurationOutputWithContext

func (i RepositoryEncryptionConfigurationArgs) ToRepositoryEncryptionConfigurationOutputWithContext(ctx context.Context) RepositoryEncryptionConfigurationOutput

type RepositoryEncryptionConfigurationArray

type RepositoryEncryptionConfigurationArray []RepositoryEncryptionConfigurationInput

func (RepositoryEncryptionConfigurationArray) ElementType

func (RepositoryEncryptionConfigurationArray) ToRepositoryEncryptionConfigurationArrayOutput

func (i RepositoryEncryptionConfigurationArray) ToRepositoryEncryptionConfigurationArrayOutput() RepositoryEncryptionConfigurationArrayOutput

func (RepositoryEncryptionConfigurationArray) ToRepositoryEncryptionConfigurationArrayOutputWithContext

func (i RepositoryEncryptionConfigurationArray) ToRepositoryEncryptionConfigurationArrayOutputWithContext(ctx context.Context) RepositoryEncryptionConfigurationArrayOutput

type RepositoryEncryptionConfigurationArrayInput

type RepositoryEncryptionConfigurationArrayInput interface {
	pulumi.Input

	ToRepositoryEncryptionConfigurationArrayOutput() RepositoryEncryptionConfigurationArrayOutput
	ToRepositoryEncryptionConfigurationArrayOutputWithContext(context.Context) RepositoryEncryptionConfigurationArrayOutput
}

RepositoryEncryptionConfigurationArrayInput is an input type that accepts RepositoryEncryptionConfigurationArray and RepositoryEncryptionConfigurationArrayOutput values. You can construct a concrete instance of `RepositoryEncryptionConfigurationArrayInput` via:

RepositoryEncryptionConfigurationArray{ RepositoryEncryptionConfigurationArgs{...} }

type RepositoryEncryptionConfigurationArrayOutput

type RepositoryEncryptionConfigurationArrayOutput struct{ *pulumi.OutputState }

func (RepositoryEncryptionConfigurationArrayOutput) ElementType

func (RepositoryEncryptionConfigurationArrayOutput) Index

func (RepositoryEncryptionConfigurationArrayOutput) ToRepositoryEncryptionConfigurationArrayOutput

func (o RepositoryEncryptionConfigurationArrayOutput) ToRepositoryEncryptionConfigurationArrayOutput() RepositoryEncryptionConfigurationArrayOutput

func (RepositoryEncryptionConfigurationArrayOutput) ToRepositoryEncryptionConfigurationArrayOutputWithContext

func (o RepositoryEncryptionConfigurationArrayOutput) ToRepositoryEncryptionConfigurationArrayOutputWithContext(ctx context.Context) RepositoryEncryptionConfigurationArrayOutput

type RepositoryEncryptionConfigurationInput

type RepositoryEncryptionConfigurationInput interface {
	pulumi.Input

	ToRepositoryEncryptionConfigurationOutput() RepositoryEncryptionConfigurationOutput
	ToRepositoryEncryptionConfigurationOutputWithContext(context.Context) RepositoryEncryptionConfigurationOutput
}

RepositoryEncryptionConfigurationInput is an input type that accepts RepositoryEncryptionConfigurationArgs and RepositoryEncryptionConfigurationOutput values. You can construct a concrete instance of `RepositoryEncryptionConfigurationInput` via:

RepositoryEncryptionConfigurationArgs{...}

type RepositoryEncryptionConfigurationOutput

type RepositoryEncryptionConfigurationOutput struct{ *pulumi.OutputState }

func (RepositoryEncryptionConfigurationOutput) ElementType

func (RepositoryEncryptionConfigurationOutput) EncryptionType

The encryption type to use for the repository. Valid values are `AES256` or `KMS`. Defaults to `AES256`.

func (RepositoryEncryptionConfigurationOutput) KmsKey

The ARN of the KMS key to use when `encryptionType` is `KMS`. If not specified, uses the default AWS managed key for ECR.

func (RepositoryEncryptionConfigurationOutput) ToRepositoryEncryptionConfigurationOutput

func (o RepositoryEncryptionConfigurationOutput) ToRepositoryEncryptionConfigurationOutput() RepositoryEncryptionConfigurationOutput

func (RepositoryEncryptionConfigurationOutput) ToRepositoryEncryptionConfigurationOutputWithContext

func (o RepositoryEncryptionConfigurationOutput) ToRepositoryEncryptionConfigurationOutputWithContext(ctx context.Context) RepositoryEncryptionConfigurationOutput

type RepositoryImageScanningConfiguration

type RepositoryImageScanningConfiguration struct {
	// Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).
	ScanOnPush bool `pulumi:"scanOnPush"`
}

type RepositoryImageScanningConfigurationArgs

type RepositoryImageScanningConfigurationArgs struct {
	// Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).
	ScanOnPush pulumi.BoolInput `pulumi:"scanOnPush"`
}

func (RepositoryImageScanningConfigurationArgs) ElementType

func (RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationOutput

func (i RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationOutput() RepositoryImageScanningConfigurationOutput

func (RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationOutputWithContext

func (i RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationOutputWithContext(ctx context.Context) RepositoryImageScanningConfigurationOutput

func (RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationPtrOutput

func (i RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationPtrOutput() RepositoryImageScanningConfigurationPtrOutput

func (RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationPtrOutputWithContext

func (i RepositoryImageScanningConfigurationArgs) ToRepositoryImageScanningConfigurationPtrOutputWithContext(ctx context.Context) RepositoryImageScanningConfigurationPtrOutput

type RepositoryImageScanningConfigurationInput

type RepositoryImageScanningConfigurationInput interface {
	pulumi.Input

	ToRepositoryImageScanningConfigurationOutput() RepositoryImageScanningConfigurationOutput
	ToRepositoryImageScanningConfigurationOutputWithContext(context.Context) RepositoryImageScanningConfigurationOutput
}

RepositoryImageScanningConfigurationInput is an input type that accepts RepositoryImageScanningConfigurationArgs and RepositoryImageScanningConfigurationOutput values. You can construct a concrete instance of `RepositoryImageScanningConfigurationInput` via:

RepositoryImageScanningConfigurationArgs{...}

type RepositoryImageScanningConfigurationOutput

type RepositoryImageScanningConfigurationOutput struct{ *pulumi.OutputState }

func (RepositoryImageScanningConfigurationOutput) ElementType

func (RepositoryImageScanningConfigurationOutput) ScanOnPush

Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).

func (RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationOutput

func (o RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationOutput() RepositoryImageScanningConfigurationOutput

func (RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationOutputWithContext

func (o RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationOutputWithContext(ctx context.Context) RepositoryImageScanningConfigurationOutput

func (RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationPtrOutput

func (o RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationPtrOutput() RepositoryImageScanningConfigurationPtrOutput

func (RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationPtrOutputWithContext

func (o RepositoryImageScanningConfigurationOutput) ToRepositoryImageScanningConfigurationPtrOutputWithContext(ctx context.Context) RepositoryImageScanningConfigurationPtrOutput

type RepositoryImageScanningConfigurationPtrInput

type RepositoryImageScanningConfigurationPtrInput interface {
	pulumi.Input

	ToRepositoryImageScanningConfigurationPtrOutput() RepositoryImageScanningConfigurationPtrOutput
	ToRepositoryImageScanningConfigurationPtrOutputWithContext(context.Context) RepositoryImageScanningConfigurationPtrOutput
}

RepositoryImageScanningConfigurationPtrInput is an input type that accepts RepositoryImageScanningConfigurationArgs, RepositoryImageScanningConfigurationPtr and RepositoryImageScanningConfigurationPtrOutput values. You can construct a concrete instance of `RepositoryImageScanningConfigurationPtrInput` via:

        RepositoryImageScanningConfigurationArgs{...}

or:

        nil

type RepositoryImageScanningConfigurationPtrOutput

type RepositoryImageScanningConfigurationPtrOutput struct{ *pulumi.OutputState }

func (RepositoryImageScanningConfigurationPtrOutput) Elem

func (RepositoryImageScanningConfigurationPtrOutput) ElementType

func (RepositoryImageScanningConfigurationPtrOutput) ScanOnPush

Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).

func (RepositoryImageScanningConfigurationPtrOutput) ToRepositoryImageScanningConfigurationPtrOutput

func (o RepositoryImageScanningConfigurationPtrOutput) ToRepositoryImageScanningConfigurationPtrOutput() RepositoryImageScanningConfigurationPtrOutput

func (RepositoryImageScanningConfigurationPtrOutput) ToRepositoryImageScanningConfigurationPtrOutputWithContext

func (o RepositoryImageScanningConfigurationPtrOutput) ToRepositoryImageScanningConfigurationPtrOutputWithContext(ctx context.Context) RepositoryImageScanningConfigurationPtrOutput

type RepositoryInput

type RepositoryInput interface {
	pulumi.Input

	ToRepositoryOutput() RepositoryOutput
	ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput
}

type RepositoryMap

type RepositoryMap map[string]RepositoryInput

func (RepositoryMap) ElementType

func (RepositoryMap) ElementType() reflect.Type

func (RepositoryMap) ToRepositoryMapOutput

func (i RepositoryMap) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMap) ToRepositoryMapOutputWithContext

func (i RepositoryMap) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryMapInput

type RepositoryMapInput interface {
	pulumi.Input

	ToRepositoryMapOutput() RepositoryMapOutput
	ToRepositoryMapOutputWithContext(context.Context) RepositoryMapOutput
}

RepositoryMapInput is an input type that accepts RepositoryMap and RepositoryMapOutput values. You can construct a concrete instance of `RepositoryMapInput` via:

RepositoryMap{ "key": RepositoryArgs{...} }

type RepositoryMapOutput

type RepositoryMapOutput struct{ *pulumi.OutputState }

func (RepositoryMapOutput) ElementType

func (RepositoryMapOutput) ElementType() reflect.Type

func (RepositoryMapOutput) MapIndex

func (RepositoryMapOutput) ToRepositoryMapOutput

func (o RepositoryMapOutput) ToRepositoryMapOutput() RepositoryMapOutput

func (RepositoryMapOutput) ToRepositoryMapOutputWithContext

func (o RepositoryMapOutput) ToRepositoryMapOutputWithContext(ctx context.Context) RepositoryMapOutput

type RepositoryOutput

type RepositoryOutput struct{ *pulumi.OutputState }

func (RepositoryOutput) Arn

Full ARN of the repository.

func (RepositoryOutput) ElementType

func (RepositoryOutput) ElementType() reflect.Type

func (RepositoryOutput) EncryptionConfigurations

Encryption configuration for the repository. See below for schema.

func (RepositoryOutput) ForceDelete

func (o RepositoryOutput) ForceDelete() pulumi.BoolPtrOutput

If `true`, will delete the repository even if it contains images. Defaults to `false`.

func (RepositoryOutput) ImageScanningConfiguration

func (o RepositoryOutput) ImageScanningConfiguration() RepositoryImageScanningConfigurationPtrOutput

Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning.

func (RepositoryOutput) ImageTagMutability

func (o RepositoryOutput) ImageTagMutability() pulumi.StringPtrOutput

The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`.

func (RepositoryOutput) Name

Name of the repository.

func (RepositoryOutput) RegistryId

func (o RepositoryOutput) RegistryId() pulumi.StringOutput

The registry ID where the repository was created.

func (RepositoryOutput) RepositoryUrl

func (o RepositoryOutput) RepositoryUrl() pulumi.StringOutput

The URL of the repository (in the form `aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName`).

func (RepositoryOutput) Tags

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 (RepositoryOutput) TagsAll deprecated

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

Deprecated: Please use `tags` instead.

func (RepositoryOutput) ToRepositoryOutput

func (o RepositoryOutput) ToRepositoryOutput() RepositoryOutput

func (RepositoryOutput) ToRepositoryOutputWithContext

func (o RepositoryOutput) ToRepositoryOutputWithContext(ctx context.Context) RepositoryOutput

type RepositoryPolicy

type RepositoryPolicy struct {
	pulumi.CustomResourceState

	// The policy document. This is a JSON formatted string.
	Policy pulumi.StringOutput `pulumi:"policy"`
	// The registry ID where the repository was created.
	RegistryId pulumi.StringOutput `pulumi:"registryId"`
	// Name of the repository to apply the policy.
	Repository pulumi.StringOutput `pulumi:"repository"`
}

Provides an Elastic Container Registry Repository Policy.

Note that currently only one policy may be applied to a repository.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ecr"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleRepository, err := ecr.NewRepository(ctx, "example", &ecr.RepositoryArgs{
			Name: pulumi.String("example-repo"),
		})
		if err != nil {
			return err
		}
		example, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				{
					Sid:    pulumi.StringRef("new policy"),
					Effect: pulumi.StringRef("Allow"),
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						{
							Type: "AWS",
							Identifiers: []string{
								"123456789012",
							},
						},
					},
					Actions: []string{
						"ecr:GetDownloadUrlForLayer",
						"ecr:BatchGetImage",
						"ecr:BatchCheckLayerAvailability",
						"ecr:PutImage",
						"ecr:InitiateLayerUpload",
						"ecr:UploadLayerPart",
						"ecr:CompleteLayerUpload",
						"ecr:DescribeRepositories",
						"ecr:GetRepositoryPolicy",
						"ecr:ListImages",
						"ecr:DeleteRepository",
						"ecr:BatchDeleteImage",
						"ecr:SetRepositoryPolicy",
						"ecr:DeleteRepositoryPolicy",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = ecr.NewRepositoryPolicy(ctx, "example", &ecr.RepositoryPolicyArgs{
			Repository: exampleRepository.Name,
			Policy:     pulumi.String(example.Json),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ECR Repository Policy using the repository name. For example:

```sh $ pulumi import aws:ecr/repositoryPolicy:RepositoryPolicy example example ```

func GetRepositoryPolicy

func GetRepositoryPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *RepositoryPolicyState, opts ...pulumi.ResourceOption) (*RepositoryPolicy, error)

GetRepositoryPolicy gets an existing RepositoryPolicy 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 NewRepositoryPolicy

func NewRepositoryPolicy(ctx *pulumi.Context,
	name string, args *RepositoryPolicyArgs, opts ...pulumi.ResourceOption) (*RepositoryPolicy, error)

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

func (*RepositoryPolicy) ElementType

func (*RepositoryPolicy) ElementType() reflect.Type

func (*RepositoryPolicy) ToRepositoryPolicyOutput

func (i *RepositoryPolicy) ToRepositoryPolicyOutput() RepositoryPolicyOutput

func (*RepositoryPolicy) ToRepositoryPolicyOutputWithContext

func (i *RepositoryPolicy) ToRepositoryPolicyOutputWithContext(ctx context.Context) RepositoryPolicyOutput

type RepositoryPolicyArgs

type RepositoryPolicyArgs struct {
	// The policy document. This is a JSON formatted string.
	Policy pulumi.Input
	// Name of the repository to apply the policy.
	Repository pulumi.StringInput
}

The set of arguments for constructing a RepositoryPolicy resource.

func (RepositoryPolicyArgs) ElementType

func (RepositoryPolicyArgs) ElementType() reflect.Type

type RepositoryPolicyArray

type RepositoryPolicyArray []RepositoryPolicyInput

func (RepositoryPolicyArray) ElementType

func (RepositoryPolicyArray) ElementType() reflect.Type

func (RepositoryPolicyArray) ToRepositoryPolicyArrayOutput

func (i RepositoryPolicyArray) ToRepositoryPolicyArrayOutput() RepositoryPolicyArrayOutput

func (RepositoryPolicyArray) ToRepositoryPolicyArrayOutputWithContext

func (i RepositoryPolicyArray) ToRepositoryPolicyArrayOutputWithContext(ctx context.Context) RepositoryPolicyArrayOutput

type RepositoryPolicyArrayInput

type RepositoryPolicyArrayInput interface {
	pulumi.Input

	ToRepositoryPolicyArrayOutput() RepositoryPolicyArrayOutput
	ToRepositoryPolicyArrayOutputWithContext(context.Context) RepositoryPolicyArrayOutput
}

RepositoryPolicyArrayInput is an input type that accepts RepositoryPolicyArray and RepositoryPolicyArrayOutput values. You can construct a concrete instance of `RepositoryPolicyArrayInput` via:

RepositoryPolicyArray{ RepositoryPolicyArgs{...} }

type RepositoryPolicyArrayOutput

type RepositoryPolicyArrayOutput struct{ *pulumi.OutputState }

func (RepositoryPolicyArrayOutput) ElementType

func (RepositoryPolicyArrayOutput) Index

func (RepositoryPolicyArrayOutput) ToRepositoryPolicyArrayOutput

func (o RepositoryPolicyArrayOutput) ToRepositoryPolicyArrayOutput() RepositoryPolicyArrayOutput

func (RepositoryPolicyArrayOutput) ToRepositoryPolicyArrayOutputWithContext

func (o RepositoryPolicyArrayOutput) ToRepositoryPolicyArrayOutputWithContext(ctx context.Context) RepositoryPolicyArrayOutput

type RepositoryPolicyInput

type RepositoryPolicyInput interface {
	pulumi.Input

	ToRepositoryPolicyOutput() RepositoryPolicyOutput
	ToRepositoryPolicyOutputWithContext(ctx context.Context) RepositoryPolicyOutput
}

type RepositoryPolicyMap

type RepositoryPolicyMap map[string]RepositoryPolicyInput

func (RepositoryPolicyMap) ElementType

func (RepositoryPolicyMap) ElementType() reflect.Type

func (RepositoryPolicyMap) ToRepositoryPolicyMapOutput

func (i RepositoryPolicyMap) ToRepositoryPolicyMapOutput() RepositoryPolicyMapOutput

func (RepositoryPolicyMap) ToRepositoryPolicyMapOutputWithContext

func (i RepositoryPolicyMap) ToRepositoryPolicyMapOutputWithContext(ctx context.Context) RepositoryPolicyMapOutput

type RepositoryPolicyMapInput

type RepositoryPolicyMapInput interface {
	pulumi.Input

	ToRepositoryPolicyMapOutput() RepositoryPolicyMapOutput
	ToRepositoryPolicyMapOutputWithContext(context.Context) RepositoryPolicyMapOutput
}

RepositoryPolicyMapInput is an input type that accepts RepositoryPolicyMap and RepositoryPolicyMapOutput values. You can construct a concrete instance of `RepositoryPolicyMapInput` via:

RepositoryPolicyMap{ "key": RepositoryPolicyArgs{...} }

type RepositoryPolicyMapOutput

type RepositoryPolicyMapOutput struct{ *pulumi.OutputState }

func (RepositoryPolicyMapOutput) ElementType

func (RepositoryPolicyMapOutput) ElementType() reflect.Type

func (RepositoryPolicyMapOutput) MapIndex

func (RepositoryPolicyMapOutput) ToRepositoryPolicyMapOutput

func (o RepositoryPolicyMapOutput) ToRepositoryPolicyMapOutput() RepositoryPolicyMapOutput

func (RepositoryPolicyMapOutput) ToRepositoryPolicyMapOutputWithContext

func (o RepositoryPolicyMapOutput) ToRepositoryPolicyMapOutputWithContext(ctx context.Context) RepositoryPolicyMapOutput

type RepositoryPolicyOutput

type RepositoryPolicyOutput struct{ *pulumi.OutputState }

func (RepositoryPolicyOutput) ElementType

func (RepositoryPolicyOutput) ElementType() reflect.Type

func (RepositoryPolicyOutput) Policy

The policy document. This is a JSON formatted string.

func (RepositoryPolicyOutput) RegistryId

The registry ID where the repository was created.

func (RepositoryPolicyOutput) Repository

Name of the repository to apply the policy.

func (RepositoryPolicyOutput) ToRepositoryPolicyOutput

func (o RepositoryPolicyOutput) ToRepositoryPolicyOutput() RepositoryPolicyOutput

func (RepositoryPolicyOutput) ToRepositoryPolicyOutputWithContext

func (o RepositoryPolicyOutput) ToRepositoryPolicyOutputWithContext(ctx context.Context) RepositoryPolicyOutput

type RepositoryPolicyState

type RepositoryPolicyState struct {
	// The policy document. This is a JSON formatted string.
	Policy pulumi.Input
	// The registry ID where the repository was created.
	RegistryId pulumi.StringPtrInput
	// Name of the repository to apply the policy.
	Repository pulumi.StringPtrInput
}

func (RepositoryPolicyState) ElementType

func (RepositoryPolicyState) ElementType() reflect.Type

type RepositoryState

type RepositoryState struct {
	// Full ARN of the repository.
	Arn pulumi.StringPtrInput
	// Encryption configuration for the repository. See below for schema.
	EncryptionConfigurations RepositoryEncryptionConfigurationArrayInput
	// If `true`, will delete the repository even if it contains images.
	// Defaults to `false`.
	ForceDelete pulumi.BoolPtrInput
	// Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the [ECR User Guide](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-scanning.html) for more information about image scanning.
	ImageScanningConfiguration RepositoryImageScanningConfigurationPtrInput
	// The tag mutability setting for the repository. Must be one of: `MUTABLE` or `IMMUTABLE`. Defaults to `MUTABLE`.
	ImageTagMutability pulumi.StringPtrInput
	// Name of the repository.
	Name pulumi.StringPtrInput
	// The registry ID where the repository was created.
	RegistryId pulumi.StringPtrInput
	// The URL of the repository (in the form `aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName`).
	RepositoryUrl 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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
}

func (RepositoryState) ElementType

func (RepositoryState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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