Repository

Provides an Elastic Container Registry Repository.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var foo = new Aws.Ecr.Repository("foo", new Aws.Ecr.RepositoryArgs
        {
            ImageScanningConfiguration = new Aws.Ecr.Inputs.RepositoryImageScanningConfigurationArgs
            {
                ScanOnPush = true,
            },
            ImageTagMutability = "MUTABLE",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/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{
			ImageScanningConfiguration: &ecr.RepositoryImageScanningConfigurationArgs{
				ScanOnPush: pulumi.Bool(true),
			},
			ImageTagMutability: pulumi.String("MUTABLE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

foo = aws.ecr.Repository("foo",
    image_scanning_configuration=aws.ecr.RepositoryImageScanningConfigurationArgs(
        scan_on_push=True,
    ),
    image_tag_mutability="MUTABLE")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = new aws.ecr.Repository("foo", {
    imageScanningConfiguration: {
        scanOnPush: true,
    },
    imageTagMutability: "MUTABLE",
});

Create a Repository Resource

new Repository(name: string, args?: RepositoryArgs, opts?: CustomResourceOptions);
@overload
def Repository(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               encryption_configurations: Optional[Sequence[RepositoryEncryptionConfigurationArgs]] = None,
               image_scanning_configuration: Optional[RepositoryImageScanningConfigurationArgs] = None,
               image_tag_mutability: Optional[str] = None,
               name: Optional[str] = None,
               tags: Optional[Mapping[str, str]] = None)
@overload
def Repository(resource_name: str,
               args: Optional[RepositoryArgs] = None,
               opts: Optional[ResourceOptions] = None)
func NewRepository(ctx *Context, name string, args *RepositoryArgs, opts ...ResourceOption) (*Repository, error)
public Repository(string name, RepositoryArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args RepositoryArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args RepositoryArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args RepositoryArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args RepositoryArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

Repository Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Repository resource accepts the following input properties:

EncryptionConfigurations List<RepositoryEncryptionConfigurationArgs>
Encryption configuration for the repository. See below for schema.
ImageScanningConfiguration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
ImageTagMutability string
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
Name string
Name of the repository.
Tags Dictionary<string, string>
EncryptionConfigurations []RepositoryEncryptionConfigurationArgs
Encryption configuration for the repository. See below for schema.
ImageScanningConfiguration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
ImageTagMutability string
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
Name string
Name of the repository.
Tags map[string]string
encryptionConfigurations RepositoryEncryptionConfigurationArgs[]
Encryption configuration for the repository. See below for schema.
imageScanningConfiguration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
imageTagMutability string
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
name string
Name of the repository.
tags {[key: string]: string}
encryption_configurations Sequence[RepositoryEncryptionConfigurationArgs]
Encryption configuration for the repository. See below for schema.
image_scanning_configuration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
image_tag_mutability str
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
name str
Name of the repository.
tags Mapping[str, str]

Outputs

All input properties are implicitly available as output properties. Additionally, the Repository resource produces the following output properties:

Arn string
Full ARN of the repository.
Id string
The provider-assigned unique ID for this managed resource.
RegistryId string
The registry ID where the repository was created.
RepositoryUrl string
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
TagsAll Dictionary<string, string>
Arn string
Full ARN of the repository.
Id string
The provider-assigned unique ID for this managed resource.
RegistryId string
The registry ID where the repository was created.
RepositoryUrl string
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
TagsAll map[string]string
arn string
Full ARN of the repository.
id string
The provider-assigned unique ID for this managed resource.
registryId string
The registry ID where the repository was created.
repositoryUrl string
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
tagsAll {[key: string]: string}
arn str
Full ARN of the repository.
id str
The provider-assigned unique ID for this managed resource.
registry_id str
The registry ID where the repository was created.
repository_url str
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
tags_all Mapping[str, str]

Look up an Existing Repository Resource

Get an existing Repository resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: RepositoryState, opts?: CustomResourceOptions): Repository
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        encryption_configurations: Optional[Sequence[RepositoryEncryptionConfigurationArgs]] = None,
        image_scanning_configuration: Optional[RepositoryImageScanningConfigurationArgs] = None,
        image_tag_mutability: Optional[str] = None,
        name: Optional[str] = None,
        registry_id: Optional[str] = None,
        repository_url: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> Repository
func GetRepository(ctx *Context, name string, id IDInput, state *RepositoryState, opts ...ResourceOption) (*Repository, error)
public static Repository Get(string name, Input<string> id, RepositoryState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Arn string
Full ARN of the repository.
EncryptionConfigurations List<RepositoryEncryptionConfigurationArgs>
Encryption configuration for the repository. See below for schema.
ImageScanningConfiguration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
ImageTagMutability string
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
Name string
Name of the repository.
RegistryId string
The registry ID where the repository was created.
RepositoryUrl string
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
Tags Dictionary<string, string>
TagsAll Dictionary<string, string>
Arn string
Full ARN of the repository.
EncryptionConfigurations []RepositoryEncryptionConfigurationArgs
Encryption configuration for the repository. See below for schema.
ImageScanningConfiguration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
ImageTagMutability string
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
Name string
Name of the repository.
RegistryId string
The registry ID where the repository was created.
RepositoryUrl string
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
Tags map[string]string
TagsAll map[string]string
arn string
Full ARN of the repository.
encryptionConfigurations RepositoryEncryptionConfigurationArgs[]
Encryption configuration for the repository. See below for schema.
imageScanningConfiguration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
imageTagMutability string
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
name string
Name of the repository.
registryId string
The registry ID where the repository was created.
repositoryUrl string
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
tags {[key: string]: string}
tagsAll {[key: string]: string}
arn str
Full ARN of the repository.
encryption_configurations Sequence[RepositoryEncryptionConfigurationArgs]
Encryption configuration for the repository. See below for schema.
image_scanning_configuration RepositoryImageScanningConfigurationArgs
Configuration block that defines image scanning configuration for the repository. By default, image scanning must be manually triggered. See the ECR User Guide for more information about image scanning.
image_tag_mutability str
The tag mutability setting for the repository. Must be one of: MUTABLE or IMMUTABLE. Defaults to MUTABLE.
name str
Name of the repository.
registry_id str
The registry ID where the repository was created.
repository_url str
The URL of the repository (in the form aws_account_id.dkr.ecr.region.amazonaws.com/repositoryName).
tags Mapping[str, str]
tags_all Mapping[str, str]

Supporting Types

RepositoryEncryptionConfiguration

EncryptionType string
The encryption type to use for the repository. Valid values are AES256 or KMS. Defaults to AES256.
KmsKey string
The ARN of the KMS key to use when encryption_type is KMS. If not specified, uses the default AWS managed key for ECR.
EncryptionType string
The encryption type to use for the repository. Valid values are AES256 or KMS. Defaults to AES256.
KmsKey string
The ARN of the KMS key to use when encryption_type is KMS. If not specified, uses the default AWS managed key for ECR.
encryptionType string
The encryption type to use for the repository. Valid values are AES256 or KMS. Defaults to AES256.
kmsKey string
The ARN of the KMS key to use when encryption_type is KMS. If not specified, uses the default AWS managed key for ECR.
encryption_type str
The encryption type to use for the repository. Valid values are AES256 or KMS. Defaults to AES256.
kms_key str
The ARN of the KMS key to use when encryption_type is KMS. If not specified, uses the default AWS managed key for ECR.

RepositoryImageScanningConfiguration

ScanOnPush bool
Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).
ScanOnPush bool
Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).
scanOnPush boolean
Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).
scan_on_push bool
Indicates whether images are scanned after being pushed to the repository (true) or not scanned (false).

Import

ECR Repositories can be imported using the name, e.g.

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

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.