Skip to main content

Check out Port for yourself ➜ 

Amazon Elastic Container Registry (ECR)

AWS::ECR::Repository

The following example demonstrates how to ingest your AWS ECR repositories to Port.

ECR Repository supported actions

The table below summarizes the available actions for ingesting Amazon ECR Repository resources in Port:

ActionDescriptionTypeRequired AWS Permission
DescribeRepositoriesActionDiscover ECR repositories and retrieve detailed configuration data.Defaultecr:DescribeRepositories
GetRepositoryPolicyActionRetrieve the repository policy for ECR repositories.Optionalecr:GetRepositoryPolicy
GetLifecyclePolicyActionRetrieve the lifecycle policy for ECR repositories.Optionalecr:GetLifecyclePolicy
ListTagsForResourceActionRetrieve tags associated with ECR repositories.Optionalecr:ListTagsForResource
Optional Properties Note

Properties of optional actions will not appear in the response unless you explicitly include the action that provides them in your configuration.

You can use the following Port blueprint definitions and integration configuration:

ECR Repository blueprint (click to expand)
{
"identifier": "ecrRepository",
"description": "This blueprint represents an AWS ECR repository in our software catalog",
"title": "ECR Repository",
"icon": "AWS",
"schema": {
"properties": {
"repositoryUri": {
"type": "string",
"title": "Repository URI"
},
"registryId": {
"type": "string",
"title": "Registry ID"
},
"createdAt": {
"type": "string",
"title": "Created At"
},
"imageTagMutability": {
"type": "string",
"title": "Image Tag Mutability"
},
"imageScanningConfiguration": {
"type": "object",
"title": "Image Scanning Configuration"
},
"encryptionConfiguration": {
"type": "object",
"title": "Encryption Configuration"
},
"lifecyclePolicy": {
"type": "object",
"title": "Lifecycle Policy"
},
"repositoryPolicyText": {
"type": "string",
"title": "Repository Policy Text"
},
"tags": {
"type": "array",
"title": "Tags",
"items": {
"type": "object",
"properties": {
"Key": {
"type": "string"
},
"Value": {
"type": "string"
}
}
}
}
},
"required": []
},
"mirrorProperties": {},
"calculationProperties": {},
"aggregationProperties": {},
"relations": {
"account": {
"title": "Account",
"target": "awsAccount",
"required": true,
"many": false
}
}
}
ECR Repository mapping configuration (click to expand)
resources:
- kind: AWS::ECR::Repository
selector:
query: 'true'
includeActions:
# Optional: Include additional actions for more properties
# - GetRepositoryPolicyAction
# - GetLifecyclePolicyAction
# - ListTagsForResourceAction
port:
entity:
mappings:
identifier: .Properties.RepositoryArn
title: .Properties.RepositoryName
blueprint: '"ecrRepository"'
properties:
repositoryUri: .Properties.RepositoryUri
registryId: .Properties.RegistryId
createdAt: .Properties.CreatedAt
imageTagMutability: .Properties.ImageTagMutability
imageScanningConfiguration: .Properties.ImageScanningConfiguration
encryptionConfiguration: .Properties.EncryptionConfiguration
lifecyclePolicy: .Properties.LifecyclePolicy
repositoryPolicyText: .Properties.RepositoryPolicyText
tags: .Properties.Tags
relations:
account: .__ExtraContext.AccountId

For more details about ECR repository properties, refer to the AWS ECR API documentation.