UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,392 lines 151 kB
"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