iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
512 lines (511 loc) • 21.4 kB
TypeScript
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;
}