iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
1,553 lines • 535 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Connect = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [connect](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Connect extends shared_1.PolicyStatement {
/**
* Statement provider for service [connect](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnect.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
constructor(sid) {
super(sid);
this.servicePrefix = 'connect';
this.accessLevelList = {
Write: [
'ActivateEvaluationForm',
'AdminGetEmergencyAccessToken',
'AssociateAnalyticsDataSet',
'AssociateApprovedOrigin',
'AssociateBot',
'AssociateCustomerProfilesDomain',
'AssociateDefaultVocabulary',
'AssociateFlow',
'AssociateInstanceStorageConfig',
'AssociateLambdaFunction',
'AssociateLexBot',
'AssociatePhoneNumberContactFlow',
'AssociateQueueQuickConnects',
'AssociateRoutingProfileQueues',
'AssociateSecurityKey',
'AssociateTrafficDistributionGroupUser',
'AssociateUserProficiencies',
'BatchAssociateAnalyticsDataSet',
'BatchDisassociateAnalyticsDataSet',
'BatchPutContact',
'ClaimPhoneNumber',
'CompleteAttachedFileUpload',
'CreateAgentStatus',
'CreateAuthenticationProfile',
'CreateContact',
'CreateContactFlow',
'CreateContactFlowModule',
'CreateContactFlowVersion',
'CreateEmailAddress',
'CreateEvaluationForm',
'CreateHoursOfOperation',
'CreateHoursOfOperationOverride',
'CreateInstance',
'CreateIntegrationAssociation',
'CreateParticipant',
'CreatePersistentContactAssociation',
'CreatePredefinedAttribute',
'CreatePrompt',
'CreatePushNotificationRegistration',
'CreateQueue',
'CreateQuickConnect',
'CreateRoutingProfile',
'CreateRule',
'CreateSecurityProfile',
'CreateTaskTemplate',
'CreateTrafficDistributionGroup',
'CreateUseCase',
'CreateUser',
'CreateUserHierarchyGroup',
'CreateView',
'CreateViewVersion',
'CreateVocabulary',
'DeactivateEvaluationForm',
'DeleteAttachedFile',
'DeleteContactEvaluation',
'DeleteContactFlow',
'DeleteContactFlowModule',
'DeleteContactFlowVersion',
'DeleteEmailAddress',
'DeleteEvaluationForm',
'DeleteHoursOfOperation',
'DeleteHoursOfOperationOverride',
'DeleteInstance',
'DeleteIntegrationAssociation',
'DeletePredefinedAttribute',
'DeletePrompt',
'DeletePushNotificationRegistration',
'DeleteQueue',
'DeleteQuickConnect',
'DeleteRoutingProfile',
'DeleteRule',
'DeleteSecurityProfile',
'DeleteTaskTemplate',
'DeleteTrafficDistributionGroup',
'DeleteUseCase',
'DeleteUser',
'DeleteUserHierarchyGroup',
'DeleteView',
'DeleteViewVersion',
'DeleteVocabulary',
'DisassociateAnalyticsDataSet',
'DisassociateApprovedOrigin',
'DisassociateBot',
'DisassociateCustomerProfilesDomain',
'DisassociateFlow',
'DisassociateInstanceStorageConfig',
'DisassociateLambdaFunction',
'DisassociateLexBot',
'DisassociatePhoneNumberContactFlow',
'DisassociateQueueQuickConnects',
'DisassociateRoutingProfileQueues',
'DisassociateSecurityKey',
'DisassociateTrafficDistributionGroupUser',
'DisassociateUserProficiencies',
'DismissUserContact',
'ImportPhoneNumber',
'MonitorContact',
'PauseContact',
'PutUserStatus',
'ReleasePhoneNumber',
'ReplicateInstance',
'ResumeContact',
'ResumeContactRecording',
'SendChatIntegrationEvent',
'SendIntegrationEvent',
'SendOutboundEmail',
'StartAttachedFileUpload',
'StartChatContact',
'StartContactEvaluation',
'StartContactRecording',
'StartContactStreaming',
'StartEmailContact',
'StartForecastingPlanningSchedulingIntegration',
'StartOutboundChatContact',
'StartOutboundEmailContact',
'StartOutboundVoiceContact',
'StartScreenSharing',
'StartTaskContact',
'StartWebRTCContact',
'StopContact',
'StopContactRecording',
'StopContactStreaming',
'StopForecastingPlanningSchedulingIntegration',
'SubmitContactEvaluation',
'SuspendContactRecording',
'TagContact',
'TransferContact',
'UntagContact',
'UpdateAgentStatus',
'UpdateAuthenticationProfile',
'UpdateContact',
'UpdateContactAttributes',
'UpdateContactEvaluation',
'UpdateContactFlowContent',
'UpdateContactFlowMetadata',
'UpdateContactFlowModuleContent',
'UpdateContactFlowModuleMetadata',
'UpdateContactFlowName',
'UpdateContactRoutingData',
'UpdateContactSchedule',
'UpdateEmailAddressMetadata',
'UpdateEvaluationForm',
'UpdateHoursOfOperation',
'UpdateHoursOfOperationOverride',
'UpdateInstanceAttribute',
'UpdateInstanceStorageConfig',
'UpdateParticipantAuthentication',
'UpdateParticipantRoleConfig',
'UpdatePhoneNumber',
'UpdatePhoneNumberMetadata',
'UpdatePredefinedAttribute',
'UpdatePrompt',
'UpdateQueueHoursOfOperation',
'UpdateQueueMaxContacts',
'UpdateQueueName',
'UpdateQueueOutboundCallerConfig',
'UpdateQueueOutboundEmailConfig',
'UpdateQueueStatus',
'UpdateQuickConnectConfig',
'UpdateQuickConnectName',
'UpdateRoutingProfileAgentAvailabilityTimer',
'UpdateRoutingProfileConcurrency',
'UpdateRoutingProfileDefaultOutboundQueue',
'UpdateRoutingProfileName',
'UpdateRoutingProfileQueues',
'UpdateRule',
'UpdateSecurityProfile',
'UpdateTaskTemplate',
'UpdateTrafficDistribution',
'UpdateUserHierarchy',
'UpdateUserHierarchyGroupName',
'UpdateUserHierarchyStructure',
'UpdateUserIdentityInfo',
'UpdateUserPhoneConfig',
'UpdateUserProficiencies',
'UpdateUserRoutingProfile',
'UpdateUserSecurityProfiles',
'UpdateViewContent',
'UpdateViewMetadata'
],
Read: [
'BatchGetAttachedFileMetadata',
'DescribeAgentStatus',
'DescribeAuthenticationProfile',
'DescribeContact',
'DescribeContactEvaluation',
'DescribeContactFlow',
'DescribeContactFlowModule',
'DescribeEmailAddress',
'DescribeEvaluationForm',
'DescribeForecastingPlanningSchedulingIntegration',
'DescribeHoursOfOperation',
'DescribeHoursOfOperationOverride',
'DescribeInstance',
'DescribeInstanceAttribute',
'DescribeInstanceStorageConfig',
'DescribePhoneNumber',
'DescribePredefinedAttribute',
'DescribePrompt',
'DescribeQueue',
'DescribeQuickConnect',
'DescribeRoutingProfile',
'DescribeRule',
'DescribeSecurityProfile',
'DescribeTrafficDistributionGroup',
'DescribeUser',
'DescribeUserHierarchyGroup',
'DescribeUserHierarchyStructure',
'DescribeView',
'DescribeVocabulary',
'GetAttachedFile',
'GetContactAttributes',
'GetCurrentMetricData',
'GetCurrentUserData',
'GetEffectiveHoursOfOperations',
'GetFederationToken',
'GetFlowAssociation',
'GetMetricData',
'GetMetricDataV2',
'GetPromptFile',
'GetTaskTemplate',
'ListRealtimeContactAnalysisSegments',
'ListTagsForResource',
'SearchAgentStatuses',
'SearchContactFlowModules',
'SearchContactFlows',
'SearchContacts',
'SearchEmailAddresses',
'SearchHoursOfOperationOverrides',
'SearchHoursOfOperations',
'SearchPredefinedAttributes',
'SearchPrompts',
'SearchQueues',
'SearchQuickConnects',
'SearchRoutingProfiles',
'SearchSecurityProfiles',
'SearchUserHierarchyGroups',
'SearchUsers'
],
List: [
'BatchGetFlowAssociation',
'GetTrafficDistribution',
'ListAgentStatuses',
'ListAnalyticsDataAssociations',
'ListAnalyticsDataLakeDataSets',
'ListApprovedOrigins',
'ListAssociatedContacts',
'ListAuthenticationProfiles',
'ListBots',
'ListContactEvaluations',
'ListContactFlowModules',
'ListContactFlowVersions',
'ListContactFlows',
'ListContactReferences',
'ListDefaultVocabularies',
'ListEvaluationFormVersions',
'ListEvaluationForms',
'ListFlowAssociations',
'ListHoursOfOperationOverrides',
'ListHoursOfOperations',
'ListInstanceAttributes',
'ListInstanceStorageConfigs',
'ListInstances',
'ListIntegrationAssociations',
'ListLambdaFunctions',
'ListLexBots',
'ListPhoneNumbers',
'ListPhoneNumbersV2',
'ListPredefinedAttributes',
'ListPrompts',
'ListQueueQuickConnects',
'ListQueues',
'ListQuickConnects',
'ListRealtimeContactAnalysisSegmentsV2',
'ListRoutingProfileQueues',
'ListRoutingProfiles',
'ListRules',
'ListSecurityKeys',
'ListSecurityProfileApplications',
'ListSecurityProfilePermissions',
'ListSecurityProfiles',
'ListTaskTemplates',
'ListTrafficDistributionGroupUsers',
'ListTrafficDistributionGroups',
'ListUseCases',
'ListUserHierarchyGroups',
'ListUserProficiencies',
'ListUsers',
'ListViewVersions',
'ListViews',
'SearchAvailablePhoneNumbers',
'SearchResourceTags',
'SearchVocabularies'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
/**
* Grants permission to activate an evaluation form in the specified Amazon Connect instance. After the evaluation form is activated, it is available to start new evaluations based on the form
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_ActivateEvaluationForm.html
*/
toActivateEvaluationForm() {
return this.to('ActivateEvaluationForm');
}
/**
* 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/API_GetFederationToken.html
*/
toAdminGetEmergencyAccessToken() {
return this.to('AdminGetEmergencyAccessToken');
}
/**
* Grants permission to grant access and to associate a dataset with the specified AWS account
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*/
toAssociateAnalyticsDataSet() {
return this.to('AssociateAnalyticsDataSet');
}
/**
* 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
*/
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
*/
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
*/
toAssociateCustomerProfilesDomain() {
return this.to('AssociateCustomerProfilesDomain');
}
/**
* Grants permission to default vocabulary for an existing Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*/
toAssociateDefaultVocabulary() {
return this.to('AssociateDefaultVocabulary');
}
/**
* Grants permission to associate a resource with a flow in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateFlow.html
*/
toAssociateFlow() {
return this.to('AssociateFlow');
}
/**
* 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
*/
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
*/
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
*/
toAssociateLexBot() {
return this.to('AssociateLexBot');
}
/**
* Grants permission to associate contact flow resources to phone number resources in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociatePhoneNumberContactFlow.html
*/
toAssociatePhoneNumberContactFlow() {
return this.to('AssociatePhoneNumberContactFlow');
}
/**
* 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
*/
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
*/
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
*/
toAssociateSecurityKey() {
return this.to('AssociateSecurityKey');
}
/**
* Grants permission to associate a user to a traffic distribution group in the specified Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
* - .ifAwsResourceTag()
* - .ifSearchTag()
*
* Dependent actions:
* - connect:DescribeUser
* - connect:SearchUsers
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateTrafficDistributionGroupUser.html
*/
toAssociateTrafficDistributionGroupUser() {
return this.to('AssociateTrafficDistributionGroupUser');
}
/**
* Grants permission to associate user proficiencies to a user in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateUserProficiencies.html
*/
toAssociateUserProficiencies() {
return this.to('AssociateUserProficiencies');
}
/**
* Grants permission to grant access and to associate the datasets with the specified AWS account
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*/
toBatchAssociateAnalyticsDataSet() {
return this.to('BatchAssociateAnalyticsDataSet');
}
/**
* Grants permission to revoke access and to disassociate the datasets with the specified AWS account
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*/
toBatchDisassociateAnalyticsDataSet() {
return this.to('BatchDisassociateAnalyticsDataSet');
}
/**
* Grants permission to get metadata for multiple attached files from an Amazon Connect instance
*
* Access Level: Read
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_BatchGetAttachedFileMetadata.html
*/
toBatchGetAttachedFileMetadata() {
return this.to('BatchGetAttachedFileMetadata');
}
/**
* Grants permission to get summary information about the flow associations for the specified Amazon Connect instance
*
* Access Level: List
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_BatchGetFlowAssociation.html
*/
toBatchGetFlowAssociation() {
return this.to('BatchGetFlowAssociation');
}
/**
* Grants permission to put contacts in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_BatchPutContact.html
*/
toBatchPutContact() {
return this.to('BatchPutContact');
}
/**
* Grants permission to claim phone number resources in an Amazon Connect instance or traffic distribution group
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_ClaimPhoneNumber.html
*/
toClaimPhoneNumber() {
return this.to('ClaimPhoneNumber');
}
/**
* Grants permission to complete an attached file upload in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CompleteAttachedFileUpload.html
*/
toCompleteAttachedFileUpload() {
return this.to('CompleteAttachedFileUpload');
}
/**
* 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
*/
toCreateAgentStatus() {
return this.to('CreateAgentStatus');
}
/**
* Grants permission to create authentication profile resources in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateAuthenticationProfile.html
*/
toCreateAuthenticationProfile() {
return this.to('CreateAuthenticationProfile');
}
/**
* Grants permission to create a new contact using the Amazon Connect API
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
* - .ifContactInitiationMethod()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContact.html
*/
toCreateContact() {
return this.to('CreateContact');
}
/**
* Grants permission to create a contact flow in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
* - .ifFlowType()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlow.html
*/
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
*/
toCreateContactFlowModule() {
return this.to('CreateContactFlowModule');
}
/**
* Grants permission to create a version a flow in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
* - .ifFlowType()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateContactFlowVersion.html
*/
toCreateContactFlowVersion() {
return this.to('CreateContactFlowVersion');
}
/**
* Grants permission to create an email address resource in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateEmailAddress.html
*/
toCreateEmailAddress() {
return this.to('CreateEmailAddress');
}
/**
* Grants permission to create an evaluation form in the specified Amazon Connect instance. The form can be used to define questions related to agent performance, and create sections to organize such questions. Question and section identifiers cannot be duplicated within the same evaluation form
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateEvaluationForm.html
*/
toCreateEvaluationForm() {
return this.to('CreateEvaluationForm');
}
/**
* 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
*/
toCreateHoursOfOperation() {
return this.to('CreateHoursOfOperation');
}
/**
* Grants permission to create an hours of operation override in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateHoursOfOperationOverride.html
*/
toCreateHoursOfOperationOverride() {
return this.to('CreateHoursOfOperationOverride');
}
/**
* 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
*/
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:CreateApplicationAssociation
* - app-integrations:CreateEventIntegrationAssociation
* - app-integrations:GetApplication
* - cases:GetDomain
* - chime:AssociateVoiceConnectorConnect
* - chime:DisassociateVoiceConnectorConnect
* - chime:TagResource
* - chime:UntagResource
* - connect:DescribeInstance
* - ds:DescribeDirectories
* - events:PutRule
* - events:PutTargets
* - iam:AttachRolePolicy
* - iam:CreateServiceLinkedRole
* - iam:PutRolePolicy
* - mobiletargeting:GetApp
* - voiceid:DescribeDomain
* - wisdom:GetAssistant
* - wisdom:GetKnowledgeBase
* - wisdom:TagResource
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateIntegrationAssociation.html
*/
toCreateIntegrationAssociation() {
return this.to('CreateIntegrationAssociation');
}
/**
* Grants permission to add a participant to an ongoing contact
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateParticipant.html
*/
toCreateParticipant() {
return this.to('CreateParticipant');
}
/**
* Grants permission to create persistent contact associations for a contact
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePersistentContactAssociation.html
*/
toCreatePersistentContactAssociation() {
return this.to('CreatePersistentContactAssociation');
}
/**
* Grants permission to create a predefined attribute in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePredefinedAttribute.html
*/
toCreatePredefinedAttribute() {
return this.to('CreatePredefinedAttribute');
}
/**
* Grants permission to create a prompt in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* Dependent actions:
* - kms:Decrypt
* - s3:GetObject
* - s3:GetObjectAcl
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePrompt.html
*/
toCreatePrompt() {
return this.to('CreatePrompt');
}
/**
* Grants permission to create a push notification registration for an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreatePushNotificationRegistration.html
*/
toCreatePushNotificationRegistration() {
return this.to('CreatePushNotificationRegistration');
}
/**
* 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
*/
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
*/
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
*/
toCreateRoutingProfile() {
return this.to('CreateRoutingProfile');
}
/**
* Grants permission to create a rule in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateRule.html
*/
toCreateRule() {
return this.to('CreateRule');
}
/**
* 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
*/
toCreateSecurityProfile() {
return this.to('CreateSecurityProfile');
}
/**
* Grants permission to create a task template in an Amazon Connect instance
*
* Access Level: Write
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTaskTemplate.html
*/
toCreateTaskTemplate() {
return this.to('CreateTaskTemplate');
}
/**
* Grants permission to create a traffic distribution group
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateTrafficDistributionGroup.html
*/
toCreateTrafficDistributionGroup() {
return this.to('CreateTrafficDistributionGroup');
}
/**
* 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
*/
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
*/
toCreateUser() {
return this.to('CreateUser');
}
/**
* Grants permission to create a user hierarchy group in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateUserHierarchyGroup.html
*/
toCreateUserHierarchyGroup() {
return this.to('CreateUserHierarchyGroup');
}
/**
* Grants permission to create a view in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateView.html
*/
toCreateView() {
return this.to('CreateView');
}
/**
* Grants permission to create a view version in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateViewVersion.html
*/
toCreateViewVersion() {
return this.to('CreateViewVersion');
}
/**
* Grants permission to create a vocabulary in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateVocabulary.html
*/
toCreateVocabulary() {
return this.to('CreateVocabulary');
}
/**
* Grants permission to deactivate an evaluation form in the specified Amazon Connect instance. After a form is deactivated, it is no longer available for users to start new evaluations based on the form
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeactivateEvaluationForm.html
*/
toDeactivateEvaluationForm() {
return this.to('DeactivateEvaluationForm');
}
/**
* Grants permission to delete an attached file from an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
* - .ifInstanceId()
*
* Dependent actions:
* - cases:DeleteRelatedItem
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteAttachedFile.html
*/
toDeleteAttachedFile() {
return this.to('DeleteAttachedFile');
}
/**
* Grants permission to delete a contact evaluation in the specified Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteContactEvaluation.html
*/
toDeleteContactEvaluation() {
return this.to('DeleteContactEvaluation');
}
/**
* Grants permission to delete a contact flow in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
* - .ifFlowType()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteContactFlow.html
*/
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
*/
toDeleteContactFlowModule() {
return this.to('DeleteContactFlowModule');
}
/**
* Grants permission to delete a version of a flow in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
* - .ifFlowType()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteContactFlowVersion.html
*/
toDeleteContactFlowVersion() {
return this.to('DeleteContactFlowVersion');
}
/**
* Grants permission to delete an email address resource in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteEmailAddress.html
*/
toDeleteEmailAddress() {
return this.to('DeleteEmailAddress');
}
/**
* Grants permission to delete an evaluation form in the specified Amazon Connect instance. If the version property is provided, only the specified version of the evaluation form is deleted
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteEvaluationForm.html
*/
toDeleteEvaluationForm() {
return this.to('DeleteEvaluationForm');
}
/**
* 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
*/
toDeleteHoursOfOperation() {
return this.to('DeleteHoursOfOperation');
}
/**
* Grants permission to delete an hours of operation override in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteHoursOfOperationOverride.html
*/
toDeleteHoursOfOperationOverride() {
return this.to('DeleteHoursOfOperationOverride');
}
/**
* 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
*/
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:DeleteApplicationAssociation
* - app-integrations:DeleteEventIntegrationAssociation
* - connect:DescribeInstance
* - ds:DescribeDirectories
* - events:DeleteRule
* - events:ListTargetsByRule
* - events:RemoveTargets
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteIntegrationAssociation.html
*/
toDeleteIntegrationAssociation() {
return this.to('DeleteIntegrationAssociation');
}
/**
* Grants permission to delete a predefined attribute in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeletePredefinedAttribute.html
*/
toDeletePredefinedAttribute() {
return this.to('DeletePredefinedAttribute');
}
/**
* Grants permission to delete a prompt in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeletePrompt.html
*/
toDeletePrompt() {
return this.to('DeletePrompt');
}
/**
* Grants permission to delete a push notification registration for an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeletePushNotificationRegistration.html
*/
toDeletePushNotificationRegistration() {
return this.to('DeletePushNotificationRegistration');
}
/**
* Grants permission to delete a queue in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteQueue.html
*/
toDeleteQueue() {
return this.to('DeleteQueue');
}
/**
* 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
*/
toDeleteQuickConnect() {
return this.to('DeleteQuickConnect');
}
/**
* Grants permission to delete routing profiles in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteRoutingProfile.html
*/
toDeleteRoutingProfile() {
return this.to('DeleteRoutingProfile');
}
/**
* Grants permission to delete a rule in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteRule.html
*/
toDeleteRule() {
return this.to('DeleteRule');
}
/**
* 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
*/
toDeleteSecurityProfile() {
return this.to('DeleteSecurityProfile');
}
/**
* Grants permission to delete a task template in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTaskTemplate.html
*/
toDeleteTaskTemplate() {
return this.to('DeleteTaskTemplate');
}
/**
* Grants permission to delete a traffic distribution group
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteTrafficDistributionGroup.html
*/
toDeleteTrafficDistributionGroup() {
return this.to('DeleteTrafficDistributionGroup');
}
/**
* 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
*/
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
*/
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
*/
toDeleteUserHierarchyGroup() {
return this.to('DeleteUserHierarchyGroup');
}
/**
* Grants permission to delete a view in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteView.html
*/
toDeleteView() {
return this.to('DeleteView');
}
/**
* Grants permission to delete a view version in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteViewVersion.html
*/
toDeleteViewVersion() {
return this.to('DeleteViewVersion');
}
/**
* Grants permission to delete a vocabulary in an Amazon Connect instance
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsResourceTag()
* - .ifInstanceId()
*
* https://docs.aws.amazon.com/connect/latest/APIReference/API_Dele