UNPKG

iam-floyd

Version:

AWS IAM policy statement generator with fluent interface

512 lines (511 loc) 21.4 kB
import { AccessLevelList } from '../../shared/access-level'; import { PolicyStatement, Operator } from '../../shared'; /** * Statement provider for service [codedeploy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodedeploy.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ export declare class Codedeploy extends PolicyStatement { servicePrefix: string; /** * Statement provider for service [codedeploy](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscodedeploy.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ constructor(sid?: string); /** * Grants permission to add tags to one or more on-premises instances * * Access Level: Tagging * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_AddTagsToOnPremisesInstances.html */ toAddTagsToOnPremisesInstances(): this; /** * Grants permission to get information about one or more application revisions * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetApplicationRevisions.html */ toBatchGetApplicationRevisions(): this; /** * Grants permission to get information about multiple applications associated with the IAM user * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetApplications.html */ toBatchGetApplications(): this; /** * Grants permission to get information about one or more deployment groups * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentGroups.html */ toBatchGetDeploymentGroups(): this; /** * Grants permission to get information about one or more instance that are part of a deployment group * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentInstances.html */ toBatchGetDeploymentInstances(): this; /** * Grants permission to return an array of one or more targets associated with a deployment. This method works with all compute types and should be used instead of the deprecated BatchGetDeploymentInstances. The maximum number of targets that can be returned is 25 * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeploymentTargets.html */ toBatchGetDeploymentTargets(): this; /** * Grants permission to get information about multiple deployments associated with the IAM user * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetDeployments.html */ toBatchGetDeployments(): this; /** * Grants permission to get information about one or more on-premises instances * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_BatchGetOnPremisesInstances.html */ toBatchGetOnPremisesInstances(): this; /** * Grants permission to start the process of rerouting traffic from instances in the original environment to instances in thereplacement environment without waiting for a specified wait time to elapse * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ContinueDeployment.html */ toContinueDeployment(): this; /** * Grants permission to create an application associated with the IAM user * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateApplication.html */ toCreateApplication(): this; /** * Grants permission to create CloudFormation deployment to cooperate ochestration for a CloudFormation stack update * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/codedeploy/latest/userguide/deployments-create-ecs-cfn.html */ toCreateCloudFormationDeployment(): this; /** * Grants permission to create a deployment for an application associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeployment.html */ toCreateDeployment(): this; /** * Grants permission to create a custom deployment configuration associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentConfig.html */ toCreateDeploymentConfig(): this; /** * Grants permission to create a deployment group for an application associated with the IAM user * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_CreateDeploymentGroup.html */ toCreateDeploymentGroup(): this; /** * Grants permission to delete an application associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteApplication.html */ toDeleteApplication(): this; /** * Grants permission to delete a custom deployment configuration associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentConfig.html */ toDeleteDeploymentConfig(): this; /** * Grants permission to delete a deployment group for an application associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteDeploymentGroup.html */ toDeleteDeploymentGroup(): this; /** * Grants permission to delete a GitHub account connection * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteGitHubAccountToken.html */ toDeleteGitHubAccountToken(): this; /** * Grants permission to delete resources associated with the given external Id * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteResourcesByExternalId.html */ toDeleteResourcesByExternalId(): this; /** * Grants permission to deregister an on-premises instance * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeregisterOnPremisesInstance.html */ toDeregisterOnPremisesInstance(): this; /** * Grants permission to get information about a single application associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplication.html */ toGetApplication(): this; /** * Grants permission to get information about a single application revision for an application associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetApplicationRevision.html */ toGetApplicationRevision(): this; /** * Grants permission to get information about a single deployment to a deployment group for an application associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeployment.html */ toGetDeployment(): this; /** * Grants permission to get information about a single deployment configuration associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentConfig.html */ toGetDeploymentConfig(): this; /** * Grants permission to get information about a single deployment group for an application associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentGroup.html */ toGetDeploymentGroup(): this; /** * Grants permission to get information about a single instance in a deployment associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentInstance.html */ toGetDeploymentInstance(): this; /** * Grants permission to return information about a deployment target * * Access Level: Read * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetDeploymentTarget.html */ toGetDeploymentTarget(): this; /** * Grants permission to get information about a single on-premises instance * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GetOnPremisesInstance.html */ toGetOnPremisesInstance(): this; /** * Grants permission to get information about all application revisions for an application associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplicationRevisions.html */ toListApplicationRevisions(): this; /** * Grants permission to get information about all applications associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListApplications.html */ toListApplications(): this; /** * Grants permission to get information about all deployment configurations associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentConfigs.html */ toListDeploymentConfigs(): this; /** * Grants permission to get information about all deployment groups for an application associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentGroups.html */ toListDeploymentGroups(): this; /** * Grants permission to get information about all instances in a deployment associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentInstances.html */ toListDeploymentInstances(): this; /** * Grants permission to return an array of target IDs that are associated a deployment * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeploymentTargets.html */ toListDeploymentTargets(): this; /** * Grants permission to get information about all deployments to a deployment group associated with the IAM user, or to get all deployments associated with the IAM user * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListDeployments.html */ toListDeployments(): this; /** * Grants permission to list the names of stored connections to GitHub accounts * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListGitHubAccountTokenNames.html */ toListGitHubAccountTokenNames(): this; /** * Grants permission to get a list of one or more on-premises instance names * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListOnPremisesInstances.html */ toListOnPremisesInstances(): this; /** * Grants permission to return a list of tags for the resource identified by a specified ARN. Tags are used to organize and categorize your CodeDeploy resources * * Access Level: List * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource(): this; /** * Grants permission to notify a lifecycle event hook execution status for associated deployment with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_PutLifecycleEventHookExecutionStatus.html */ toPutLifecycleEventHookExecutionStatus(): this; /** * Grants permission to register information about an application revision for an application associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterApplicationRevision.html */ toRegisterApplicationRevision(): this; /** * Grants permission to register an on-premises instance * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RegisterOnPremisesInstance.html */ toRegisterOnPremisesInstance(): this; /** * Grants permission to remove tags from one or more on-premises instances * * Access Level: Tagging * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_RemoveTagsFromOnPremisesInstances.html */ toRemoveTagsFromOnPremisesInstances(): this; /** * Grants permission to override any specified wait time and starts terminating instances immediately after the traffic routing is complete. This action applies to blue-green deployments only * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_SkipWaitTimeForInstanceTermination.html */ toSkipWaitTimeForInstanceTermination(): this; /** * Grants permission to stop a deployment * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_StopDeployment.html */ toStopDeployment(): this; /** * Grants permission to associate the list of tags in the input Tags parameter with the resource identified by the ResourceArn input parameter * * Access Level: Tagging * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_TagResource.html */ toTagResource(): this; /** * Grants permission to disassociate a resource from a list of tags. The resource is identified by the ResourceArn input parameter. The tags are identfied by the list of keys in the TagKeys input parameter * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UntagResource.html */ toUntagResource(): this; /** * Grants permission to update an application * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateApplication.html */ toUpdateApplication(): this; /** * Grants permission to change information about a single deployment group for an application associated with the IAM user * * Access Level: Write * * https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_UpdateDeploymentGroup.html */ toUpdateDeploymentGroup(): this; protected accessLevelList: AccessLevelList; /** * Adds a resource of type application to the statement * * https://docs.aws.amazon.com/codedeploy/latest/userguide/auth-and-access-control-permissions-reference.html * * @param applicationName - Identifier for the applicationName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @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() */ onApplication(applicationName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type deploymentconfig to the statement * * https://docs.aws.amazon.com/codedeploy/latest/userguide/auth-and-access-control-permissions-reference.html * * @param deploymentConfigurationName - Identifier for the deploymentConfigurationName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @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. */ onDeploymentconfig(deploymentConfigurationName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type deploymentgroup to the statement * * https://docs.aws.amazon.com/codedeploy/latest/userguide/auth-and-access-control-permissions-reference.html * * @param applicationName - Identifier for the applicationName. * @param deploymentGroupName - Identifier for the deploymentGroupName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @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() */ onDeploymentgroup(applicationName: string, deploymentGroupName: string, account?: string, region?: string, partition?: string): this; /** * Adds a resource of type instance to the statement * * https://docs.aws.amazon.com/codedeploy/latest/userguide/auth-and-access-control-permissions-reference.html * * @param instanceName - Identifier for the instanceName. * @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account. * @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region. * @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. */ onInstance(instanceName: string, account?: string, region?: string, partition?: string): this; /** * Filters actions based on the presence of tag key-value pairs in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateApplication() * - .toCreateDeploymentGroup() * - .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 key-value pairs attached to the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to resource types: * - application * - deploymentgroup * * @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 actions based on the presence of tag keys in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateApplication() * - .toCreateDeploymentGroup() * - .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; }