UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,027 lines 98.1 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 integration in a domain * * Access Level: Write * * 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 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 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'); } /** * 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}`); } /** * 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() * - .toCreateEventStream() * - .toCreateEventTrigger() * - .toCreateIntegrationWorkflow() * - .toCreateSegmentDefinition() * - .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 * * @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` */ ifAwsResourceTag(tagKey, value, operator) { return this.if(`aws:ResourceTag/${tagKey}`, value, operator ?? 'StringLike'); } /** * Filters access by the list of all the tag key names 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() * - .toCreateEventStream() * - .toCreateEventTrigger() * - .toCreateIntegrationWorkflow() * - .toCreateSegmentDefinition() * - .toPutIntegration() * - .toPutProfileObjectType() * - .toTagResource() * - .toUntagResource() * * @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` */ ifAwsTagKeys(value, operator) { return this.if(`aws:TagKeys`, value, operator ?? 'StringLike'); } /** * Statement provider for service [profile](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonconnectcustomerprofiles.html). * */ constructor(props) { super(props); this.servicePrefix = 'profile'; this.accessLevelList = { Write: [ 'AddProfileKey', 'CreateCalculatedAttributeDefinition', 'CreateDomain', 'CreateEventStream', 'CreateEventTrigger', 'CreateIntegrationWorkflow', 'CreateProfile', 'CreateSegmentDefinition', 'CreateSegmentEstimate', 'CreateSegmentSnapshot', 'CreateSnapshot', 'DeleteCalculatedAttributeDefinition', 'DeleteDomain', 'DeleteEventStream', 'DeleteEventTrigger', 'DeleteIntegration', 'DeleteProfile', 'DeleteProfileKey', 'DeleteProfileObject', 'DeleteProfileObjectType', 'DeleteSegmentDefinition', 'DeleteWorkflow', 'MergeProfiles', 'PutIntegration', 'PutProfileObject', 'PutProfileObjectType', 'UpdateCalculatedAttributeDefinition', 'UpdateDomain', 'UpdateEventTrigger', 'UpdateProfile' ], Read: [ 'BatchGetCalculatedAttributeForProfile', 'BatchGetProfile', 'DetectProfileObjectType', 'GetAutoMergingPreview', 'GetCalculatedAttributeDefinition', 'GetCalculatedAttributeForProfile', 'GetDomain', 'GetEventStream', 'GetEventTrigger', 'GetIdentityResolutionJob', 'GetIntegration', 'GetProfileObjectType', 'GetProfileObjectTypeTemplate', 'GetSegmentDefinition', 'GetSegmentEstimate', 'GetSegmentMembership', 'GetSegmentSnapshot', 'GetSnapshot', 'GetWorkflow', 'GetWorkflowSteps', 'ListTagsForResource', 'SearchProfiles' ], List: [ 'GetMatches', 'GetSimilarProfiles', 'ListAccountIntegrations', 'ListCalculatedAttributeDefinitions', 'ListCalculatedAttributesForProfile', 'ListDomains', 'ListEventStreams', 'ListEventTriggers', 'ListIdentityResolutionJobs', 'ListIntegrations', 'ListObjectTypeAttributes', 'ListProfileAttributeValues', 'ListProfileObjectTypeTemplates', 'ListProfileObjectTypes', 'ListProfileObjects', 'ListRuleBasedMatches', 'ListSegmentDefinitions', 'ListWorkflows' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Profile = Profile; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGN1c3RvbWVycHJvZmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjb25uZWN0Y3VzdG9tZXJwcm9maWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsT0FBUSxTQUFRLHdCQUFlO0lBRzFDOzs7Ozs7T0FNRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx1Q0FBdUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUNBQXFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxjQUFjO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwyQkFBMkI7UUFDaEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHVCQUF1QjtRQUM1QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQ0FBcUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHlCQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQ0FBa0M7UUFDdkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtDQUFrQztRQUN2QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksWUFBWTtRQUNqQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFzQjtRQUMzQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksOEJBQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9DQUFvQztRQUN6QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0NBQW9DO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRCQUE0QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRCQUE0QjtRQUNqQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZ0NBQWdDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFDQUFxQztRQUMxQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUNBQXFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksY0FBYztRQUNuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQXFGRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSSxTQUFTLENBQUMsVUFBa0IsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxTQUFrQjtRQUN4RixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQixZQUFhLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYyxJQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBZSxZQUFhLFVBQVcsRUFBRSxDQUFDLENBQUM7SUFDdEssQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxhQUFhLENBQUMsVUFBa0IsRUFBRSxjQUFzQixFQUFFLE9BQWdCLEVBQUUsTUFBZSxFQUFFLFNBQWtCO1FBQ3BILE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWlCLFlBQWEsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFjLElBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFlLFlBQWEsVUFBVyxpQkFBa0IsY0FBZSxFQUFFLENBQUMsQ0FBQztJQUN2TSxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLGNBQWMsQ0FBQyxVQUFrQixFQUFFLEdBQVcsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxTQUFrQjtRQUMxRyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQixZQUFhLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYyxJQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBZSxZQUFhLFVBQVcsaUJBQWtCLEdBQUksRUFBRSxDQUFDLENBQUM7SUFDNUwsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxjQUFjLENBQUMsVUFBa0IsRUFBRSxlQUF1QixFQUFFLE9BQWdCLEVBQUUsTUFBZSxFQUFFLFNBQWtCO1FBQ3RILE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWlCLFlBQWEsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFjLElBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFlLFlBQWEsVUFBVyxrQkFBbUIsZUFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDek0sQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxzQkFBc0IsQ0FBQyxVQUFrQixFQUFFLHVCQUErQixFQUFFLE9BQWdCLEVBQUUsTUFBZSxFQUFFLFNBQWtCO1FBQ3RJLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWlCLFlBQWEsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFjLElBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFlLFlBQWEsVUFBVywwQkFBMkIsdUJBQXdCLEVBQUUsQ0FBQyxDQUFDO0lBQ3pOLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0ksb0JBQW9CLENBQUMsVUFBa0IsRUFBRSxxQkFBNkIsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxTQUFrQjtRQUNsSSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBUSxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFpQixZQUFhLE1BQU0sSUFBSSxJQUFJLENBQUMsYUFBYyxJQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsY0FBZSxZQUFhLFVBQVcsd0JBQXlCLHFCQUFzQixFQUFFLENBQUMsQ0FBQztJQUNyTixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNJLGVBQWUsQ0FBQyxVQUFrQixFQUFFLGdCQUF3QixFQUFFLE9BQWdCLEVBQUUsTUFBZSxFQUFFLFNBQWtCO1FBQ3hILE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFRLFNBQVMsSUFBSSxJQUFJLENBQUMsZ0JBQWlCLFlBQWEsTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFjLElBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFlLFlBQWEsVUFBVyxtQkFBb0IsZ0JBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQzNNLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1CRztJQUNJLGVBQWUsQ0FBQyxNQUFjLEVBQUUsS0FBd0IsRUFBRSxRQUE0QjtRQUMzRixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQW1CLE1BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztPQWlCRztJQUNJLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxLQUF3QixFQUFFLFFBQTRCO1FBQzVGLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxtQkFBb0IsTUFBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSxZQUFZLENBQUMsS0FBd0IsRUFBRSxRQUE0QjtRQUN4RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksWUFBWSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVksS0FBZ0M7UUFDMUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBeGtDUixrQkFBYSxHQUFHLFNBQVMsQ0FBQztRQTZ5QnZCLG9CQUFlLEdBQW9CO1lBQzNDLEtBQUssRUFBRTtnQkFDTCxlQUFlO2dCQUNmLHFDQUFxQztnQkFDckMsY0FBYztnQkFDZCxtQkFBbUI7Z0JBQ25CLG9CQUFvQjtnQkFDcEIsMkJBQTJCO2dCQUMzQixlQUFlO2dCQUNmLHlCQUF5QjtnQkFDekIsdUJBQXVCO2dCQUN2Qix1QkFBdUI7Z0JBQ3ZCLGdCQUFnQjtnQkFDaEIscUNBQXFDO2dCQUNyQyxjQUFjO2dCQUNkLG1CQUFtQjtnQkFDbkIsb0JBQW9CO2dCQUNwQixtQkFBbUI7Z0JBQ25CLGVBQWU7Z0JBQ2Ysa0JBQWtCO2dCQUNsQixxQkFBcUI7Z0JBQ3JCLHlCQUF5QjtnQkFDekIseUJBQXlCO2dCQUN6QixnQkFBZ0I7Z0JBQ2hCLGVBQWU7Z0JBQ2YsZ0JBQWdCO2dCQUNoQixrQkFBa0I7Z0JBQ2xCLHNCQUFzQjtnQkFDdEIscUNBQXFDO2dCQUNyQyxjQUFjO2dCQUNkLG9CQUFvQjtnQkFDcEIsZUFBZTthQUNoQjtZQUNELElBQUksRUFBRTtnQkFDSix1Q0FBdUM7Z0JBQ3ZDLGlCQUFpQjtnQkFDakIseUJBQXlCO2dCQUN6Qix1QkFBdUI7Z0JBQ3ZCLGtDQUFrQztnQkFDbEMsa0NBQWtDO2dCQUNsQyxXQUFXO2dCQUNYLGdCQUFnQjtnQkFDaEIsaUJBQWlCO2dCQUNqQiwwQkFBMEI7Z0JBQzFCLGdCQUFnQjtnQkFDaEIsc0JBQXNCO2dCQUN0Qiw4QkFBOEI7Z0JBQzlCLHNCQUFzQjtnQkFDdEIsb0JBQW9CO2dCQUNwQixzQkFBc0I7Z0JBQ3RCLG9CQUFvQjtnQkFDcEIsYUFBYTtnQkFDYixhQUFhO2dCQUNiLGtCQUFrQjtnQkFDbEIscUJBQXFCO2dCQUNyQixnQkFBZ0I7YUFDakI7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osWUFBWTtnQkFDWixvQkFBb0I7Z0JBQ3BCLHlCQUF5QjtnQkFDekIsb0NBQW9DO2dCQUNwQyxvQ0FBb0M7Z0JBQ3BDLGFBQWE7Z0JBQ2Isa0JBQWtCO2dCQUNsQixtQkFBbUI7Z0JBQ25CLDRCQUE0QjtnQkFDNUIsa0JBQWtCO2dCQUNsQiwwQkFBMEI7Z0JBQzFCLDRCQUE0QjtnQkFDNUIsZ0NBQWdDO2dCQUNoQyx3QkFBd0I7Z0JBQ3hCLG9CQUFvQjtnQkFDcEIsc0JBQXNCO2dCQUN0Qix3QkFBd0I7Z0JBQ3hCLGVBQWU7YUFDaEI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQTJNRixDQUFDO0NBQ0Y7QUEza0NELDBCQTJrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tI