cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
294 lines (293 loc) • 11.7 kB
TypeScript
import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
import { aws_iam as iam } from "aws-cdk-lib";
/**
* Statement provider for service [ecr-public](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistrypublic.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class EcrPublic extends PolicyStatement {
servicePrefix: string;
/**
* Grants permission to check the availability of multiple image layers in a specified registry and repository
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_BatchCheckLayerAvailability.html
*/
toBatchCheckLayerAvailability(): this;
/**
* Grants permission to delete a list of specified images within a specified repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_BatchDeleteImage.html
*/
toBatchDeleteImage(): this;
/**
* Grants permission to inform Amazon ECR that the image layer upload for a specified registry, repository name, and upload ID, has completed
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_CompleteLayerUpload.html
*/
toCompleteLayerUpload(): this;
/**
* Grants permission to create an image repository
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - ecr-public:TagResource
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_CreateRepository.html
*/
toCreateRepository(): this;
/**
* Grants permission to delete an existing image repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_DeleteRepository.html
*/
toDeleteRepository(): this;
/**
* Grants permission to delete the repository policy from a specified repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_DeleteRepositoryPolicy.html
*/
toDeleteRepositoryPolicy(): this;
/**
* Grants permission to describe all the image tags for a given repository
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_DescribeImageTags.html
*/
toDescribeImageTags(): this;
/**
* Grants permission to get metadata about the images in a repository, including image size, image tags, and creation date
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_DescribeImages.html
*/
toDescribeImages(): this;
/**
* Grants permission to retrieve the catalog data associated with a registry
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_DescribeRegistries.html
*/
toDescribeRegistries(): this;
/**
* Grants permission to describe image repositories in a registry
*
* Access Level: List
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_DescribeRepositories.html
*/
toDescribeRepositories(): this;
/**
* Grants permission to retrieve a token that is valid for a specified registry for 12 hours
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_GetAuthorizationToken.html
*/
toGetAuthorizationToken(): this;
/**
* Grants permission to retrieve the catalog data associated with a registry
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_GetRegistryCatalogData.html
*/
toGetRegistryCatalogData(): this;
/**
* Grants permission to retrieve the catalog data associated with a repository
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_GetRepositoryCatalogData.html
*/
toGetRepositoryCatalogData(): this;
/**
* Grants permission to retrieve the repository policy for a specified repository
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_GetRepositoryPolicy.html
*/
toGetRepositoryPolicy(): this;
/**
* Grants permission to notify Amazon ECR that you intend to upload an image layer
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_InitiateLayerUpload.html
*/
toInitiateLayerUpload(): this;
/**
* Grants permission to list the tags for an Amazon ECR resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource(): this;
/**
* Grants permission to create or update the image manifest associated with an image
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_PutImage.html
*/
toPutImage(): this;
/**
* Grants permission to create and update the catalog data associated with a registry
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_PutRegistryCatalogData.html
*/
toPutRegistryCatalogData(): this;
/**
* Grants permission to update the catalog data associated with a repository
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_PutRepositoryCatalogData.html
*/
toPutRepositoryCatalogData(): this;
/**
* Grants permission to apply a repository policy on a specified repository to control access permissions
*
* Access Level: Permissions management
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_SetRepositoryPolicy.html
*/
toSetRepositoryPolicy(): this;
/**
* Grants permission to tag an Amazon ECR resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_TagResource.html
*/
toTagResource(): this;
/**
* Grants permission to untag an Amazon ECR resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_UntagResource.html
*/
toUntagResource(): this;
/**
* Grants permission to upload an image layer part to Amazon ECR Public
*
* Access Level: Write
*
* https://docs.aws.amazon.com/AmazonECRPublic/latest/APIReference/API_UploadLayerPart.html
*/
toUploadLayerPart(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type repository to the statement
*
* https://docs.aws.amazon.com/AmazonECR/latest/userguide/iam-policy-structure.html#ECR-Public_ARN_Format
*
* @param repositoryName - Identifier for the repositoryName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifResourceTag()
*/
onRepository(repositoryName: string, account?: string, partition?: string): this;
/**
* Adds a resource of type registry to the statement
*
* https://docs.aws.amazon.com/AmazonECR/latest/userguide/iam-policy-structure.html#ECR-Public_ARN_Format
*
* @param registryId - Identifier for the registryId.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*/
onRegistry(registryId: string, account?: string, partition?: string): this;
/**
* Filters create requests based on the allowed set of values for each of the tags
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .toCreateRepository()
* - .toTagResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters actions based on tag-value associated with the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* Applies to resource types:
* - repository
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Filters create requests based on the presence of mandatory tags in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .toCreateRepository()
* - .toTagResource()
* - .toUntagResource()
*
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsTagKeys(value: string | string[], operator?: Operator | string): this;
/**
* Filters actions based on tag-value associated with the resource
*
* https://docs.aws.amazon.com/AmazonECR/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-conditionkeys
*
* Applies to resource types:
* - repository
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifResourceTag(tagKey: string, value: string | string[], operator?: Operator | string): this;
/**
* Statement provider for service [ecr-public](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelasticcontainerregistrypublic.html).
*
*/
constructor(props?: iam.PolicyStatementProps);
}