import { AccessLevelList } from '../shared/access-level' ; import { PolicyStatement , Operator } from '../shared' ; param sid export class Connect extends PolicyStatement { public servicePrefix = 'connect' ; param sid constructor ( sid ? ) { super ( sid ) ; } /**
     * Grants permission to associate approved origin for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateApprovedOrigin ( ) { return this . to ( 'AssociateApprovedOrigin' ) ; } /**
     * Grants permission to associate a Lex bot for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - lex:CreateResourcePolicy
     * - lex:DescribeBotAlias
     * - lex:GetBot
     * - lex:UpdateResourcePolicy
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateBot ( ) { return this . to ( 'AssociateBot' ) ; } /**
     * Grants permission to associate a Customer Profiles domain for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Dependent actions:
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - profile:GetDomain
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateCustomerProfilesDomain ( ) { return this . to ( 'AssociateCustomerProfilesDomain' ) ; } /**
     * Grants permission to associate instance storage for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifStorageResourceType()
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - ds:DescribeDirectories
     * - firehose:DescribeDeliveryStream
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - kinesis:DescribeStream
     * - kms:CreateGrant
     * - kms:DescribeKey
     * - s3:GetBucketAcl
     * - s3:GetBucketLocation
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateInstanceStorageConfig ( ) { return this . to ( 'AssociateInstanceStorageConfig' ) ; } /**
     * Grants permission to associate a Lambda function for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - lambda:AddPermission
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateLambdaFunction ( ) { return this . to ( 'AssociateLambdaFunction' ) ; } /**
     * Grants permission to associate a Lex bot for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - lex:GetBot
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateLexBot ( ) { return this . to ( 'AssociateLexBot' ) ; } /**
     * Grants permission to associate quick connects with a queue in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateQueueQuickConnects.html
     */ public toAssociateQueueQuickConnects ( ) { return this . to ( 'AssociateQueueQuickConnects' ) ; } /**
     * Grants permission to associate queues with a routing profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateRoutingProfileQueues.html
     */ public toAssociateRoutingProfileQueues ( ) { return this . to ( 'AssociateRoutingProfileQueues' ) ; } /**
     * Grants permission to associate a security key for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toAssociateSecurityKey ( ) { return this . to ( 'AssociateSecurityKey' ) ; } /**
     * Grants permission to create agent status in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateAgentStatus.html
     */ public toCreateAgentStatus ( ) { return this . to ( 'CreateAgentStatus' ) ; } /**
     * Grants permission to create a contact flow in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlow.html
     */ public toCreateContactFlow ( ) { return this . to ( 'CreateContactFlow' ) ; } /**
     * Grants permission to create a contact flow module in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlowModule.html
     */ public toCreateContactFlowModule ( ) { return this . to ( 'CreateContactFlowModule' ) ; } /**
     * Grants permission to create hours of operation in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateHoursOfOperation.html
     */ public toCreateHoursOfOperation ( ) { return this . to ( 'CreateHoursOfOperation' ) ; } /**
     * Grants permission to create a new Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * Dependent actions:
     * - ds:AuthorizeApplication
     * - ds:CheckAlias
     * - ds:CreateAlias
     * - ds:CreateDirectory
     * - ds:CreateIdentityPoolDirectory
     * - ds:DeleteDirectory
     * - ds:DescribeDirectories
     * - ds:UnauthorizeApplication
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toCreateInstance ( ) { return this . to ( 'CreateInstance' ) ; } /**
     * Grants permission to create an integration association with an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * Dependent actions:
     * - app-integrations:CreateEventIntegrationAssociation
     * - connect:DescribeInstance
     * - ds:DescribeDirectories
     * - events:PutRule
     * - events:PutTargets
     * - mobiletargeting:GetApp
     * - voiceid:DescribeDomain
     * - wisdom:GetAssistant
     * - wisdom:GetKnowledgeBase
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html
     */ public toCreateIntegrationAssociation ( ) { return this . to ( 'CreateIntegrationAssociation' ) ; } /**
     * Grants permission to create a queue in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateQueue.html
     */ public toCreateQueue ( ) { return this . to ( 'CreateQueue' ) ; } /**
     * Grants permission to create a quick connect in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateQuickConnect.html
     */ public toCreateQuickConnect ( ) { return this . to ( 'CreateQuickConnect' ) ; } /**
     * Grants permission to create a routing profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateRoutingProfile.html
     */ public toCreateRoutingProfile ( ) { return this . to ( 'CreateRoutingProfile' ) ; } /**
     * Grants permission to create a security profile for the specified Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateSecurityProfile.html
     */ public toCreateSecurityProfile ( ) { return this . to ( 'CreateSecurityProfile' ) ; } /**
     * Grants permission to create a use case for an integration association
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     *
     * Dependent actions:
     * - connect:DescribeInstance
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateUseCase.html
     */ public toCreateUseCase ( ) { return this . to ( 'CreateUseCase' ) ; } /**
     * Grants permission to create a user for the specified Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsRequestTag()
     * - .ifAwsTagKeys()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateUser.html
     */ public toCreateUser ( ) { return this . to ( 'CreateUser' ) ; } /**
     * Grants permission to create a user hierarchy group in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateUserHierarchyGroup.html
     */ public toCreateUserHierarchyGroup ( ) { return this . to ( 'CreateUserHierarchyGroup' ) ; } /**
     * Grants permission to delete a contact flow in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteContactFlow.html
     */ public toDeleteContactFlow ( ) { return this . to ( 'DeleteContactFlow' ) ; } /**
     * Grants permission to delete a contact flow module in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteContactFlowModule.html
     */ public toDeleteContactFlowModule ( ) { return this . to ( 'DeleteContactFlowModule' ) ; } /**
     * Grants permission to delete hours of operation in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteHoursOfOperation.html
     */ public toDeleteHoursOfOperation ( ) { return this . to ( 'DeleteHoursOfOperation' ) ; } /**
     * Grants permission to delete an Amazon Connect instance. When you remove an instance, the link to an existing AWS directory is also removed
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     * - .ifAwsResourceTag()
     *
     * Dependent actions:
     * - ds:DeleteDirectory
     * - ds:DescribeDirectories
     * - ds:UnauthorizeApplication
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDeleteInstance ( ) { return this . to ( 'DeleteInstance' ) ; } /**
     * Grants permission to delete an integration association from an Amazon Connect instance. The association must not have any use cases associated with it
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - app-integrations:DeleteEventIntegrationAssociation
     * - connect:DescribeInstance
     * - ds:DescribeDirectories
     * - events:DeleteRule
     * - events:ListTargetsByRule
     * - events:RemoveTargets
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html
     */ public toDeleteIntegrationAssociation ( ) { return this . to ( 'DeleteIntegrationAssociation' ) ; } /**
     * Grants permission to delete a quick connect in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteQuickConnect.html
     */ public toDeleteQuickConnect ( ) { return this . to ( 'DeleteQuickConnect' ) ; } /**
     * Grants permission to delete a security profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteSecurityProfile.html
     */ public toDeleteSecurityProfile ( ) { return this . to ( 'DeleteSecurityProfile' ) ; } /**
     * Grants permission to delete a use case from an integration association
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - connect:DescribeInstance
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteUseCase.html
     */ public toDeleteUseCase ( ) { return this . to ( 'DeleteUseCase' ) ; } /**
     * Grants permission to delete a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteUser.html
     */ public toDeleteUser ( ) { return this . to ( 'DeleteUser' ) ; } /**
     * Grants permission to delete a user hierarchy group in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteUserHierarchyGroup.html
     */ public toDeleteUserHierarchyGroup ( ) { return this . to ( 'DeleteUserHierarchyGroup' ) ; } /**
     * Grants permission to describe agent status in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeAgentStatus.html
     */ public toDescribeAgentStatus ( ) { return this . to ( 'DescribeAgentStatus' ) ; } /**
     * Grants permission to describe a contact in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html
     */ public toDescribeContact ( ) { return this . to ( 'DescribeContact' ) ; } /**
     * Grants permission to describe a contact flow in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContactFlow.html
     */ public toDescribeContactFlow ( ) { return this . to ( 'DescribeContactFlow' ) ; } /**
     * Grants permission to describe a contact flow module in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContactFlowModule.html
     */ public toDescribeContactFlowModule ( ) { return this . to ( 'DescribeContactFlowModule' ) ; } /**
     * Grants permission to describe hours of operation in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeHoursOfOperation.html
     */ public toDescribeHoursOfOperation ( ) { return this . to ( 'DescribeHoursOfOperation' ) ; } /**
     * Grants permission to view details of an Amazon Connect instance and is also required to create an instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     * - .ifAwsResourceTag()
     *
     * Dependent actions:
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDescribeInstance ( ) { return this . to ( 'DescribeInstance' ) ; } /**
     * Grants permission to view the attribute details of an existing Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAttributeType()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDescribeInstanceAttribute ( ) { return this . to ( 'DescribeInstanceAttribute' ) ; } /**
     * Grants permission to view the instance storage configuration for an existing Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifStorageResourceType()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDescribeInstanceStorageConfig ( ) { return this . to ( 'DescribeInstanceStorageConfig' ) ; } /**
     * Grants permission to describe a queue in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeQueue.html
     */ public toDescribeQueue ( ) { return this . to ( 'DescribeQueue' ) ; } /**
     * Grants permission to describe a quick connect in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeQuickConnect.html
     */ public toDescribeQuickConnect ( ) { return this . to ( 'DescribeQuickConnect' ) ; } /**
     * Grants permission to describe a routing profile in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeRoutingProfile.html
     */ public toDescribeRoutingProfile ( ) { return this . to ( 'DescribeRoutingProfile' ) ; } /**
     * Grants permission to describe a security profile in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeSecurityProfile.html
     */ public toDescribeSecurityProfile ( ) { return this . to ( 'DescribeSecurityProfile' ) ; } /**
     * Grants permission to describe a user in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUser.html
     */ public toDescribeUser ( ) { return this . to ( 'DescribeUser' ) ; } /**
     * Grants permission to describe a hierarchy group for an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUserHierarchyGroup.html
     */ public toDescribeUserHierarchyGroup ( ) { return this . to ( 'DescribeUserHierarchyGroup' ) ; } /**
     * Grants permission to describe the hierarchy structure for an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeUserHierarchyStructure.html
     */ public toDescribeUserHierarchyStructure ( ) { return this . to ( 'DescribeUserHierarchyStructure' ) ; } /**
     * Grants permission to disassociate approved origin for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateApprovedOrigin ( ) { return this . to ( 'DisassociateApprovedOrigin' ) ; } /**
     * Grants permission to disassociate a Lex bot for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - lex:DeleteResourcePolicy
     * - lex:UpdateResourcePolicy
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateBot ( ) { return this . to ( 'DisassociateBot' ) ; } /**
     * Grants permission to disassociate a Customer Profiles domain for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Dependent actions:
     * - iam:AttachRolePolicy
     * - iam:DeleteRolePolicy
     * - iam:DetachRolePolicy
     * - iam:GetPolicy
     * - iam:GetPolicyVersion
     * - iam:GetRolePolicy
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateCustomerProfilesDomain ( ) { return this . to ( 'DisassociateCustomerProfilesDomain' ) ; } /**
     * Grants permission to disassociate instance storage for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifStorageResourceType()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateInstanceStorageConfig ( ) { return this . to ( 'DisassociateInstanceStorageConfig' ) ; } /**
     * Grants permission to disassociate a Lambda function for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - lambda:RemovePermission
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateLambdaFunction ( ) { return this . to ( 'DisassociateLambdaFunction' ) ; } /**
     * Grants permission to disassociate a Lex bot for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateLexBot ( ) { return this . to ( 'DisassociateLexBot' ) ; } /**
     * Grants permission to disassociate quick connects from a queue in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DisassociateQueueQuickConnects.html
     */ public toDisassociateQueueQuickConnects ( ) { return this . to ( 'DisassociateQueueQuickConnects' ) ; } /**
     * Grants permission to disassociate queues from a routing profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_DisassociateRoutingProfileQueues.html
     */ public toDisassociateRoutingProfileQueues ( ) { return this . to ( 'DisassociateRoutingProfileQueues' ) ; } /**
     * Grants permission to disassociate the security key for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toDisassociateSecurityKey ( ) { return this . to ( 'DisassociateSecurityKey' ) ; } /**
     * Grants permission to retrieve the contact attributes for the specified contact
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_GetContactAttributes.html
     */ public toGetContactAttributes ( ) { return this . to ( 'GetContactAttributes' ) ; } /**
     * Grants permission to retrieve current metric data for the queues in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_GetCurrentMetricData.html
     */ public toGetCurrentMetricData ( ) { return this . to ( 'GetCurrentMetricData' ) ; } /**
     * Grants permission to federate into an Amazon Connect instance when using SAML-based authentication for identity management
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_GetFederationToken.html
     */ public toGetFederationToken ( ) { return this . to ( 'GetFederationToken' ) ; } /**
     * Grants permission to federate into an Amazon Connect instance (Log in for emergency access functionality in the Amazon Connect console)
     *
     * Access Level: Write
     *
     * Dependent actions:
     * - connect:DescribeInstance
     * - connect:ListInstances
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/emergency-admin-login.html
     */ public toGetFederationTokens ( ) { return this . to ( 'GetFederationTokens' ) ; } /**
     * Grants permission to retrieve historical metric data for queues in an Amazon Connect instance
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricData.html
     */ public toGetMetricData ( ) { return this . to ( 'GetMetricData' ) ; } /**
     * Grants permission to list agent statuses in an Amazon Connect instance
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListAgentStatuses.html
     */ public toListAgentStatuses ( ) { return this . to ( 'ListAgentStatuses' ) ; } /**
     * Grants permission to view approved origins of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListApprovedOrigins ( ) { return this . to ( 'ListApprovedOrigins' ) ; } /**
     * Grants permission to view the Lex bots of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListBots ( ) { return this . to ( 'ListBots' ) ; } /**
     * Grants permission to list contact flow module resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListContactFlowModules.html
     */ public toListContactFlowModules ( ) { return this . to ( 'ListContactFlowModules' ) ; } /**
     * Grants permission to list contact flow resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListContactFlows.html
     */ public toListContactFlows ( ) { return this . to ( 'ListContactFlows' ) ; } /**
     * Grants permission to list references associated with a contact in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListContactReferences.html
     */ public toListContactReferences ( ) { return this . to ( 'ListContactReferences' ) ; } /**
     * Grants permission to list hours of operation resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListHoursOfOperations.html
     */ public toListHoursOfOperations ( ) { return this . to ( 'ListHoursOfOperations' ) ; } /**
     * Grants permission to view the attributes of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListInstanceAttributes ( ) { return this . to ( 'ListInstanceAttributes' ) ; } /**
     * Grants permission to view storage configurations of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListInstanceStorageConfigs ( ) { return this . to ( 'ListInstanceStorageConfigs' ) ; } /**
     * Grants permission to view the Amazon Connect instances associated with an AWS account
     *
     * Access Level: List
     *
     * Dependent actions:
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListInstances ( ) { return this . to ( 'ListInstances' ) ; } /**
     * Grants permission to list summary information about the integration associations for the specified Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - connect:DescribeInstance
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListIntegrationAssociations.html
     */ public toListIntegrationAssociations ( ) { return this . to ( 'ListIntegrationAssociations' ) ; } /**
     * Grants permission to view the Lambda functions of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListLambdaFunctions ( ) { return this . to ( 'ListLambdaFunctions' ) ; } /**
     * Grants permission to view the Lex bots of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListLexBots ( ) { return this . to ( 'ListLexBots' ) ; } /**
     * Grants permission to list phone number resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPhoneNumbers.html
     */ public toListPhoneNumbers ( ) { return this . to ( 'ListPhoneNumbers' ) ; } /**
     * Grants permission to list prompt resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListPrompts.html
     */ public toListPrompts ( ) { return this . to ( 'ListPrompts' ) ; } /**
     * Grants permission to list quick connect resources in a queue in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListQueueQuickConnects.html
     */ public toListQueueQuickConnects ( ) { return this . to ( 'ListQueueQuickConnects' ) ; } /**
     * Grants permission to list queue resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListQueues.html
     */ public toListQueues ( ) { return this . to ( 'ListQueues' ) ; } /**
     * Grants permission to list quick connect resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListQuickConnects.html
     */ public toListQuickConnects ( ) { return this . to ( 'ListQuickConnects' ) ; } /**
     * Grants permission to list the analysis segments for a real-time analysis session
     *
     * Access Level: Read
     *
     * https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_ListRealtimeContactAnalysisSegments.html
     */ public toListRealtimeContactAnalysisSegments ( ) { return this . to ( 'ListRealtimeContactAnalysisSegments' ) ; } /**
     * Grants permission to list queue resources in a routing profile in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListRoutingProfileQueues.html
     */ public toListRoutingProfileQueues ( ) { return this . to ( 'ListRoutingProfileQueues' ) ; } /**
     * Grants permission to list routing profile resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListRoutingProfiles.html
     */ public toListRoutingProfiles ( ) { return this . to ( 'ListRoutingProfiles' ) ; } /**
     * Grants permission to view the security keys of an existing Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toListSecurityKeys ( ) { return this . to ( 'ListSecurityKeys' ) ; } /**
     * Grants permission to list permissions associated with security profile in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListSecurityProfilePermissions.html
     */ public toListSecurityProfilePermissions ( ) { return this . to ( 'ListSecurityProfilePermissions' ) ; } /**
     * Grants permission to list security profile resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListSecurityProfiles.html
     */ public toListSecurityProfiles ( ) { return this . to ( 'ListSecurityProfiles' ) ; } /**
     * Grants permission to list tags for an Amazon Connect resource
     *
     * Access Level: Read
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListTagsForResource.html
     */ public toListTagsForResource ( ) { return this . to ( 'ListTagsForResource' ) ; } /**
     * Grants permission to list the use cases of an integration association
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - connect:DescribeInstance
     * - ds:DescribeDirectories
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListUseCases.html
     */ public toListUseCases ( ) { return this . to ( 'ListUseCases' ) ; } /**
     * Grants permission to list the hierarchy group resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListUserHierarchyGroups.html
     */ public toListUserHierarchyGroups ( ) { return this . to ( 'ListUserHierarchyGroups' ) ; } /**
     * Grants permission to list user resources in an Amazon Connect instance
     *
     * Access Level: List
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ListUsers.html
     */ public toListUsers ( ) { return this . to ( 'ListUsers' ) ; } /**
     * Grants permission to resume recording for the specified contact
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_ResumeContactRecording.html
     */ public toResumeContactRecording ( ) { return this . to ( 'ResumeContactRecording' ) ; } /**
     * Grants permission to initiate a chat using the Amazon Connect API
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html
     */ public toStartChatContact ( ) { return this . to ( 'StartChatContact' ) ; } /**
     * Grants permission to start recording for the specified contact
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_StartContactRecording.html
     */ public toStartContactRecording ( ) { return this . to ( 'StartContactRecording' ) ; } /**
     * Grants permission to initiate outbound calls using the Amazon Connect API
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html
     */ public toStartOutboundVoiceContact ( ) { return this . to ( 'StartOutboundVoiceContact' ) ; } /**
     * Grants permission to initiate a task using the Amazon Connect API
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_StartTaskContact.html
     */ public toStartTaskContact ( ) { return this . to ( 'StartTaskContact' ) ; } /**
     * Grants permission to stop contacts that were initiated using the Amazon Connect API. If you use this operation on an active contact the contact ends, even if the agent is active on a call with a customer
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_StopContact.html
     */ public toStopContact ( ) { return this . to ( 'StopContact' ) ; } /**
     * Grants permission to stop recording for the specified contact
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_StopContactRecording.html
     */ public toStopContactRecording ( ) { return this . to ( 'StopContactRecording' ) ; } /**
     * Grants permission to suspend recording for the specified contact
     *
     * Access Level: Write
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_SuspendContactRecording.html
     */ public toSuspendContactRecording ( ) { return this . to ( 'SuspendContactRecording' ) ; } /**
     * Grants permission to tag an Amazon Connect resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsRequestTag()
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_TagResource.html
     */ public toTagResource ( ) { return this . to ( 'TagResource' ) ; } /**
     * Grants permission to untag an Amazon Connect resource
     *
     * Access Level: Tagging
     *
     * Possible conditions:
     * - .ifAwsTagKeys()
     * - .ifAwsResourceTag()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UntagResource.html
     */ public toUntagResource ( ) { return this . to ( 'UntagResource' ) ; } /**
     * Grants permission to update agent status in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateAgentStatus.html
     */ public toUpdateAgentStatus ( ) { return this . to ( 'UpdateAgentStatus' ) ; } /**
     * Grants permission to update a contact in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContact.html
     */ public toUpdateContact ( ) { return this . to ( 'UpdateContact' ) ; } /**
     * Grants permission to create or update the contact attributes associated with the specified contact
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactAttributes.html
     */ public toUpdateContactAttributes ( ) { return this . to ( 'UpdateContactAttributes' ) ; } /**
     * Grants permission to update contact flow content in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactFlowContent.html
     */ public toUpdateContactFlowContent ( ) { return this . to ( 'UpdateContactFlowContent' ) ; } /**
     * Grants permission to update the metadata of a contact flow in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactFlowMetadata.html
     */ public toUpdateContactFlowMetadata ( ) { return this . to ( 'UpdateContactFlowMetadata' ) ; } /**
     * Grants permission to update the metadata of a contact flow module in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactFlowModuleMetadata.html
     */ public toUpdateContactFlowModuleMetadata ( ) { return this . to ( 'UpdateContactFlowModuleMetadata' ) ; } /**
     * Grants permission to update the name and description of a contact flow in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactFlowName.html
     */ public toUpdateContactFlowName ( ) { return this . to ( 'UpdateContactFlowName' ) ; } /**
     * Grants permission to update the schedule of a contact that is already scheduled in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateContactSchedule.html
     */ public toUpdateContactSchedule ( ) { return this . to ( 'UpdateContactSchedule' ) ; } /**
     * Grants permission to update hours of operation in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateHoursOfOperation.html
     */ public toUpdateHoursOfOperation ( ) { return this . to ( 'UpdateHoursOfOperation' ) ; } /**
     * Grants permission to update the attribute for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAttributeType()
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - ds:DescribeDirectories
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - logs:CreateLogGroup
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toUpdateInstanceAttribute ( ) { return this . to ( 'UpdateInstanceAttribute' ) ; } /**
     * Grants permission to update the storage configuration for an existing Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifStorageResourceType()
     * - .ifInstanceId()
     *
     * Dependent actions:
     * - ds:DescribeDirectories
     * - firehose:DescribeDeliveryStream
     * - iam:AttachRolePolicy
     * - iam:CreateServiceLinkedRole
     * - iam:PutRolePolicy
     * - kinesis:DescribeStream
     * - kms:CreateGrant
     * - kms:DescribeKey
     * - s3:GetBucketAcl
     * - s3:GetBucketLocation
     *
     * https://docs.aws.amazon.com/console/connect/amazon-connect-console/grant-instance-permissions
     */ public toUpdateInstanceStorageConfig ( ) { return this . to ( 'UpdateInstanceStorageConfig' ) ; } /**
     * Grants permission to update queue hours of operation in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueHoursOfOperation.html
     */ public toUpdateQueueHoursOfOperation ( ) { return this . to ( 'UpdateQueueHoursOfOperation' ) ; } /**
     * Grants permission to update queue capacity in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueMaxContacts.html
     */ public toUpdateQueueMaxContacts ( ) { return this . to ( 'UpdateQueueMaxContacts' ) ; } /**
     * Grants permission to update a queue name and description in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueName.html
     */ public toUpdateQueueName ( ) { return this . to ( 'UpdateQueueName' ) ; } /**
     * Grants permission to update queue outbound caller config in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueOutboundCallerConfig.html
     */ public toUpdateQueueOutboundCallerConfig ( ) { return this . to ( 'UpdateQueueOutboundCallerConfig' ) ; } /**
     * Grants permission to update queue status in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQueueStatus.html
     */ public toUpdateQueueStatus ( ) { return this . to ( 'UpdateQueueStatus' ) ; } /**
     * Grants permission to update the configuration of a quick connect in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQuickConnectConfig.html
     */ public toUpdateQuickConnectConfig ( ) { return this . to ( 'UpdateQuickConnectConfig' ) ; } /**
     * Grants permission to update a quick connect name and description in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateQuickConnectName.html
     */ public toUpdateQuickConnectName ( ) { return this . to ( 'UpdateQuickConnectName' ) ; } /**
     * Grants permission to update the concurrency in a routing profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateRoutingProfileConcurrency.html
     */ public toUpdateRoutingProfileConcurrency ( ) { return this . to ( 'UpdateRoutingProfileConcurrency' ) ; } /**
     * Grants permission to update the outbound queue in a routing profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateRoutingProfileDefaultOutboundQueue.html
     */ public toUpdateRoutingProfileDefaultOutboundQueue ( ) { return this . to ( 'UpdateRoutingProfileDefaultOutboundQueue' ) ; } /**
     * Grants permission to update a routing profile name and description in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateRoutingProfileName.html
     */ public toUpdateRoutingProfileName ( ) { return this . to ( 'UpdateRoutingProfileName' ) ; } /**
     * Grants permission to update the queues in routing profile in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateRoutingProfileQueues.html
     */ public toUpdateRoutingProfileQueues ( ) { return this . to ( 'UpdateRoutingProfileQueues' ) ; } /**
     * Grants permission to update a security profile group for a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateSecurityProfile.html
     */ public toUpdateSecurityProfile ( ) { return this . to ( 'UpdateSecurityProfile' ) ; } /**
     * Grants permission to update a hierarchy group for a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserHierarchy.html
     */ public toUpdateUserHierarchy ( ) { return this . to ( 'UpdateUserHierarchy' ) ; } /**
     * Grants permission to update a user hierarchy group name in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserHierarchyGroupName.html
     */ public toUpdateUserHierarchyGroupName ( ) { return this . to ( 'UpdateUserHierarchyGroupName' ) ; } /**
     * Grants permission to update user hierarchy structure in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserHierarchyStructure.html
     */ public toUpdateUserHierarchyStructure ( ) { return this . to ( 'UpdateUserHierarchyStructure' ) ; } /**
     * Grants permission to update identity information for a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserIdentityInfo.html
     */ public toUpdateUserIdentityInfo ( ) { return this . to ( 'UpdateUserIdentityInfo' ) ; } /**
     * Grants permission to update phone configuration settings for a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserPhoneConfig.html
     */ public toUpdateUserPhoneConfig ( ) { return this . to ( 'UpdateUserPhoneConfig' ) ; } /**
     * Grants permission to update a routing profile for a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserRoutingProfile.html
     */ public toUpdateUserRoutingProfile ( ) { return this . to ( 'UpdateUserRoutingProfile' ) ; } /**
     * Grants permission to update security profiles for a user in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateUserSecurityProfiles.html
     */ public toUpdateUserSecurityProfiles ( ) { return this . to ( 'UpdateUserSecurityProfiles' ) ; } /**
     * Grants permission to update contact flow module content in an Amazon Connect instance
     *
     * Access Level: Write
     *
     * Possible conditions:
     * - .ifAwsResourceTag()
     * - .ifInstanceId()
     *
     * https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdatedescribeContent.html
     */ public toUpdatedescribeContent ( ) { return this . to ( 'UpdatedescribeContent' ) ; } protected accessLevelList : AccessLevelList = { Write : [ 'AssociateApprovedOrigin' , 'AssociateBot' , 'AssociateCustomerProfilesDomain' , 'AssociateInstanceStorageConfig' , 'AssociateLambdaFunction' , 'AssociateLexBot' , 'AssociateQueueQuickConnects' , 'AssociateRoutingProfileQueues' , 'AssociateSecurityKey' , 'CreateAgentStatus' , 'CreateContactFlow' , 'CreateContactFlowModule' , 'CreateHoursOfOperation' , 'CreateInstance' , 'CreateIntegrationAssociation' , 'CreateQueue' , 'CreateQuickConnect' , 'CreateRoutingProfile' , 'CreateSecurityProfile' , 'CreateUseCase' , 'CreateUser' , 'CreateUserHierarchyGroup' , 'DeleteContactFlow' , 'DeleteContactFlowModule' , 'DeleteHoursOfOperation' , 'DeleteInstance' , 'DeleteIntegrationAssociation' , 'DeleteQuickConnect' , 'DeleteSecurityProfile' , 'DeleteUseCase' , 'DeleteUser' , 'DeleteUserHierarchyGroup' , 'DisassociateApprovedOrigin' , 'DisassociateBot' , 'DisassociateCustomerProfilesDomain' , 'DisassociateInstanceStorageConfig' , 'DisassociateLambdaFunction' , 'DisassociateLexBot' , 'DisassociateQueueQuickConnects' , 'DisassociateRoutingProfileQueues' , 'DisassociateSecurityKey' , 'GetFederationTokens' , 'ResumeContactRecording' , 'StartChatContact' , 'StartContactRecording' , 'StartOutboundVoiceContact' , 'StartTaskContact' , 'StopContact' , 'StopContactRecording' , 'SuspendContactRecording' , 'UpdateAgentStatus' , 'UpdateContact' , 'UpdateContactAttributes' , 'UpdateContactFlowContent' , 'UpdateContactFlowMetadata' , 'UpdateContactFlowModuleMetadata' , 'UpdateContactFlowName' , 'UpdateContactSchedule' , 'UpdateHoursOfOperation' , 'UpdateInstanceAttribute' , 'UpdateInstanceStorageConfig' , 'UpdateQueueHoursOfOperation' , 'UpdateQueueMaxContacts' , 'UpdateQueueName' , 'UpdateQueueOutboundCallerConfig' , 'UpdateQueueStatus' , 'UpdateQuickConnectConfig' , 'UpdateQuickConnectName' , 'UpdateRoutingProfileConcurrency' , 'UpdateRoutingProfileDefaultOutboundQueue' , 'UpdateRoutingProfileName' , 'UpdateRoutingProfileQueues' , 'UpdateSecurityProfile' , 'UpdateUserHierarchy' , 'UpdateUserHierarchyGroupName' , 'UpdateUserHierarchyStructure' , 'UpdateUserIdentityInfo' , 'UpdateUserPhoneConfig' , 'UpdateUserRoutingProfile' , 'UpdateUserSecurityProfiles' , 'UpdatedescribeContent' ] , Read : [ 'DescribeAgentStatus' , 'DescribeContact' , 'DescribeContactFlow' , 'DescribeContactFlowModule' , 'DescribeHoursOfOperation' , 'DescribeInstance' , 'DescribeInstanceAttribute' , 'DescribeInstanceStorageConfig' , 'DescribeQueue' , 'DescribeQuickConnect' , 'DescribeRoutingProfile' , 'DescribeSecurityProfile' , 'DescribeUser' , 'DescribeUserHierarchyGroup' , 'DescribeUserHierarchyStructure' , 'GetContactAttributes' , 'GetCurrentMetricData' , 'GetFederationToken' , 'GetMetricData' , 'ListRealtimeContactAnalysisSegments' , 'ListTagsForResource' ] , List : [ 'ListAgentStatuses' , 'ListApprovedOrigins' , 'ListBots' , 'ListContactFlowModules' , 'ListContactFlows' , 'ListContactReferences' , 'ListHoursOfOperations' , 'ListInstanceAttributes' , 'ListInstanceStorageConfigs' , 'ListInstances' , 'ListIntegrationAssociations' , 'ListLambdaFunctions' , 'ListLexBots' , 'ListPhoneNumbers' , 'ListPrompts' , 'ListQueueQuickConnects' , 'ListQueues' , 'ListQuickConnects' , 'ListRoutingProfileQueues' , 'ListRoutingProfiles' , 'ListSecurityKeys' , 'ListSecurityProfilePermissions' , 'ListSecurityProfiles' , 'ListUseCases' , 'ListUserHierarchyGroups' , 'ListUsers' ] , Tagging : [ 'TagResource' , 'UntagResource' ] } ; param instanceId param account param region param partition public onInstance ( instanceId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }` ) ; } param instanceId param contactId param account param region param partition public onContact ( instanceId , contactId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/contact/${ contactId }` ) ; } param instanceId param userId param account param region param partition public onUser ( instanceId , userId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/agent/${ userId }` ) ; } param instanceId param routingProfileId param account param region param partition public onRoutingProfile ( instanceId , routingProfileId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/routing-profile/${ routingProfileId }` ) ; } param instanceId param securityProfileId param account param region param partition public onSecurityProfile ( instanceId , securityProfileId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/security-profile/${ securityProfileId }` ) ; } param instanceId param hierarchyGroupId param account param region param partition public onHierarchyGroup ( instanceId , hierarchyGroupId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/agent-group/${ hierarchyGroupId }` ) ; } param instanceId param queueId param account param region param partition public onQueue ( instanceId , queueId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/queue/${ queueId }` ) ; } param instanceId param resourceName param account param region param partition public onWildcardQueue ( instanceId , resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/queue/${ resourceName }` ) ; } param instanceId param quickConnectId param account param region param partition public onQuickConnect ( instanceId , quickConnectId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/transfer-destination/${ quickConnectId }` ) ; } param instanceId param resourceName param account param region param partition public onWildcardQuickConnect ( instanceId , resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/transfer-destination/${ resourceName }` ) ; } param instanceId param contactFlowId param account param region param partition public onContactFlow ( instanceId , contactFlowId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/contact-flow/${ contactFlowId }` ) ; } param instanceId param contactFlowModuleId param account param region param partition public onContactFlowModule ( instanceId , contactFlowModuleId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/flow-module/${ contactFlowModuleId }` ) ; } param instanceId param resourceName param account param region param partition public onWildcardContactFlow ( instanceId , resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/contact-flow/${ resourceName }` ) ; } param instanceId param hoursOfOperationId param account param region param partition public onHoursOfOperation ( instanceId , hoursOfOperationId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/operating-hours/${ hoursOfOperationId }` ) ; } param instanceId param agentStatusId param account param region param partition public onAgentStatus ( instanceId , agentStatusId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/agent-status/${ agentStatusId }` ) ; } param instanceId param resourceName param account param region param partition public onWildcardAgentStatus ( instanceId , resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/agent-status/${ resourceName }` ) ; } param instanceId param phoneNumberId param account param region param partition public onPhoneNumber ( instanceId , phoneNumberId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/phone-numbers/${ phoneNumberId }` ) ; } param instanceId param resourceName param account param region param partition public onWildcardPhoneNumber ( instanceId , resourceName , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/phone-numbers/${ resourceName }` ) ; } param instanceId param integrationAssociationId param account param region param partition public onIntegrationAssociation ( instanceId , integrationAssociationId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/integration-association/${ integrationAssociationId }` ) ; } param instanceId param useCaseId param account param region param partition public onUseCase ( instanceId , useCaseId , account ? , region ? , partition ? ) { return this . on ( `arn:${ partition || 'aws' }:connect:${ region || '*' }:${ account || '*' }:instance/${ instanceId }/use-case/${ useCaseId }` ) ; } param value param operator public ifAttributeType ( value , operator ? ) { return this . if ( `AttributeType` , value , operator || 'StringLike' ) ; } param value param operator public ifInstanceId ( value , operator ? ) { return this . if ( `InstanceId` , value , operator || 'StringLike' ) ; } param value param operator public ifStorageResourceType ( value , operator ? ) { return this . if ( `StorageResourceType` , value , operator || 'StringLike' ) ; } }