iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
453 lines (452 loc) • 18.3 kB
TypeScript
import { AccessLevelList } from '../../shared/access-level';
import { PolicyStatement, Operator } from '../../shared';
/**
* Statement provider for service [cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloud9.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class Cloud9 extends PolicyStatement {
servicePrefix: string;
/**
* Statement provider for service [cloud9](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscloud9.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 start the Amazon EC2 instance that your AWS Cloud9 IDE connects to
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toActivateEC2Remote(): this;
/**
* Grants permission to create an AWS Cloud9 development environment, launches an Amazon Elastic Compute Cloud (Amazon EC2) instance, and then hosts the environment on the instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifEnvironmentName()
* - .ifInstanceType()
* - .ifSubnetId()
* - .ifUserArn()
* - .ifOwnerArn()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* Dependent actions:
* - ec2:DescribeSubnets
* - ec2:DescribeVpcs
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_CreateEnvironmentEC2.html
*/
toCreateEnvironmentEC2(): this;
/**
* Grants permission to add an environment member to an AWS Cloud9 development environment
*
* Access Level: Write
*
* Possible conditions:
* - .ifUserArn()
* - .ifEnvironmentId()
* - .ifPermissions()
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_CreateEnvironmentMembership.html
*/
toCreateEnvironmentMembership(): this;
/**
* Grants permission to create an AWS Cloud9 SSH development environment
*
* Access Level: Write
*
* Possible conditions:
* - .ifEnvironmentName()
* - .ifOwnerArn()
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toCreateEnvironmentSSH(): this;
/**
* Grants permission to create an authentication token that allows a connection between the AWS Cloud9 IDE and the user's environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toCreateEnvironmentToken(): this;
/**
* Grants permission to delete an AWS Cloud9 development environment. If the environment is hosted on an Amazon Elastic Compute Cloud (Amazon EC2) instance, also terminates the instance
*
* Access Level: Write
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DeleteEnvironment.html
*/
toDeleteEnvironment(): this;
/**
* Grants permission to delete an environment member from an AWS Cloud9 development environment
*
* Access Level: Write
*
* Possible conditions:
* - .ifUserArn()
* - .ifEnvironmentId()
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DeleteEnvironmentMembership.html
*/
toDeleteEnvironmentMembership(): this;
/**
* Grants permission to get details about the connection to the EC2 development environment, including host, user, and port
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toDescribeEC2Remote(): this;
/**
* Grants permission to get information about environment members for an AWS Cloud9 development environment
*
* Access Level: Read
*
* Possible conditions:
* - .ifUserArn()
* - .ifEnvironmentId()
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DescribeEnvironmentMemberships.html
*/
toDescribeEnvironmentMemberships(): this;
/**
* Grants permission to get status information for an AWS Cloud9 development environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DescribeEnvironmentStatus.html
*/
toDescribeEnvironmentStatus(): this;
/**
* Grants permission to get information about AWS Cloud9 development environments
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_DescribeEnvironments.html
*/
toDescribeEnvironments(): this;
/**
* Grants permission to get details about the connection to the SSH development environment, including host, user, and port
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toDescribeSSHRemote(): this;
/**
* Grants permission to get configuration information that's used to initialize the AWS Cloud9 IDE
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toGetEnvironmentConfig(): this;
/**
* Grants permission to get the AWS Cloud9 IDE settings for a specified development environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toGetEnvironmentSettings(): this;
/**
* Grants permission to get the AWS Cloud9 IDE settings for a specified environment member
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toGetMembershipSettings(): this;
/**
* Grants permission to get the migration experience for a cloud9 user
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toGetMigrationExperiences(): this;
/**
* Grants permission to get the user's public SSH key, which is used by AWS Cloud9 to connect to SSH development environments
*
* Access Level: Read
*
* Possible conditions:
* - .ifUserArn()
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toGetUserPublicKey(): this;
/**
* Grants permission to get the AWS Cloud9 IDE settings for a specified user
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toGetUserSettings(): this;
/**
* Grants permission to get a list of AWS Cloud9 development environment identifiers
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_ListEnvironments.html
*/
toListEnvironments(): this;
/**
* Grants permission to list tags for a cloud9 environment
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource(): this;
/**
* Grants permission to set AWS managed temporary credentials on the Amazon EC2 instance that's used by the AWS Cloud9 integrated development environment (IDE)
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toModifyTemporaryCredentialsOnEnvironmentEC2(): this;
/**
* Grants permission to add tags to a cloud9 environment
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_TagResource.html
*/
toTagResource(): this;
/**
* Grants permission to remove tags from a cloud9 environment
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UntagResource.html
*/
toUntagResource(): this;
/**
* Grants permission to change the settings of an existing AWS Cloud9 development environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UpdateEnvironment.html
*/
toUpdateEnvironment(): this;
/**
* Grants permission to change the settings of an existing environment member for an AWS Cloud9 development environment
*
* Access Level: Write
*
* Possible conditions:
* - .ifUserArn()
* - .ifEnvironmentId()
* - .ifPermissions()
*
* https://docs.aws.amazon.com/cloud9/latest/APIReference/API_UpdateEnvironmentMembership.html
*/
toUpdateEnvironmentMembership(): this;
/**
* Grants permission to update the AWS Cloud9 IDE settings for a specified development environment
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toUpdateEnvironmentSettings(): this;
/**
* Grants permission to update the AWS Cloud9 IDE settings for a specified environment member
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toUpdateMembershipSettings(): this;
/**
* Grants permission to update details about the connection to the SSH development environment, including host, user, and port
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toUpdateSSHRemote(): this;
/**
* Grants permission to update IDE-specific settings of an AWS Cloud9 user
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloud9/latest/user-guide/security-iam.html#auth-and-access-control-ref-matrix
*/
toUpdateUserSettings(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type environment to the statement
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-environment
*
* @param resourceId - Identifier for the resourceId.
* @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()
*/
onEnvironment(resourceId: string, account?: string, region?: string, partition?: string): this;
/**
* Filters access by 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:
* - .toCreateEnvironmentEC2()
* - .toCreateEnvironmentSSH()
* - .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 access by 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:
* - environment
*
* @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 access by 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:
* - .toCreateEnvironmentEC2()
* - .toCreateEnvironmentSSH()
* - .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 access by the AWS Cloud9 environment ID
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_EnvironmentId
*
* Applies to actions:
* - .toCreateEnvironmentMembership()
* - .toDeleteEnvironmentMembership()
* - .toDescribeEnvironmentMemberships()
* - .toUpdateEnvironmentMembership()
*
* @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`
*/
ifEnvironmentId(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the AWS Cloud9 environment name
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_EnvironmentName
*
* Applies to actions:
* - .toCreateEnvironmentEC2()
* - .toCreateEnvironmentSSH()
*
* @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`
*/
ifEnvironmentName(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the instance type of the AWS Cloud9 environment's Amazon EC2 instance
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_InstanceType
*
* Applies to actions:
* - .toCreateEnvironmentEC2()
*
* @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`
*/
ifInstanceType(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the owner ARN specified
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_OwnerArn
*
* Applies to actions:
* - .toCreateEnvironmentEC2()
* - .toCreateEnvironmentSSH()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifOwnerArn(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the type of AWS Cloud9 permissions
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_Permissions
*
* Applies to actions:
* - .toCreateEnvironmentMembership()
* - .toUpdateEnvironmentMembership()
*
* @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`
*/
ifPermissions(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the subnet ID that the AWS Cloud9 environment will be created in
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_SubnetId
*
* Applies to actions:
* - .toCreateEnvironmentEC2()
*
* @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`
*/
ifSubnetId(value: string | string[], operator?: Operator | string): this;
/**
* Filters access by the user ARN specified
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awscloud9.html##awscloud9-cloud9_UserArn
*
* Applies to actions:
* - .toCreateEnvironmentEC2()
* - .toCreateEnvironmentMembership()
* - .toDeleteEnvironmentMembership()
* - .toDescribeEnvironmentMemberships()
* - .toGetUserPublicKey()
* - .toUpdateEnvironmentMembership()
*
* @param value The value(s) to check
* @param operator Works with [arn operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_ARN). **Default:** `ArnLike`
*/
ifUserArn(value: string | string[], operator?: Operator | string): this;
}