cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
1,392 lines • 151 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Profile = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [profile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnectcustomerprofiles.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Profile extends shared_1.PolicyStatement {
/**
* Grants permission to add a profile key
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_AddProfileKey.html
*/
toAddProfileKey() {
return this.to('AddProfileKey');
}
/**
* Grants permission to retrieve a calculated attribute for the specific profiles in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_BatchGetCalculatedAttributeForProfile.html
*/
toBatchGetCalculatedAttributeForProfile() {
return this.to('BatchGetCalculatedAttributeForProfile');
}
/**
* Grants permission to get profiles in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_BatchGetProfile.html
*/
toBatchGetProfile() {
return this.to('BatchGetProfile');
}
/**
* Grants permission to create a calculated attribute definition in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateCalculatedAttributeDefinition.html
*/
toCreateCalculatedAttributeDefinition() {
return this.to('CreateCalculatedAttributeDefinition');
}
/**
* Grants permission to create a Domain
*
* Access Level: Write
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomain.html
*/
toCreateDomain() {
return this.to('CreateDomain');
}
/**
* Grants permission to create a layout in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateDomainLayout.html
*/
toCreateDomainLayout() {
return this.to('CreateDomainLayout');
}
/**
* Grants permission to put an event stream in a domain
*
* Access Level: Write
*
* Dependent actions:
* - iam:PutRolePolicy
* - kinesis:DescribeStreamSummary
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateEventStream.html
*/
toCreateEventStream() {
return this.to('CreateEventStream');
}
/**
* Grants permission to create an event trigger in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateEventTrigger.html
*/
toCreateEventTrigger() {
return this.to('CreateEventTrigger');
}
/**
* Grants permission to create an integration workflow in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateIntegrationWorkflow.html
*/
toCreateIntegrationWorkflow() {
return this.to('CreateIntegrationWorkflow');
}
/**
* Grants permission to create a profile in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateProfile.html
*/
toCreateProfile() {
return this.to('CreateProfile');
}
/**
* Grants permission to create a Recommender in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateRecommender.html
*/
toCreateRecommender() {
return this.to('CreateRecommender');
}
/**
* Grants permission to create a recommender filter in the domain
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateRecommenderFilter.html
*/
toCreateRecommenderFilter() {
return this.to('CreateRecommenderFilter');
}
/**
* Grants permission to create a recommender schema in the domain
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateRecommenderSchema.html
*/
toCreateRecommenderSchema() {
return this.to('CreateRecommenderSchema');
}
/**
* Grants permission to create a segment definition in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateSegmentDefinition.html
*/
toCreateSegmentDefinition() {
return this.to('CreateSegmentDefinition');
}
/**
* Grants permission to create a segment estimate in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateSegmentEstimate.html
*/
toCreateSegmentEstimate() {
return this.to('CreateSegmentEstimate');
}
/**
* Grants permission to create a segment snapshot in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateSegmentSnapshot.html
*/
toCreateSegmentSnapshot() {
return this.to('CreateSegmentSnapshot');
}
/**
* Grants permission to create a snapshot in the domain
*
* Access Level: Write
*/
toCreateSnapshot() {
return this.to('CreateSnapshot');
}
/**
* Grants permission to create an upload job in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_CreateUploadJob.html
*/
toCreateUploadJob() {
return this.to('CreateUploadJob');
}
/**
* Grants permission to delete a calculated attribute definition in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteCalculatedAttributeDefinition.html
*/
toDeleteCalculatedAttributeDefinition() {
return this.to('DeleteCalculatedAttributeDefinition');
}
/**
* Grants permission to delete a Domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteDomain.html
*/
toDeleteDomain() {
return this.to('DeleteDomain');
}
/**
* Grants permission to delete a layout in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteDomainLayout.html
*/
toDeleteDomainLayout() {
return this.to('DeleteDomainLayout');
}
/**
* Grants permission to delete a specific domain object type in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteDomainObjectType.html
*/
toDeleteDomainObjectType() {
return this.to('DeleteDomainObjectType');
}
/**
* Grants permission to delete an event stream in a domain
*
* Access Level: Write
*
* Dependent actions:
* - iam:DeleteRolePolicy
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteEventStream.html
*/
toDeleteEventStream() {
return this.to('DeleteEventStream');
}
/**
* Grants permission to delete an event trigger in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteEventTrigger.html
*/
toDeleteEventTrigger() {
return this.to('DeleteEventTrigger');
}
/**
* Grants permission to delete a integration in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteIntegration.html
*/
toDeleteIntegration() {
return this.to('DeleteIntegration');
}
/**
* Grants permission to delete a profile
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteProfile.html
*/
toDeleteProfile() {
return this.to('DeleteProfile');
}
/**
* Grants permission to delete a profile key
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteProfileKey.html
*/
toDeleteProfileKey() {
return this.to('DeleteProfileKey');
}
/**
* Grants permission to delete a profile object
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteProfileObject.html
*/
toDeleteProfileObject() {
return this.to('DeleteProfileObject');
}
/**
* Grants permission to delete a specific profile object type in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteProfileObjectType.html
*/
toDeleteProfileObjectType() {
return this.to('DeleteProfileObjectType');
}
/**
* Grants permission to delete a recommender in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteRecommender.html
*/
toDeleteRecommender() {
return this.to('DeleteRecommender');
}
/**
* Grants permission to delete a recommender filter in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteRecommenderFilter.html
*/
toDeleteRecommenderFilter() {
return this.to('DeleteRecommenderFilter');
}
/**
* Grants permission to delete a recommender schema in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteRecommenderSchema.html
*/
toDeleteRecommenderSchema() {
return this.to('DeleteRecommenderSchema');
}
/**
* Grants permission to delete a segment definition in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteSegmentDefinition.html
*/
toDeleteSegmentDefinition() {
return this.to('DeleteSegmentDefinition');
}
/**
* Grants permission to delete a workflow in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DeleteWorkflow.html
*/
toDeleteWorkflow() {
return this.to('DeleteWorkflow');
}
/**
* Grants permission to auto detect object type
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_DetectProfileObjectType.html
*/
toDetectProfileObjectType() {
return this.to('DetectProfileObjectType');
}
/**
* Grants permission to get a preview of auto merging in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetAutoMergingPreview.html
*/
toGetAutoMergingPreview() {
return this.to('GetAutoMergingPreview');
}
/**
* Grants permission to get a calculated attribute definition in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetCalculatedAttributeDefinition.html
*/
toGetCalculatedAttributeDefinition() {
return this.to('GetCalculatedAttributeDefinition');
}
/**
* Grants permission to retrieve a calculated attribute for a specific profile in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetCalculatedAttributeForProfile.html
*/
toGetCalculatedAttributeForProfile() {
return this.to('GetCalculatedAttributeForProfile');
}
/**
* Grants permission to get a specific domain in an account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetDomain.html
*/
toGetDomain() {
return this.to('GetDomain');
}
/**
* Grants permission to get a layout in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetDomainLayout.html
*/
toGetDomainLayout() {
return this.to('GetDomainLayout');
}
/**
* Grants permission to get a specific domain object type in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetDomainObjectType.html
*/
toGetDomainObjectType() {
return this.to('GetDomainObjectType');
}
/**
* Grants permission to get a specific event stream in a domain
*
* Access Level: Read
*
* Dependent actions:
* - kinesis:DescribeStreamSummary
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetEventStream.html
*/
toGetEventStream() {
return this.to('GetEventStream');
}
/**
* Grants permission to get an event trigger in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetEventTrigger.html
*/
toGetEventTrigger() {
return this.to('GetEventTrigger');
}
/**
* Grants permission to get an identity resolution job in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetIdentityResolutionJob.html
*/
toGetIdentityResolutionJob() {
return this.to('GetIdentityResolutionJob');
}
/**
* Grants permission to get a specific integrations in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetIntegration.html
*/
toGetIntegration() {
return this.to('GetIntegration');
}
/**
* Grants permission to get profile matches in a domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetMatches.html
*/
toGetMatches() {
return this.to('GetMatches');
}
/**
* Grants permission to get statistics of a specific attribute for object type in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetObjectTypeAttributeStatistics.html
*/
toGetObjectTypeAttributeStatistics() {
return this.to('GetObjectTypeAttributeStatistics');
}
/**
* Grants permission to get a profile history record for a profile in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetProfileHistoryRecord.html
*/
toGetProfileHistoryRecord() {
return this.to('GetProfileHistoryRecord');
}
/**
* Grants permission to list insights for a profile
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetProfileInsights.html
*/
toGetProfileInsights() {
return this.to('GetProfileInsights');
}
/**
* Grants permission to get a specific profile object type in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetProfileObjectType.html
*/
toGetProfileObjectType() {
return this.to('GetProfileObjectType');
}
/**
* Grants permission to get a specific object type template
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetProfileObjectTypeTemplate.html
*/
toGetProfileObjectTypeTemplate() {
return this.to('GetProfileObjectTypeTemplate');
}
/**
* Grants permission to list recommendations for a profile
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetProfileRecommendations.html
*/
toGetProfileRecommendations() {
return this.to('GetProfileRecommendations');
}
/**
* Grants permission to get Recommender details in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetRecommender.html
*/
toGetRecommender() {
return this.to('GetRecommender');
}
/**
* Grants permission to get recommender filter details in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetRecommenderFilter.html
*/
toGetRecommenderFilter() {
return this.to('GetRecommenderFilter');
}
/**
* Grants permission to get recommender schema details in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetRecommenderSchema.html
*/
toGetRecommenderSchema() {
return this.to('GetRecommenderSchema');
}
/**
* Grants permission to get a segment definition in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetSegmentDefinition.html
*/
toGetSegmentDefinition() {
return this.to('GetSegmentDefinition');
}
/**
* Grants permission to get a segment estimate in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetSegmentEstimate.html
*/
toGetSegmentEstimate() {
return this.to('GetSegmentEstimate');
}
/**
* Grants permission to determine if the given profiles are part of a segment in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetSegmentMembership.html
*/
toGetSegmentMembership() {
return this.to('GetSegmentMembership');
}
/**
* Grants permission to get a segment snapshot in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetSegmentSnapshot.html
*/
toGetSegmentSnapshot() {
return this.to('GetSegmentSnapshot');
}
/**
* Grants permission to get all the similar profiles in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetSimilarProfiles.html
*/
toGetSimilarProfiles() {
return this.to('GetSimilarProfiles');
}
/**
* Grants permission to get a snapshot in the domain
*
* Access Level: Read
*/
toGetSnapshot() {
return this.to('GetSnapshot');
}
/**
* Grants permission to get details of an upload job in the domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetUploadJob.html
*/
toGetUploadJob() {
return this.to('GetUploadJob');
}
/**
* Grants permission to get a pre-signed URL to upload file for an upload job
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetUploadJobPath.html
*/
toGetUploadJobPath() {
return this.to('GetUploadJobPath');
}
/**
* Grants permission to get workflow details in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetWorkflow.html
*/
toGetWorkflow() {
return this.to('GetWorkflow');
}
/**
* Grants permission to get workflow step details in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_GetWorkflowSteps.html
*/
toGetWorkflowSteps() {
return this.to('GetWorkflowSteps');
}
/**
* Grants permission to list all the integrations in the account
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListAccountIntegrations.html
*/
toListAccountIntegrations() {
return this.to('ListAccountIntegrations');
}
/**
* Grants permission to list all the calculated attribute definitions in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListCalculatedAttributeDefinitions.html
*/
toListCalculatedAttributeDefinitions() {
return this.to('ListCalculatedAttributeDefinitions');
}
/**
* Grants permission to list all calculated attributes for a specific profile in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListCalculatedAttributesForProfile.html
*/
toListCalculatedAttributesForProfile() {
return this.to('ListCalculatedAttributesForProfile');
}
/**
* Grants permission to list all the layouts in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListDomainLayouts.html
*/
toListDomainLayouts() {
return this.to('ListDomainLayouts');
}
/**
* Grants permission to list all the domain object types in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListDomainObjectTypes.html
*/
toListDomainObjectTypes() {
return this.to('ListDomainObjectTypes');
}
/**
* Grants permission to list domain objects in a domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListDomainObjects.html
*/
toListDomainObjects() {
return this.to('ListDomainObjects');
}
/**
* Grants permission to list all the domains in an account
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListDomains.html
*/
toListDomains() {
return this.to('ListDomains');
}
/**
* Grants permission to list all the event streams in a specific domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListEventStreams.html
*/
toListEventStreams() {
return this.to('ListEventStreams');
}
/**
* Grants permission to list all the event triggers in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListEventTriggers.html
*/
toListEventTriggers() {
return this.to('ListEventTriggers');
}
/**
* Grants permission to list identity resolution jobs in a domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListIdentityResolutionJobs.html
*/
toListIdentityResolutionJobs() {
return this.to('ListIdentityResolutionJobs');
}
/**
* Grants permission to list all the integrations in a specific domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListIntegrations.html
*/
toListIntegrations() {
return this.to('ListIntegrations');
}
/**
* Grants permission to list values of a specific attribute for object type in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListObjectTypeAttributeValues.html
*/
toListObjectTypeAttributeValues() {
return this.to('ListObjectTypeAttributeValues');
}
/**
* Grants permission to list all the attributes of a specific object type in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListObjectTypeAttributes.html
*/
toListObjectTypeAttributes() {
return this.to('ListObjectTypeAttributes');
}
/**
* Grants permission to list all the values of a profile attribute in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListProfileAttributeValues.html
*/
toListProfileAttributeValues() {
return this.to('ListProfileAttributeValues');
}
/**
* Grants permission to list all the profile history records for a profile in a domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListProfileHistoryRecords.html
*/
toListProfileHistoryRecords() {
return this.to('ListProfileHistoryRecords');
}
/**
* Grants permission to list all the profile object type templates in the account
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListProfileObjectTypeTemplates.html
*/
toListProfileObjectTypeTemplates() {
return this.to('ListProfileObjectTypeTemplates');
}
/**
* Grants permission to list all the profile object types in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListProfileObjectTypes.html
*/
toListProfileObjectTypes() {
return this.to('ListProfileObjectTypes');
}
/**
* Grants permission to list all the profile objects for a profile
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListProfileObjects.html
*/
toListProfileObjects() {
return this.to('ListProfileObjects');
}
/**
* Grants permission to list all recommender filters in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListRecommenderFilters.html
*/
toListRecommenderFilters() {
return this.to('ListRecommenderFilters');
}
/**
* Grants permission to list all the Recommenders Recipes in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListRecommenderRecipes.html
*/
toListRecommenderRecipes() {
return this.to('ListRecommenderRecipes');
}
/**
* Grants permission to list all recommender schemas in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListRecommenderSchemas.html
*/
toListRecommenderSchemas() {
return this.to('ListRecommenderSchemas');
}
/**
* Grants permission to list all the Recommenders in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListRecommenders.html
*/
toListRecommenders() {
return this.to('ListRecommenders');
}
/**
* Grants permission to list all the rule-based matching result in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListRuleBasedMatches.html
*/
toListRuleBasedMatches() {
return this.to('ListRuleBasedMatches');
}
/**
* Grants permission to list all the segment definitions in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListSegmentDefinitions.html
*/
toListSegmentDefinitions() {
return this.to('ListSegmentDefinitions');
}
/**
* Grants permission to list tags for a resource
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to list all upload jobs in the domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListUploadJobs.html
*/
toListUploadJobs() {
return this.to('ListUploadJobs');
}
/**
* Grants permission to list all the workflows in a specific domain
*
* Access Level: List
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_ListWorkflows.html
*/
toListWorkflows() {
return this.to('ListWorkflows');
}
/**
* Grants permission to merge profiles in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_MergeProfiles.html
*/
toMergeProfiles() {
return this.to('MergeProfiles');
}
/**
* Grants permission to put a specific domain object type in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutDomainObjectType.html
*/
toPutDomainObjectType() {
return this.to('PutDomainObjectType');
}
/**
* Grants permission to put a integration in a domain
*
* Access Level: Write
*
* Dependent actions:
* - app-integrations:CreateDataIntegrationAssociation
* - app-integrations:DeleteDataIntegrationAssociation
* - app-integrations:GetDataIntegration
* - app-integrations:ListDataIntegrationAssociations
* - kms:CreateGrant
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutIntegration.html
*/
toPutIntegration() {
return this.to('PutIntegration');
}
/**
* Grants permission to put an object for a profile
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutProfileObject.html
*/
toPutProfileObject() {
return this.to('PutProfileObject');
}
/**
* Grants permission to put a specific profile object type in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_PutProfileObjectType.html
*/
toPutProfileObjectType() {
return this.to('PutProfileObjectType');
}
/**
* Grants permission to search for profiles in a domain
*
* Access Level: Read
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_SearchProfiles.html
*/
toSearchProfiles() {
return this.to('SearchProfiles');
}
/**
* Grants permission to start a recommender in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_StartRecommender.html
*/
toStartRecommender() {
return this.to('StartRecommender');
}
/**
* Grants permission to start an upload job in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_StartUploadJob.html
*/
toStartUploadJob() {
return this.to('StartUploadJob');
}
/**
* Grants permission to stop a recommender in a domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_StopRecommender.html
*/
toStopRecommender() {
return this.to('StopRecommender');
}
/**
* Grants permission to stop an upload job in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_StopUploadJob.html
*/
toStopUploadJob() {
return this.to('StopUploadJob');
}
/**
* Grants permission to adds tags to a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to remove tags from a resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update a calculated attribute definition in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateCalculatedAttributeDefinition.html
*/
toUpdateCalculatedAttributeDefinition() {
return this.to('UpdateCalculatedAttributeDefinition');
}
/**
* Grants permission to update a Domain
*
* Access Level: Write
*
* Dependent actions:
* - iam:CreateServiceLinkedRole
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomain.html
*/
toUpdateDomain() {
return this.to('UpdateDomain');
}
/**
* Grants permission to update a layout in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateDomainLayout.html
*/
toUpdateDomainLayout() {
return this.to('UpdateDomainLayout');
}
/**
* Grants permission to update an event trigger in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateEventTrigger.html
*/
toUpdateEventTrigger() {
return this.to('UpdateEventTrigger');
}
/**
* Grants permission to update a profile in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateProfile.html
*/
toUpdateProfile() {
return this.to('UpdateProfile');
}
/**
* Grants permission to update a Recommender in the domain
*
* Access Level: Write
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/API_UpdateRecommender.html
*/
toUpdateRecommender() {
return this.to('UpdateRecommender');
}
/**
* Adds a resource of type domains to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onDomains(domainName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}`);
}
/**
* Adds a resource of type object-types to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param objectTypeName - Identifier for the objectTypeName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onObjectTypes(domainName, objectTypeName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/object-types/${objectTypeName}`);
}
/**
* Adds a resource of type integrations to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param uri - Identifier for the uri.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onIntegrations(domainName, uri, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/integrations/${uri}`);
}
/**
* Adds a resource of type event-streams to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param eventStreamName - Identifier for the eventStreamName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onEventStreams(domainName, eventStreamName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/event-streams/${eventStreamName}`);
}
/**
* Adds a resource of type calculated-attributes to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param calculatedAttributeName - Identifier for the calculatedAttributeName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onCalculatedAttributes(domainName, calculatedAttributeName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/calculated-attributes/${calculatedAttributeName}`);
}
/**
* Adds a resource of type segment-definitions to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param segmentDefinitionName - Identifier for the segmentDefinitionName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onSegmentDefinitions(domainName, segmentDefinitionName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/segment-definitions/${segmentDefinitionName}`);
}
/**
* Adds a resource of type event-triggers to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param eventTriggerName - Identifier for the eventTriggerName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onEventTriggers(domainName, eventTriggerName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/event-triggers/${eventTriggerName}`);
}
/**
* Adds a resource of type layouts to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param layoutDefinitionName - Identifier for the layoutDefinitionName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onLayouts(domainName, layoutDefinitionName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/layouts/${layoutDefinitionName}`);
}
/**
* Adds a resource of type recommenders to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param recommenderTypeName - Identifier for the recommenderTypeName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onRecommenders(domainName, recommenderTypeName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/recommenders/${recommenderTypeName}`);
}
/**
* Adds a resource of type domain-object-types to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param objectTypeName - Identifier for the objectTypeName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onDomainObjectTypes(domainName, objectTypeName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/domain-object-types/${objectTypeName}`);
}
/**
* Adds a resource of type recommender-filters to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param recommenderFilterName - Identifier for the recommenderFilterName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onRecommenderFilters(domainName, recommenderFilterName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/recommender-filters/${recommenderFilterName}`);
}
/**
* Adds a resource of type recommender-schemas to the statement
*
* https://docs.aws.amazon.com/customerprofiles/latest/APIReference/
*
* @param domainName - Identifier for the domainName.
* @param recommenderSchemaName - Identifier for the recommenderSchemaName.
* @param account - Account of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's account.
* @param region - Region of the resource; defaults to `*`, unless using the CDK, where the default is the current Stack's region.
* @param partition - Partition of the AWS account [aws, aws-cn, aws-us-gov]; defaults to `aws`, unless using the CDK, where the default is the current Stack's partition.
*
* Possible conditions:
* - .ifAwsResourceTag()
*/
onRecommenderSchemas(domainName, recommenderSchemaName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:profile:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:domains/${domainName}/recommender-schemas/${recommenderSchemaName}`);
}
/**
* Filters access by a key that is present in the request the user makes to the customer profile service
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-permissions.html#iam-contextkeys
*
* Applies to actions:
* - .toCreateCalculatedAttributeDefinition()
* - .toCreateDomain()
* - .toCreateDomainLayout()
* - .toCreateEventStream()
* - .toCreateEventTrigger()
* - .toCreateIntegrationWorkflow()
* - .toCreateRecommender()
* - .toCreateRecommenderFilter()
* - .toCreateRecommenderSchema()
* - .toCreateSegmentDefinition()
* - .toPutDomainObjectType()
* - .toPutIntegration()
* - .toPutProfileObjectType()
* - .toTagResource()
*
* @param tagKey The tag key to check
* @param value The value(s) to check
* @param operator Works with [string operators](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html#Conditions_String). **Default:** `StringLike`
*/
ifAwsRequestTag(tagKey, value, operator) {
return this.if(`aws:RequestTag/${tagKey}`, value, operator ?? 'StringLike');
}
/**
* Filters access by a tag key and value pair
*
* https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-permissions.html#iam-contextkeys
*
* Applies to resource types:
* - domains
* - object-types
* - integrations
* - event-streams
* - calculated-attributes
* - segment-definitions
* - event-triggers
* - layouts
* - recommenders
* - domain-object-types
* - r