cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
354 lines (353 loc) • 14.3 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 [servicequotas](https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
export declare class Servicequotas extends PolicyStatement {
servicePrefix: string;
/**
* Grants permission to associate the Service Quotas template with your organization
*
* Access Level: Write
*
* Dependent actions:
* - organizations:DescribeOrganization
* - organizations:EnableAWSServiceAccess
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_AssociateServiceQuotaTemplate.html
*/
toAssociateServiceQuotaTemplate(): this;
/**
* Grants permission to submit a request to create a support case for an existing quota increase request
*
* Access Level: Write
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_CreateSupportCase.html
*/
toCreateSupportCase(): this;
/**
* Grants permission to remove the specified service quota from the service quota template
*
* Access Level: Write
*
* Dependent actions:
* - organizations:DescribeOrganization
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_DeleteServiceQuotaIncreaseRequestFromTemplate.html
*/
toDeleteServiceQuotaIncreaseRequestFromTemplate(): this;
/**
* Grants permission to disassociate the Service Quotas template from your organization
*
* Access Level: Write
*
* Dependent actions:
* - organizations:DescribeOrganization
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_DisassociateServiceQuotaTemplate.html
*/
toDisassociateServiceQuotaTemplate(): this;
/**
* Grants permission to return the details for the specified service quota, including the AWS default value
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetAWSDefaultServiceQuota.html
*/
toGetAWSDefaultServiceQuota(): this;
/**
* Grants permission to retrieve the ServiceQuotaTemplateAssociationStatus value, which tells you if the Service Quotas template is associated with an organization
*
* Access Level: Read
*
* Dependent actions:
* - organizations:DescribeOrganization
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetAssociationForServiceQuotaTemplate.html
*/
toGetAssociationForServiceQuotaTemplate(): this;
/**
* Grants permission to retrieve the automatic management of Service Quotas configuration, including notification settings, opt-in type, and excluded quotas
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetAutoManagementConfiguration.html
*/
toGetAutoManagementConfiguration(): this;
/**
* Grants permission to view the generated report
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetQuotaUtilizationReport.html
*/
toGetQuotaUtilizationReport(): this;
/**
* Grants permission to retrieve the details for a particular service quota increase request
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetRequestedServiceQuotaChange.html
*/
toGetRequestedServiceQuotaChange(): this;
/**
* Grants permission to return the details for the specified service quota, including the applied value
*
* Access Level: Read
*
* Possible conditions:
* - .ifService()
*
* Dependent actions:
* - autoscaling:DescribeAccountLimits
* - cloudformation:DescribeAccountLimits
* - dynamodb:DescribeLimits
* - elasticloadbalancing:DescribeAccountLimits
* - iam:GetAccountSummary
* - kinesis:DescribeLimits
* - rds:DescribeAccountAttributes
* - route53:GetAccountLimit
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetServiceQuota.html
*/
toGetServiceQuota(): this;
/**
* Grants permission to retrieve the details for a service quota increase request from the service quota template
*
* Access Level: Read
*
* Possible conditions:
* - .ifService()
*
* Dependent actions:
* - organizations:DescribeOrganization
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetServiceQuotaIncreaseRequestFromTemplate.html
*/
toGetServiceQuotaIncreaseRequestFromTemplate(): this;
/**
* Grants permission to list all default service quotas for the specified AWS service
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListAWSDefaultServiceQuotas.html
*/
toListAWSDefaultServiceQuotas(): this;
/**
* Grants permission to request a list of the changes to quotas for a service
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListRequestedServiceQuotaChangeHistory.html
*/
toListRequestedServiceQuotaChangeHistory(): this;
/**
* Grants permission to request a list of the changes to specific service quotas
*
* Access Level: Read
*
* Possible conditions:
* - .ifService()
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListRequestedServiceQuotaChangeHistoryByQuota.html
*/
toListRequestedServiceQuotaChangeHistoryByQuota(): this;
/**
* Grants permission to return a list of the service quota increase requests from the service quota template
*
* Access Level: Read
*
* Dependent actions:
* - organizations:DescribeOrganization
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServiceQuotaIncreaseRequestsInTemplate.html
*/
toListServiceQuotaIncreaseRequestsInTemplate(): this;
/**
* Grants permission to list all service quotas for the specified AWS service, in that account, in that Region
*
* Access Level: Read
*
* Dependent actions:
* - autoscaling:DescribeAccountLimits
* - cloudformation:DescribeAccountLimits
* - dynamodb:DescribeLimits
* - elasticloadbalancing:DescribeAccountLimits
* - iam:GetAccountSummary
* - kinesis:DescribeLimits
* - rds:DescribeAccountAttributes
* - route53:GetAccountLimit
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServiceQuotas.html
*/
toListServiceQuotas(): this;
/**
* Grants permission to list the AWS services available in Service Quotas
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServices.html
*/
toListServices(): this;
/**
* Grants permission to view the existing tags on a SQ resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListTagsForResource.html
*/
toListTagsForResource(): this;
/**
* Grants permission to define and add a quota to the service quota template
*
* Access Level: Write
*
* Possible conditions:
* - .ifService()
*
* Dependent actions:
* - organizations:DescribeOrganization
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_PutServiceQuotaIncreaseRequestIntoTemplate.html
*/
toPutServiceQuotaIncreaseRequestIntoTemplate(): this;
/**
* Grants permission to submit the request for a service quota increase
*
* Access Level: Write
*
* Possible conditions:
* - .ifService()
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_RequestServiceQuotaIncrease.html
*/
toRequestServiceQuotaIncrease(): this;
/**
* Grants permission to enable automatic management of Service Quotas for an AWS account, including notification preferences and excluded quotas configurations
*
* Access Level: Write
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_StartAutoManagement.html
*/
toStartAutoManagement(): this;
/**
* Grants permission to query quota utilization and create a report for your account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_StartQuotaUtilizationReport.html
*/
toStartQuotaUtilizationReport(): this;
/**
* Grants permission to stop automatic management of Service Quotas for an AWS account and remove all associated configurations
*
* Access Level: Write
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_StopAutoManagement.html
*/
toStopAutoManagement(): this;
/**
* Grants permission to associate a set of tags with an existing SQ resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_TagResource.html
*/
toTagResource(): this;
/**
* Grants permission to remove a set of tags from a SQ resource, where tags to be removed match a set of customer-supplied tag keys
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_UntagResource.html
*/
toUntagResource(): this;
/**
* Grants permission to update the automatic management of Service Quotas configuration, including notification preferences and excluded quotas
*
* Access Level: Write
*
* https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_UpdateAutoManagement.html
*/
toUpdateAutoManagement(): this;
protected accessLevelList: AccessLevelList;
/**
* Adds a resource of type quota to the statement
*
* https://docs.aws.amazon.com/servicequotas/latest/userguide/identity-access-management.html#resources
*
* @param serviceCode - Identifier for the serviceCode.
* @param quotaCode - Identifier for the quotaCode.
* @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.
*/
onQuota(serviceCode: string, quotaCode: string, account?: string, region?: string, partition?: string): this;
/**
* Filters access by the tags that are passed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag
*
* Applies to actions:
* - .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 the tags associated with the resource
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag
*
* @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 tag keys that are passed in the request
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys
*
* Applies to actions:
* - .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 specified AWS service
*
* https://docs.aws.amazon.com/servicequotas/latest/userguide/identity-access-management.html#condition-keys
*
* Applies to actions:
* - .toGetServiceQuota()
* - .toGetServiceQuotaIncreaseRequestFromTemplate()
* - .toListRequestedServiceQuotaChangeHistoryByQuota()
* - .toPutServiceQuotaIncreaseRequestIntoTemplate()
* - .toRequestServiceQuotaIncrease()
*
* @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`
*/
ifService(value: string | string[], operator?: Operator | string): this;
/**
* Statement provider for service [servicequotas](https://docs.aws.amazon.com/service-authorization/latest/reference/list_servicequotas.html).
*
*/
constructor(props?: iam.PolicyStatementProps);
}