Definitions for @turbot/aws-ecr
- destinationsItems
- ecr
- ecrAka
- image
- imageAka
- imageDigest
- imageTags
- privateRegistry
- privateRegistryAka
- publicRepository
- publicRepositoryAka
- repository
- repositoryAka
- repositoryFiltersItems
- repositoryName
- rulesItems
destinationsItems
Schema
{ "type": "object", "properties": { "region": { "type": "string" }, "registryId": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/destinationsItems", "modUri": "tmod:@turbot/aws-ecr" }}
ecr
Schema
{ "allOf": [ { "$ref": "turbot#/definitions/service" }, { "type": "object", "properties": { "name": { "const": "ECR" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/ecrAka" } }, "title": { "const": "ECR" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - all properties", "input": { "name": "ECR", "turbot": { "akas": [ "arn:aws:ecr:us-east-1:123123123123" ], "title": "ECR", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-west-2" } } } } } ] } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/ecr", "modUri": "tmod:@turbot/aws-ecr" }}
ecrAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ecr:[a-z]{2}(-gov)?-[a-z]+-[0-9]{1}:[0-9]{12}$", "tests": [ { "description": "base", "input": "arn:aws:ecr:us-east-1:123123123123" }, { "description": "Invalid - service name not valid", "input": "arn:aws:ecrs:us-east-1:123123123123", "expected": false }, { "description": "Invalid - account id is not valid", "input": "arn:aws:ecr:us-east-1:1233123", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/ecrAka", "modUri": "tmod:@turbot/aws-ecr" }}
image
Schema
{ "type": "object", "properties": { "registryId": { "$ref": "aws#/definitions/accountId" }, "repositoryName": { "$ref": "#/definitions/repositoryName" }, "imageTagMutability": { "type": "string" }, "imageId": { "type": "object" }, "imageManifest": { "type": "string" }, "imageManifestMediaType": { "type": "string" }, "imageDigest": { "type": "string" }, "imageTags": { "type": "array" }, "imageSizeInBytes": { "type": "integer" }, "imagePushedAt": { "$ref": "turbot#/definitions/isoTimestamp" }, "imageScanStatus": { "type": "object" }, "imageScanFindingsSummary": { "type": "object" }, "artifactMediaType": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/imageAka" } }, "title": { "$ref": "#/definitions/imageDigest" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "registryId": "560741234067", "repositoryName": "image-check", "imagePushedAt": "2019-11-11T06:34:17.000Z", "imageTagMutability": "MUTABLE", "imageManifestMediaType": "application/vnd.docker.distribution.manifest.v2+json", "imageDigest": "sha256:8ece96b74f87652876199d83bd107d0435a196133af383ac54cb82b6cc5283ae", "imageTags": [ "latest" ], "imageSizeInBytes": 83920101, "imageScanStatus": { "status": "COMPLETE,", "description": "The scan was completed successfully." }, "imageScanFindingsSummary": { "imageScanCompletedAt": "2021-04-05T15:12:32+05:30,", "vulnerabilitySourceUpdatedAt": "2021-04-02T21:12:09+05:30,", "findingSeverityCounts": { "MEDIUM": 5, "INFORMATIONAL": 8, "LOW": 19 } }, "artifactMediaType": "application/vnd.docker.container.image.v1+json", "turbot": { "akas": [ "arn:aws:ecr:us-east-1:986325076436:repository/image-check/image/sha256:29739bc50d65364d0ecb54ce3eb96d409ded4c1317c8bafdfc099d2501b7edd2" ], "title": "sha256:29739bc50d65364d0ecb54ce3eb96d409ded4c1317c8bafdfc099d2501b7edd2", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/image", "modUri": "tmod:@turbot/aws-ecr" }}
imageAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ecr:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:repository/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*/image/(.+)$", "tests": [ { "description": "valid arn", "input": "arn:aws:ecr:us-east-1:986325076436:repository/image-check/image/sha256:29739bc50d65364d0ecb54ce3eb96d409ded4c1317c8bafdfc099d2501b7edd2" }, { "description": "invalid - missing image", "input": "arn:aws:ecr:us-west-2:986325076436:repository/name.space/image-new/", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/imageAka", "modUri": "tmod:@turbot/aws-ecr" }}
imageDigest
Schema
{ "type": "string", ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/imageDigest", "modUri": "tmod:@turbot/aws-ecr" }}
imageTags
Schema
{ "type": "string", ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/imageTags", "modUri": "tmod:@turbot/aws-ecr" }}
privateRegistry
Schema
{ "type": "object", "properties": { "Name": { "type": "string" }, "registryId": { "$ref": "aws#/definitions/accountId" }, "RegistryPermissions": { "type": "object" }, "replicationConfiguration": { "type": "object", "properties": { "rules": { "type": "array", "items": { "$ref": "#/definitions/rulesItems" } } } }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/privateRegistryAka" } }, "title": { "type": "string" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" } } } } } }, "additionalProperties": true, ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/privateRegistry", "modUri": "tmod:@turbot/aws-ecr" }}
privateRegistryAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ecr:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:privateregistry$", "tests": [ { "description": "valid arn", "input": "arn:aws:ecr:us-east-1:111111111111:privateregistry" }, { "description": "invalid - AWS account id is wrong", "input": "arn:aws:ecr:us-west-2:4925:privateregistry", "expected": false }, { "description": "invalid - arn cannot be empty", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/privateRegistryAka", "modUri": "tmod:@turbot/aws-ecr" }}
publicRepository
Schema
{ "type": "object", "properties": { "registryId": { "$ref": "aws#/definitions/accountId" }, "repositoryName": { "$ref": "#/definitions/repositoryName" }, "repositoryArn": { "$ref": "#/definitions/publicRepositoryAka" }, "repositoryUri": { "type": "string" }, "createdAt": { "$ref": "turbot#/definitions/isoTimestamp" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/publicRepositoryAka" } }, "title": { "$ref": "#/definitions/repositoryName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "repositoryArn": "arn:aws:ecr-public:us-west-2:560741234067:repository/ved-test", "registryId": "560741234067", "repositoryName": "ved-test", "repositoryUri": "560741234067.dkr.ecr.us-west-2.amazonaws.com/ved-test", "createdAt": "2019-11-11T06:34:17.000Z", "imageTagMutability": "MUTABLE", "turbot": { "akas": [ "arn:aws:ecr-public:us-east-1:111111111111:repository/name.space/ved-test" ], "title": "name.space/ved-test", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/publicRepository", "modUri": "tmod:@turbot/aws-ecr" }}
publicRepositoryAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ecr-public::[0-9]{12}:repository/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*$", "tests": [ { "description": "valid arn", "input": "arn:aws:ecr-public:us-east-1:111111111111:repository/name.space/ved-test" }, { "description": "arn with the different region", "input": "arn:aws:ecr-public:us-west-2:111111111111:repository/name.space/ved-testame" }, { "description": "invalid - should start with arn", "input": "hi hi", "expected": false }, { "description": "invalid - AWS account id is wrong", "input": "arn:aws:ecr-public:us-west-2:4925:repository/name.space/ved-test", "expected": false }, { "description": "invalid - arn cannot be empty", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/publicRepositoryAka", "modUri": "tmod:@turbot/aws-ecr" }}
repository
Schema
{ "type": "object", "properties": { "registryId": { "$ref": "aws#/definitions/accountId" }, "repositoryName": { "$ref": "#/definitions/repositoryName" }, "repositoryArn": { "$ref": "#/definitions/repositoryAka" }, "repositoryUri": { "type": "string" }, "createdAt": { "$ref": "turbot#/definitions/isoTimestamp" }, "imageTagMutability": { "type": "string" }, "policyText": { "type": "string" }, "lifecyclePolicyText": { "type": "string" }, "turbot": { "type": "object", "properties": { "akas": { "type": "array", "items": { "$ref": "#/definitions/repositoryAka" } }, "title": { "$ref": "#/definitions/repositoryName" }, "custom": { "type": "object", "properties": { "aws": { "$ref": "aws#/definitions/awsMetadata" }, "createTimestamp": { "$ref": "turbot#/definitions/isoTimestamp" } } } } } }, "additionalProperties": true, "tests": [ { "description": "Valid - All properties", "input": { "repositoryArn": "arn:aws:ecr:us-west-2:560741234067:repository/ved-test", "registryId": "560741234067", "repositoryName": "ved-test", "repositoryUri": "560741234067.dkr.ecr.us-west-2.amazonaws.com/ved-test", "createdAt": "2019-11-11T06:34:17.000Z", "imageTagMutability": "MUTABLE", "turbot": { "akas": [ "arn:aws:ecr:us-east-1:111111111111:repository/name.space/ved-test" ], "title": "name.space/ved-test", "custom": { "aws": { "accountId": 123456789012, "regionName": "us-east-1" } } } } } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/repository", "modUri": "tmod:@turbot/aws-ecr" }}
repositoryAka
Schema
{ "type": "string", "pattern": "^arn:aws(-us-gov|-cn)?:ecr:[a-z]{2}(-gov)?-[a-z]+-[0-9]:[0-9]{12}:repository/(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*$", "tests": [ { "description": "valid arn", "input": "arn:aws:ecr:us-east-1:111111111111:repository/name.space/ved-test" }, { "description": "arn with the different region", "input": "arn:aws:ecr:us-west-2:111111111111:repository/name.space/ved-testame" }, { "description": "invalid - should start with arn", "input": "hi hi", "expected": false }, { "description": "invalid - AWS account id is wrong", "input": "arn:aws:ecr:us-west-2:4925:repository/name.space/ved-test", "expected": false }, { "description": "invalid - arn cannot be empty", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/repositoryAka", "modUri": "tmod:@turbot/aws-ecr" }}
repositoryFiltersItems
Schema
{ "type": "object", "properties": { "filter": { "type": "string" }, "filterType": { "type": "string" } }, ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/repositoryFiltersItems", "modUri": "tmod:@turbot/aws-ecr" }}
repositoryName
Schema
{ "type": "string", "minLength": 2, "maxLength": 256, "pattern": "^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*$", "tests": [ { "input": "name.space/ved-test" }, { "description": "max length", "input": "a23456789_123456790_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789/123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456" }, { "description": "invalid - should start with lowercase only", "input": "Test0001", "expected": false }, { "description": "invalid - too long", "input": "a23456789_123456790_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789/123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_123456789_1234567", "expected": false }, { "description": "invalid - dollar, at symbol not allowed", "input": "namespace$parent@repo01-child_01", "expected": false }, { "description": "invalid - empty string", "input": "", "expected": false } ], ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/repositoryName", "modUri": "tmod:@turbot/aws-ecr" }}
rulesItems
Schema
{ "type": "object", "properties": { "destinations": { "type": "array", "items": { "$ref": "#/definitions/destinationsItems" } }, "repositoryFilters": { "type": "array", "items": { "$ref": "#/definitions/repositoryFiltersItems" } } }, ".turbot": { "uri": "tmod:@turbot/aws-ecr#/definitions/rulesItems", "modUri": "tmod:@turbot/aws-ecr" }}