UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,020 lines 96.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Kendra = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [kendra](https://docs.aws.amazon.com/service-authorization/latest/reference/list_kendra.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Kendra extends shared_1.PolicyStatement { /** * Grants permission to put principal mapping in index * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html */ toAssociateEntitiesToExperience() { return this.to('AssociateEntitiesToExperience'); } /** * Defines the specific permissions of users or groups in your AWS SSO identity source with access to your Amazon Kendra experience * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_AssociatePersonasToEntities.html */ toAssociatePersonasToEntities() { return this.to('AssociatePersonasToEntities'); } /** * Grants permission to batch delete document * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_BatchDeleteDocument.html */ toBatchDeleteDocument() { return this.to('BatchDeleteDocument'); } /** * Grants permission to delete a featured results set * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteFeaturedResults.html */ toBatchDeleteFeaturedResultsSet() { return this.to('BatchDeleteFeaturedResultsSet'); } /** * Grants permission to do batch get document status * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_BatchGetDocumentStatus.html */ toBatchGetDocumentStatus() { return this.to('BatchGetDocumentStatus'); } /** * Grants permission to batch put document * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html */ toBatchPutDocument() { return this.to('BatchPutDocument'); } /** * Grants permission to clear out the suggestions for a given index, generated so far * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_ClearQuerySuggestions.html */ toClearQuerySuggestions() { return this.to('ClearQuerySuggestions'); } /** * Grants permission to create an access control configuration * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateAccessControlConfiguration.html */ toCreateAccessControlConfiguration() { return this.to('CreateAccessControlConfiguration'); } /** * Grants permission to create a data source * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateDataSource.html */ toCreateDataSource() { return this.to('CreateDataSource'); } /** * Creates an Amazon Kendra experience such as a search application * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateExperience.html */ toCreateExperience() { return this.to('CreateExperience'); } /** * Grants permission to create an Faq * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateFaq.html */ toCreateFaq() { return this.to('CreateFaq'); } /** * Grants permission to create a featured results set * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateFeaturedResults.html */ toCreateFeaturedResultsSet() { return this.to('CreateFeaturedResultsSet'); } /** * Grants permission to create an Index * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateIndex.html */ toCreateIndex() { return this.to('CreateIndex'); } /** * Grants permission to create a QuerySuggestions BlockList * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateQuerySuggestionsBlockList.html */ toCreateQuerySuggestionsBlockList() { return this.to('CreateQuerySuggestionsBlockList'); } /** * Grants permission to create a Thesaurus * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateThesaurus.html */ toCreateThesaurus() { return this.to('CreateThesaurus'); } /** * Grants permission to delete an access control configuration * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteAccessControlConfiguration.html */ toDeleteAccessControlConfiguration() { return this.to('DeleteAccessControlConfiguration'); } /** * Grants permission to delete a data source * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteDataSource.html */ toDeleteDataSource() { return this.to('DeleteDataSource'); } /** * Deletes your Amazon Kendra experience such as a search application * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteExperience.html */ toDeleteExperience() { return this.to('DeleteExperience'); } /** * Grants permission to delete an Faq * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteFaq.html */ toDeleteFaq() { return this.to('DeleteFaq'); } /** * Grants permission to delete an Index * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteIndex.html */ toDeleteIndex() { return this.to('DeleteIndex'); } /** * Grants permission to delete principal mapping from index * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeletePrincipalMapping.html */ toDeletePrincipalMapping() { return this.to('DeletePrincipalMapping'); } /** * Grants permission to delete a QuerySuggestions BlockList * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteQuerySuggestionsBlockList.html */ toDeleteQuerySuggestionsBlockList() { return this.to('DeleteQuerySuggestionsBlockList'); } /** * Grants permission to delete a Thesaurus * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DeleteThesaurus.html */ toDeleteThesaurus() { return this.to('DeleteThesaurus'); } /** * Grants permission to describe an access control configuration * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeAccessControlConfiguration.html */ toDescribeAccessControlConfiguration() { return this.to('DescribeAccessControlConfiguration'); } /** * Grants permission to describe a data source * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeDataSource.html */ toDescribeDataSource() { return this.to('DescribeDataSource'); } /** * Gets information about your Amazon Kendra experience such as a search application * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeExperience.html */ toDescribeExperience() { return this.to('DescribeExperience'); } /** * Grants permission to describe an Faq * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeFaq.html */ toDescribeFaq() { return this.to('DescribeFaq'); } /** * Grants permission to describe a featured results set * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeThesaurus.html */ toDescribeFeaturedResultsSet() { return this.to('DescribeFeaturedResultsSet'); } /** * Grants permission to describe an Index * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeIndex.html */ toDescribeIndex() { return this.to('DescribeIndex'); } /** * Grants permission to describe principal mapping from index * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribePrincipalMapping.html */ toDescribePrincipalMapping() { return this.to('DescribePrincipalMapping'); } /** * Grants permission to describe a QuerySuggestions BlockList * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeQuerySuggestionsBlockList.html */ toDescribeQuerySuggestionsBlockList() { return this.to('DescribeQuerySuggestionsBlockList'); } /** * Grants permission to describe the query suggestions configuration for an index * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeQuerySuggestionsConfig.html */ toDescribeQuerySuggestionsConfig() { return this.to('DescribeQuerySuggestionsConfig'); } /** * Grants permission to describe a Thesaurus * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_DescribeThesaurus.html */ toDescribeThesaurus() { return this.to('DescribeThesaurus'); } /** * Prevents users or groups in your AWS SSO identity source from accessing your Amazon Kendra experience * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DisassociateEntitiesFromExperience.html */ toDisassociateEntitiesFromExperience() { return this.to('DisassociateEntitiesFromExperience'); } /** * Removes the specific permissions of users or groups in your AWS SSO identity source with access to your Amazon Kendra experience * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_DisassociatePersonasFromEntities.html */ toDisassociatePersonasFromEntities() { return this.to('DisassociatePersonasFromEntities'); } /** * Grants permission to get suggestions for a query prefix * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_GetQuerySuggestions.html */ toGetQuerySuggestions() { return this.to('GetQuerySuggestions'); } /** * Retrieves search metrics data * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_GetSnapshots.html */ toGetSnapshots() { return this.to('GetSnapshots'); } /** * Grants permission to list the access control configurations * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListAccessControlConfigurations.html */ toListAccessControlConfigurations() { return this.to('ListAccessControlConfigurations'); } /** * Grants permission to get Data Source sync job history * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListDataSourceSyncJobs.html */ toListDataSourceSyncJobs() { return this.to('ListDataSourceSyncJobs'); } /** * Grants permission to list the data sources * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListDataSources.html */ toListDataSources() { return this.to('ListDataSources'); } /** * Lists specific permissions of users and groups with access to your Amazon Kendra experience * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListEntityPersonas.html */ toListEntityPersonas() { return this.to('ListEntityPersonas'); } /** * Lists users or groups in your AWS SSO identity source that are granted access to your Amazon Kendra experience * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListExperienceEntities.html */ toListExperienceEntities() { return this.to('ListExperienceEntities'); } /** * Lists one or more Amazon Kendra experiences. You can create an Amazon Kendra experience such as a search application * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListExperiences.html */ toListExperiences() { return this.to('ListExperiences'); } /** * Grants permission to list the Faqs * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListFaqs.html */ toListFaqs() { return this.to('ListFaqs'); } /** * Grants permission to list the featured results sets * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListFeaturedResults.html */ toListFeaturedResultsSets() { return this.to('ListFeaturedResultsSets'); } /** * Grants permission to list groups that are older than an ordering id * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListGroupsOlderThanOrderingId.html */ toListGroupsOlderThanOrderingId() { return this.to('ListGroupsOlderThanOrderingId'); } /** * Grants permission to list the indexes * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListIndices.html */ toListIndices() { return this.to('ListIndices'); } /** * Grants permission to list the QuerySuggestions BlockLists * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListQuerySuggestionsBlockLists.html */ toListQuerySuggestionsBlockLists() { return this.to('ListQuerySuggestionsBlockLists'); } /** * Grants permission to list tags for a resource * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to list the Thesauri * * Access Level: List * * https://docs.aws.amazon.com/kendra/latest/dg/API_ListThesauri.html */ toListThesauri() { return this.to('ListThesauri'); } /** * Grants permission to put principal mapping in index * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html */ toPutPrincipalMapping() { return this.to('PutPrincipalMapping'); } /** * Grants permission to query documents and faqs * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_Query.html */ toQuery() { return this.to('Query'); } /** * Grants permission to retrieve relevant content from an index * * Access Level: Read * * https://docs.aws.amazon.com/kendra/latest/dg/API_Retrieve.html */ toRetrieve() { return this.to('Retrieve'); } /** * Grants permission to start Data Source sync job * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_StartDataSourceSyncJob.html */ toStartDataSourceSyncJob() { return this.to('StartDataSourceSyncJob'); } /** * Grants permission to stop Data Source sync job * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_StopDataSourceSyncJob.html */ toStopDataSourceSyncJob() { return this.to('StopDataSourceSyncJob'); } /** * Grants permission to send feedback about a query results * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_SubmitFeedback.html */ toSubmitFeedback() { return this.to('SubmitFeedback'); } /** * Grants permission to tag a resource with given key value pairs * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to remove the tag with the given key from a resource * * Access Level: Tagging, Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update an access control configuration * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateAccessControlConfiguration.html */ toUpdateAccessControlConfiguration() { return this.to('UpdateAccessControlConfiguration'); } /** * Grants permission to update a data source * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateDataSource.html */ toUpdateDataSource() { return this.to('UpdateDataSource'); } /** * Updates your Amazon Kendra experience such as a search application * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateExperience.html */ toUpdateExperience() { return this.to('UpdateExperience'); } /** * Grants permission to update a featured results set * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateFeaturedResults.html */ toUpdateFeaturedResultsSet() { return this.to('UpdateFeaturedResultsSet'); } /** * Grants permission to update an Index * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateIndex.html */ toUpdateIndex() { return this.to('UpdateIndex'); } /** * Grants permission to update a QuerySuggestions BlockList * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsBlockList.html */ toUpdateQuerySuggestionsBlockList() { return this.to('UpdateQuerySuggestionsBlockList'); } /** * Grants permission to update the query suggestions configuration for an index * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsConfig.html */ toUpdateQuerySuggestionsConfig() { return this.to('UpdateQuerySuggestionsConfig'); } /** * Grants permission to update a thesaurus * * Access Level: Write * * https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateThesaurus.html */ toUpdateThesaurus() { return this.to('UpdateThesaurus'); } /** * Adds a resource of type access-control-configuration to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/API_CreateAccessControlConfiguration.html * * @param indexId - Identifier for the indexId. * @param accessControlConfigurationId - Identifier for the accessControlConfigurationId. * @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. */ onAccessControlConfiguration(indexId, accessControlConfigurationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/access-control-configuration/${accessControlConfigurationId}`); } /** * Adds a resource of type data-source to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/data-source.html * * @param indexId - Identifier for the indexId. * @param dataSourceId - Identifier for the dataSourceId. * @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() */ onDataSource(indexId, dataSourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/data-source/${dataSourceId}`); } /** * Adds a resource of type experience to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/deploying-search-experience-no-code.html * * @param indexId - Identifier for the indexId. * @param experienceId - Identifier for the experienceId. * @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. */ onExperience(indexId, experienceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/experience/${experienceId}`); } /** * Adds a resource of type faq to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/faq.html * * @param indexId - Identifier for the indexId. * @param faqId - Identifier for the faqId. * @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() */ onFaq(indexId, faqId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/faq/${faqId}`); } /** * Adds a resource of type featured-results-set to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/featured-results.html * * @param indexId - Identifier for the indexId. * @param featuredResultsSetId - Identifier for the featuredResultsSetId. * @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() */ onFeaturedResultsSet(indexId, featuredResultsSetId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/featured-results-set/${featuredResultsSetId}`); } /** * Adds a resource of type index to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/index.html * * @param indexId - Identifier for the indexId. * @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() */ onIndex(indexId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}`); } /** * Adds a resource of type query-suggestions-block-list to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/query-suggestions-block-list.html * * @param indexId - Identifier for the indexId. * @param querySuggestionsBlockListId - Identifier for the querySuggestionsBlockListId. * @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() */ onQuerySuggestionsBlockList(indexId, querySuggestionsBlockListId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/query-suggestions-block-list/${querySuggestionsBlockListId}`); } /** * Adds a resource of type thesaurus to the statement * * https://docs.aws.amazon.com/kendra/latest/dg/thesaurus.html * * @param indexId - Identifier for the indexId. * @param thesaurusId - Identifier for the thesaurusId. * @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() */ onThesaurus(indexId, thesaurusId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:kendra:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:index/${indexId}/thesaurus/${thesaurusId}`); } /** * Filters access by the tags that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateDataSource() * - .toCreateFaq() * - .toCreateFeaturedResultsSet() * - .toCreateIndex() * - .toCreateQuerySuggestionsBlockList() * - .toCreateThesaurus() * - .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 the tags associated with the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toAssociateEntitiesToExperience() * - .toAssociatePersonasToEntities() * - .toBatchDeleteDocument() * - .toBatchDeleteFeaturedResultsSet() * - .toBatchGetDocumentStatus() * - .toBatchPutDocument() * - .toClearQuerySuggestions() * - .toCreateAccessControlConfiguration() * - .toCreateDataSource() * - .toCreateExperience() * - .toCreateFaq() * - .toCreateFeaturedResultsSet() * - .toCreateQuerySuggestionsBlockList() * - .toCreateThesaurus() * - .toDeleteAccessControlConfiguration() * - .toDeleteDataSource() * - .toDeleteExperience() * - .toDeleteFaq() * - .toDeleteIndex() * - .toDeletePrincipalMapping() * - .toDeleteQuerySuggestionsBlockList() * - .toDeleteThesaurus() * - .toDescribeAccessControlConfiguration() * - .toDescribeDataSource() * - .toDescribeExperience() * - .toDescribeFaq() * - .toDescribeFeaturedResultsSet() * - .toDescribeIndex() * - .toDescribePrincipalMapping() * - .toDescribeQuerySuggestionsBlockList() * - .toDescribeQuerySuggestionsConfig() * - .toDescribeThesaurus() * - .toDisassociateEntitiesFromExperience() * - .toDisassociatePersonasFromEntities() * - .toGetQuerySuggestions() * - .toGetSnapshots() * - .toListAccessControlConfigurations() * - .toListDataSourceSyncJobs() * - .toListDataSources() * - .toListEntityPersonas() * - .toListExperienceEntities() * - .toListExperiences() * - .toListFaqs() * - .toListFeaturedResultsSets() * - .toListGroupsOlderThanOrderingId() * - .toListQuerySuggestionsBlockLists() * - .toListTagsForResource() * - .toListThesauri() * - .toPutPrincipalMapping() * - .toQuery() * - .toRetrieve() * - .toStartDataSourceSyncJob() * - .toStopDataSourceSyncJob() * - .toSubmitFeedback() * - .toTagResource() * - .toUntagResource() * - .toUpdateAccessControlConfiguration() * - .toUpdateDataSource() * - .toUpdateExperience() * - .toUpdateFeaturedResultsSet() * - .toUpdateIndex() * - .toUpdateQuerySuggestionsBlockList() * - .toUpdateQuerySuggestionsConfig() * - .toUpdateThesaurus() * * Applies to resource types: * - data-source * - faq * - featured-results-set * - index * - query-suggestions-block-list * - thesaurus * * @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 tag keys that are passed in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateDataSource() * - .toCreateFaq() * - .toCreateFeaturedResultsSet() * - .toCreateIndex() * - .toCreateQuerySuggestionsBlockList() * - .toCreateThesaurus() * - .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 [kendra](https://docs.aws.amazon.com/service-authorization/latest/reference/list_kendra.html). * */ constructor(props) { super(props); this.servicePrefix = 'kendra'; this.accessLevelList = { Write: [ 'AssociateEntitiesToExperience', 'AssociatePersonasToEntities', 'BatchDeleteDocument', 'BatchDeleteFeaturedResultsSet', 'BatchPutDocument', 'ClearQuerySuggestions', 'CreateAccessControlConfiguration', 'CreateDataSource', 'CreateExperience', 'CreateFaq', 'CreateFeaturedResultsSet', 'CreateIndex', 'CreateQuerySuggestionsBlockList', 'CreateThesaurus', 'DeleteAccessControlConfiguration', 'DeleteDataSource', 'DeleteExperience', 'DeleteFaq', 'DeleteIndex', 'DeletePrincipalMapping', 'DeleteQuerySuggestionsBlockList', 'DeleteThesaurus', 'DisassociateEntitiesFromExperience', 'DisassociatePersonasFromEntities', 'PutPrincipalMapping', 'StartDataSourceSyncJob', 'StopDataSourceSyncJob', 'SubmitFeedback', 'TagResource', 'UntagResource', 'UpdateAccessControlConfiguration', 'UpdateDataSource', 'UpdateExperience', 'UpdateFeaturedResultsSet', 'UpdateIndex', 'UpdateQuerySuggestionsBlockList', 'UpdateQuerySuggestionsConfig', 'UpdateThesaurus' ], Read: [ 'BatchGetDocumentStatus', 'DescribeAccessControlConfiguration', 'DescribeDataSource', 'DescribeExperience', 'DescribeFaq', 'DescribeFeaturedResultsSet', 'DescribeIndex', 'DescribePrincipalMapping', 'DescribeQuerySuggestionsBlockList', 'DescribeQuerySuggestionsConfig', 'DescribeThesaurus', 'GetQuerySuggestions', 'GetSnapshots', 'ListTagsForResource', 'Query', 'Retrieve' ], List: [ 'ListAccessControlConfigurations', 'ListDataSourceSyncJobs', 'ListDataSources', 'ListEntityPersonas', 'ListExperienceEntities', 'ListExperiences', 'ListFaqs', 'ListFeaturedResultsSets', 'ListGroupsOlderThanOrderingId', 'ListIndices', 'ListQuerySuggestionsBlockLists', 'ListThesauri' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Kendra = Kendra; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VuZHJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsia2VuZHJhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF5RDtBQUd6RDs7OztHQUlHO0FBQ0gsTUFBYSxNQUFPLFNBQVEsd0JBQWU7SUFHekM7Ozs7OztPQU1HO0lBQ0ksK0JBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw2QkFBNkI7UUFDbEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDZCQUE2QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksK0JBQStCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxrQ0FBa0M7UUFDdkMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JB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QkFDSix3QkFBd0I7Z0JBQ3hCLG9DQUFvQztnQkFDcEMsb0JBQW9CO2dCQUNwQixvQkFBb0I7Z0JBQ3BCLGFBQWE7Z0JBQ2IsNEJBQTRCO2dCQUM1QixlQUFlO2dCQUNmLDBCQUEwQjtnQkFDMUIsbUNBQW1DO2dCQUNuQyxnQ0FBZ0M7Z0JBQ2hDLG1CQUFtQjtnQkFDbkIscUJBQXFCO2dCQUNyQixjQUFjO2dCQUNkLHFCQUFxQjtnQkFDckIsT0FBTztnQkFDUCxVQUFVO2FBQ1g7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osaUNBQWlDO2dCQUNqQyx3QkFBd0I7Z0JBQ3hCLGlCQUFpQjtnQkFDakIsb0JBQW9CO2dCQUNwQix3QkFBd0I7Z0JBQ3hCLGlCQUFpQjtnQkFDakIsVUFBVTtnQkFDVix5QkFBeUI7Z0JBQ3pCLCtCQUErQjtnQkFDL0IsYUFBYTtnQkFDYixnQ0FBZ0M7Z0JBQ2hDLGNBQWM7YUFDZjtZQUNELE9BQU8sRUFBRTtnQkFDUCxhQUFhO2dCQUNiLGVBQWU7YUFDaEI7U0FDRixDQUFDO0lBb1JGLENBQUM7Q0FDRjtBQS9qQ0Qsd0JBK2pDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBba2VuZHJhXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc2VydmljZS1hdXRob3JpemF0aW9uL2xhdGVzdC9yZWZlcmVuY2UvbGlzdF9rZW5kcmEuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBLZW5kcmEgZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdrZW5kcmEnO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBwdXQgcHJpbmNpcGFsIG1hcHBpbmcgaW4gaW5kZXhcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20va2VuZHJhL2xhdGVzdC9kZy9BUElfUHV0UHJpbmNpcGFsTWFwcGluZy5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9Bc3NvY2lhdGVFbnRpdGllc1RvRXhwZXJpZW5jZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQXNzb2NpYXRlRW50aXRpZXNUb0V4cGVyaWVuY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBzcGVjaWZpYyBwZXJtaXNzaW9ucyBvZiB1c2VycyBvciBncm91cHMgaW4geW91ciBBV1MgU1NPIGlkZW50aXR5IHNvdXJjZSB3aXRoIGFjY2VzcyB0byB5b3VyIEFtYXpvb