import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class Servicequotas extends PolicyStatement { public servicePrefix = 'servicequotas' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to associate the Service Quotas template with your organization
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_AssociateServiceQuotaTemplate.html
     */ public toAssociateServiceQuotaTemplate ( ) { return this . to ( 'AssociateServiceQuotaTemplate' ) ; } /**
     * Grants permission to remove the specified service quota from the service quota template
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_DeleteServiceQuotaIncreaseRequestFromTemplate.html
     */ public toDeleteServiceQuotaIncreaseRequestFromTemplate ( ) { return this . to ( 'DeleteServiceQuotaIncreaseRequestFromTemplate' ) ; } /**
     * Grants permission to disassociate the Service Quotas template from your organization
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_DisassociateServiceQuotaTemplate.html
     */ public toDisassociateServiceQuotaTemplate ( ) { return this . to ( 'DisassociateServiceQuotaTemplate' ) ; } /**
     * 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
     */ public toGetAWSDefaultServiceQuota ( ) { return this . to ( 'GetAWSDefaultServiceQuota' ) ; } /**
     * Grants permission to retrieve the ServiceQuotaTemplateAssociationStatus value, which tells you if the Service Quotas template is associated with an organization
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetAssociationForServiceQuotaTemplate.html
     */ public toGetAssociationForServiceQuotaTemplate ( ) { return this . to ( 'GetAssociationForServiceQuotaTemplate' ) ; } /**
     * 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
     */ public toGetRequestedServiceQuotaChange ( ) { return this . to ( 'GetRequestedServiceQuotaChange' ) ; } /**
     * Grants permission to return the details for the specified service quota, including the applied value
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetServiceQuota.html
     */ public toGetServiceQuota ( ) { return this . to ( 'GetServiceQuota' ) ; } /**
     * Grants permission to retrieve the details for a service quota increase request from the service quota template
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_GetServiceQuotaIncreaseRequestFromTemplate.html
     */ public toGetServiceQuotaIncreaseRequestFromTemplate ( ) { return this . to ( 'GetServiceQuotaIncreaseRequestFromTemplate' ) ; } /**
     * 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
     */ public toListAWSDefaultServiceQuotas ( ) { return this . to ( 'ListAWSDefaultServiceQuotas' ) ; } /**
     * 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
     */ public toListRequestedServiceQuotaChangeHistory ( ) { return this . to ( 'ListRequestedServiceQuotaChangeHistory' ) ; } /**
     * Grants permission to request a list of the changes to specific service quotas
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListRequestedServiceQuotaChangeHistoryByQuota.html
     */ public toListRequestedServiceQuotaChangeHistoryByQuota ( ) { return this . to ( 'ListRequestedServiceQuotaChangeHistoryByQuota' ) ; } /**
     * Grants permission to return a list of the service quota increase requests from the service quota template
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServiceQuotaIncreaseRequestsInTemplate
     */ public toListServiceQuotaIncreaseRequestsInTemplate ( ) { return this . to ( 'ListServiceQuotaIncreaseRequestsInTemplate' ) ; } /**
     * Grants permission to list all service quotas for the specified AWS service, in that account, in that Region
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_ListServiceQuotas.html
     */ public toListServiceQuotas ( ) { return this . to ( 'ListServiceQuotas' ) ; } /**
     * 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
     */ public toListServices ( ) { return this . to ( 'ListServices' ) ; } /**
     * 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
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to define and add a quota to the service quota template
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifService()
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_PutServiceQuotaIncreaseRequestIntoTemplate.html
     */ public toPutServiceQuotaIncreaseRequestIntoTemplate ( ) { return this . to ( 'PutServiceQuotaIncreaseRequestIntoTemplate' ) ; } /**
     * 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
     */ public toRequestServiceQuotaIncrease ( ) { return this . to ( 'RequestServiceQuotaIncrease' ) ; } /**
     * Grants permission to associate a set of tags with an existing SQ resource
     *
     * Access Level: Tagging
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_TagResource
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * 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
     *
     * https://docs.aws.amazon.com/servicequotas/2019-06-24/apireference/API_UntagResource
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'AssociateServiceQuotaTemplate' , 'DeleteServiceQuotaIncreaseRequestFromTemplate' , 'DisassociateServiceQuotaTemplate' , 'PutServiceQuotaIncreaseRequestIntoTemplate' , 'RequestServiceQuotaIncrease' ] , Read : [ 'GetAWSDefaultServiceQuota' , 'GetAssociationForServiceQuotaTemplate' , 'GetRequestedServiceQuotaChange' , 'GetServiceQuota' , 'GetServiceQuotaIncreaseRequestFromTemplate' , 'ListAWSDefaultServiceQuotas' , 'ListRequestedServiceQuotaChangeHistory' , 'ListRequestedServiceQuotaChangeHistoryByQuota' , 'ListServiceQuotaIncreaseRequestsInTemplate' , 'ListServiceQuotas' , 'ListServices' , 'ListTagsForResource' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param serviceCode param quotaCode param account param region param partition public onQuota ( serviceCode , quotaCode , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:servicequotas:${ region || '*' }:${ account || '*' }:${ serviceCode }/${ quotaCode }` ) ; } param value param operator public ifService ( value , operator ? ) { return this . if ( `service` , value , operator || 'StringLike' ) ; } }