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:
| Action | Description | Type | Required AWS Permission |
|---|---|---|---|
| DescribeRepositoriesAction | Discover ECR repositories and retrieve detailed configuration data. | Default | ecr:DescribeRepositories |
| GetRepositoryPolicyAction | Retrieve the repository policy for ECR repositories. | Optional | ecr:GetRepositoryPolicy |
| GetLifecyclePolicyAction | Retrieve the lifecycle policy for ECR repositories. | Optional | ecr:GetLifecyclePolicy |
| ListTagsForResourceAction | Retrieve tags associated with ECR repositories. | Optional | ecr: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.