UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,002 lines 99.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Cleanrooms = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [cleanrooms](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscleanrooms.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Cleanrooms extends shared_1.PolicyStatement { /** * Grants permission to view details of analysisTemplates associated to the collaboration * * Access Level: Read * * Dependent actions: * - cleanrooms:GetCollaborationAnalysisTemplate * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_BatchGetCollaborationAnalysisTemplate.html */ toBatchGetCollaborationAnalysisTemplate() { return this.to('BatchGetCollaborationAnalysisTemplate'); } /** * Grants permission to view details for schemas * * Access Level: Read * * Dependent actions: * - cleanrooms:GetSchema * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_BatchGetSchema.html */ toBatchGetSchema() { return this.to('BatchGetSchema'); } /** * Grants permission to view analysis rules associated with schemas * * Access Level: Read * * Dependent actions: * - cleanrooms:GetSchema * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_BatchGetSchemaAnalysisRule.html */ toBatchGetSchemaAnalysisRule() { return this.to('BatchGetSchemaAnalysisRule'); } /** * Grants permission to create a new analysis template * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateAnalysisTemplate.html */ toCreateAnalysisTemplate() { return this.to('CreateAnalysisTemplate'); } /** * Grants permission to create a new collaboration, a shared data collaboration environment * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateCollaboration.html */ toCreateCollaboration() { return this.to('CreateCollaboration'); } /** * Grants permission to link a Cleanrooms ML configured audience model with a collaboration by creating a new association * * Access Level: Write * * Dependent actions: * - cleanrooms-ml:GetConfiguredAudienceModel * - cleanrooms-ml:GetConfiguredAudienceModelPolicy * - cleanrooms-ml:PutConfiguredAudienceModelPolicy * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateConfiguredAudienceModelAssociation.html */ toCreateConfiguredAudienceModelAssociation() { return this.to('CreateConfiguredAudienceModelAssociation'); } /** * Grants permission to create a new configured table * * Access Level: Write * * Dependent actions: * - glue:BatchGetPartition * - glue:GetDatabase * - glue:GetDatabases * - glue:GetPartition * - glue:GetPartitions * - glue:GetSchemaVersion * - glue:GetTable * - glue:GetTables * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateConfiguredTable.html */ toCreateConfiguredTable() { return this.to('CreateConfiguredTable'); } /** * Grants permission to create a analysis rule for a configured table * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateConfiguredTableAnalysisRule.html */ toCreateConfiguredTableAnalysisRule() { return this.to('CreateConfiguredTableAnalysisRule'); } /** * Grants permission to link a configured table with a collaboration by creating a new association * * Access Level: Write * * Dependent actions: * - iam:PassRole * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateConfiguredTableAssociation.html */ toCreateConfiguredTableAssociation() { return this.to('CreateConfiguredTableAssociation'); } /** * Grants permission to join collaborations by creating a membership * * Access Level: Write * * Dependent actions: * - iam:PassRole * - logs:CreateLogDelivery * - logs:CreateLogGroup * - logs:DeleteLogDelivery * - logs:DescribeLogGroups * - logs:DescribeResourcePolicies * - logs:GetLogDelivery * - logs:ListLogDeliveries * - logs:PutResourcePolicy * - logs:UpdateLogDelivery * - s3:GetBucketLocation * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreateMembership.html */ toCreateMembership() { return this.to('CreateMembership'); } /** * Grants permission to create a new privacy budget template * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_CreatePrivacyBudgetTemplate.html */ toCreatePrivacyBudgetTemplate() { return this.to('CreatePrivacyBudgetTemplate'); } /** * Grants permission to delete an existing analysis template * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteAnalysisTemplate.html */ toDeleteAnalysisTemplate() { return this.to('DeleteAnalysisTemplate'); } /** * Grants permission to delete an existing collaboration * * Access Level: Write * * Dependent actions: * - cleanrooms-ml:DeleteConfiguredAudienceModelPolicy * - cleanrooms-ml:GetConfiguredAudienceModelPolicy * - cleanrooms-ml:PutConfiguredAudienceModelPolicy * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteCollaboration.html */ toDeleteCollaboration() { return this.to('DeleteCollaboration'); } /** * Grants permission to delete an existing configured audience model association * * Access Level: Write * * Dependent actions: * - cleanrooms-ml:DeleteConfiguredAudienceModelPolicy * - cleanrooms-ml:GetConfiguredAudienceModelPolicy * - cleanrooms-ml:PutConfiguredAudienceModelPolicy * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteConfiguredAudienceModelAssociation.html */ toDeleteConfiguredAudienceModelAssociation() { return this.to('DeleteConfiguredAudienceModelAssociation'); } /** * Grants permission to delete a configured table * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteConfiguredTable.html */ toDeleteConfiguredTable() { return this.to('DeleteConfiguredTable'); } /** * Grants permission to delete an existing analysis rule * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteConfiguredTableAnalysisRule.html */ toDeleteConfiguredTableAnalysisRule() { return this.to('DeleteConfiguredTableAnalysisRule'); } /** * Grants permission to remove a configured table association from a collaboration * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteConfiguredTableAssociation.html */ toDeleteConfiguredTableAssociation() { return this.to('DeleteConfiguredTableAssociation'); } /** * Grants permission to delete members from a collaboration * * Access Level: Write * * Dependent actions: * - cleanrooms-ml:DeleteConfiguredAudienceModelPolicy * - cleanrooms-ml:GetConfiguredAudienceModelPolicy * - cleanrooms-ml:PutConfiguredAudienceModelPolicy * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteMember.html */ toDeleteMember() { return this.to('DeleteMember'); } /** * Grants permission to leave collaborations by deleting a membership * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeleteMembership.html */ toDeleteMembership() { return this.to('DeleteMembership'); } /** * Grants permission to delete an existing privacy budget template * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_DeletePrivacyBudgetTemplate.html */ toDeletePrivacyBudgetTemplate() { return this.to('DeletePrivacyBudgetTemplate'); } /** * Grants permission to view details for an analysis template * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetAnalysisTemplate.html */ toGetAnalysisTemplate() { return this.to('GetAnalysisTemplate'); } /** * Grants permission to view details for a collaboration * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetCollaboration.html */ toGetCollaboration() { return this.to('GetCollaboration'); } /** * Grants permission to view details for an analysis template within a collaboration * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetCollaborationAnalysisTemplate.html */ toGetCollaborationAnalysisTemplate() { return this.to('GetCollaborationAnalysisTemplate'); } /** * Grants permission to view details for a configured audience model association within a collaboration * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetCollaborationConfiguredAudienceModelAssociation.html */ toGetCollaborationConfiguredAudienceModelAssociation() { return this.to('GetCollaborationConfiguredAudienceModelAssociation'); } /** * Grants permission to view details for a privacy budget template within a collaboration * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetCollaborationPrivacyBudgetTemplate.html */ toGetCollaborationPrivacyBudgetTemplate() { return this.to('GetCollaborationPrivacyBudgetTemplate'); } /** * Grants permission to view details for a configured audience model association * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetConfiguredAudienceModelAssociation.html */ toGetConfiguredAudienceModelAssociation() { return this.to('GetConfiguredAudienceModelAssociation'); } /** * Grants permission to view details for a configured table * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetConfiguredTable.html */ toGetConfiguredTable() { return this.to('GetConfiguredTable'); } /** * Grants permission to view analysis rules for a configured table * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetConfiguredTableAnalysisRule.html */ toGetConfiguredTableAnalysisRule() { return this.to('GetConfiguredTableAnalysisRule'); } /** * Grants permission to view details for a configured table association * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetConfiguredTableAssociation.html */ toGetConfiguredTableAssociation() { return this.to('GetConfiguredTableAssociation'); } /** * Grants permission to view details about a membership * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetMembership.html */ toGetMembership() { return this.to('GetMembership'); } /** * Grants permission to view details for a privacy budget template * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetPrivacyBudgetTemplate.html */ toGetPrivacyBudgetTemplate() { return this.to('GetPrivacyBudgetTemplate'); } /** * Grants permission to view a protected query * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetProtectedQuery.html */ toGetProtectedQuery() { return this.to('GetProtectedQuery'); } /** * Grants permission to view details for a schema * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetSchema.html */ toGetSchema() { return this.to('GetSchema'); } /** * Grants permission to view analysis rules associated with a schema * * Access Level: Read * * Dependent actions: * - cleanrooms:GetSchema * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_GetSchemaAnalysisRule.html */ toGetSchemaAnalysisRule() { return this.to('GetSchemaAnalysisRule'); } /** * Grants permission to list available analysis templates * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListAnalysisTemplates.html */ toListAnalysisTemplates() { return this.to('ListAnalysisTemplates'); } /** * Grants permission to list available analysis templates within a collaboration * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListCollaborationAnalysisTemplates.html */ toListCollaborationAnalysisTemplates() { return this.to('ListCollaborationAnalysisTemplates'); } /** * Grants permission to list available configured audience model association within a collaboration * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListCollaborationConfiguredAudienceModelAssociations.html */ toListCollaborationConfiguredAudienceModelAssociations() { return this.to('ListCollaborationConfiguredAudienceModelAssociations'); } /** * Grants permission to list available privacy budget templates within a collaboration * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListCollaborationPrivacyBudgetTemplates.html */ toListCollaborationPrivacyBudgetTemplates() { return this.to('ListCollaborationPrivacyBudgetTemplates'); } /** * Grants permission to list privacy budgets within a collaboration * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListCollaborationPrivacyBudgets.html */ toListCollaborationPrivacyBudgets() { return this.to('ListCollaborationPrivacyBudgets'); } /** * Grants permission to list available collaborations * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListCollaborations.html */ toListCollaborations() { return this.to('ListCollaborations'); } /** * Grants permission to list available configured audience model associations for a membership * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListConfiguredAudienceModelAssociations.html */ toListConfiguredAudienceModelAssociations() { return this.to('ListConfiguredAudienceModelAssociations'); } /** * Grants permission to list available configured table associations for a membership * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListConfiguredTableAssociations.html */ toListConfiguredTableAssociations() { return this.to('ListConfiguredTableAssociations'); } /** * Grants permission to list available configured tables * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListConfiguredTables.html */ toListConfiguredTables() { return this.to('ListConfiguredTables'); } /** * Grants permission to list the members of a collaboration * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListMembers.html */ toListMembers() { return this.to('ListMembers'); } /** * Grants permission to list available memberships * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListMemberships.html */ toListMemberships() { return this.to('ListMemberships'); } /** * Grants permission to list available privacy budget templates * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListPrivacyBudgetTemplates.html */ toListPrivacyBudgetTemplates() { return this.to('ListPrivacyBudgetTemplates'); } /** * Grants permission to list available privacy budgets * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListPrivacyBudgets.html */ toListPrivacyBudgets() { return this.to('ListPrivacyBudgets'); } /** * Grants permission to list protected queries * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListProtectedQueries.html */ toListProtectedQueries() { return this.to('ListProtectedQueries'); } /** * Grants permission to view available schemas for a collaboration * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListSchemas.html */ toListSchemas() { return this.to('ListSchemas'); } /** * Grants permission to list tags for a resource * * Access Level: List * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to preview privacy budget template settings * * Access Level: Read * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_PreviewPrivacyImpact.html */ toPreviewPrivacyImpact() { return this.to('PreviewPrivacyImpact'); } /** * Grants permission to start protected queries * * Access Level: Write * * Dependent actions: * - cleanrooms:GetCollaborationAnalysisTemplate * - cleanrooms:GetSchema * - s3:GetBucketLocation * - s3:ListBucket * - s3:PutObject * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_StartProtectedQuery.html */ toStartProtectedQuery() { return this.to('StartProtectedQuery'); } /** * Grants permission to tag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to untag a resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update details of the analysis template * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateAnalysisTemplate.html */ toUpdateAnalysisTemplate() { return this.to('UpdateAnalysisTemplate'); } /** * Grants permission to update details of the collaboration * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateCollaboration.html */ toUpdateCollaboration() { return this.to('UpdateCollaboration'); } /** * Grants permission to update a configured audience model association * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateConfiguredAudienceModelAssociation.html */ toUpdateConfiguredAudienceModelAssociation() { return this.to('UpdateConfiguredAudienceModelAssociation'); } /** * Grants permission to update an existing configured table * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateConfiguredTable.html */ toUpdateConfiguredTable() { return this.to('UpdateConfiguredTable'); } /** * Grants permission to update analysis rules for a configured table * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateConfiguredTableAnalysisRule.html */ toUpdateConfiguredTableAnalysisRule() { return this.to('UpdateConfiguredTableAnalysisRule'); } /** * Grants permission to update a configured table association * * Access Level: Write * * Dependent actions: * - iam:PassRole * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateConfiguredTableAssociation.html */ toUpdateConfiguredTableAssociation() { return this.to('UpdateConfiguredTableAssociation'); } /** * Grants permission to update details of a membership * * Access Level: Write * * Dependent actions: * - iam:PassRole * - logs:CreateLogDelivery * - logs:CreateLogGroup * - logs:DeleteLogDelivery * - logs:DescribeLogGroups * - logs:DescribeResourcePolicies * - logs:GetLogDelivery * - logs:ListLogDeliveries * - logs:PutResourcePolicy * - logs:UpdateLogDelivery * - s3:GetBucketLocation * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateMembership.html */ toUpdateMembership() { return this.to('UpdateMembership'); } /** * Grants permission to update details of the privacy budget template * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdatePrivacyBudgetTemplate.html */ toUpdatePrivacyBudgetTemplate() { return this.to('UpdatePrivacyBudgetTemplate'); } /** * Grants permission to update protected queries * * Access Level: Write * * https://docs.aws.amazon.com/clean-rooms/latest/apireference/API_UpdateProtectedQuery.html */ toUpdateProtectedQuery() { return this.to('UpdateProtectedQuery'); } /** * Adds a resource of type analysistemplate to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param membershipId - Identifier for the membershipId. * @param analysisTemplateId - Identifier for the analysisTemplateId. * @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() */ onAnalysistemplate(membershipId, analysisTemplateId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:membership/${membershipId}/analysistemplate/${analysisTemplateId}`); } /** * Adds a resource of type collaboration to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param collaborationId - Identifier for the collaborationId. * @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() */ onCollaboration(collaborationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:collaboration/${collaborationId}`); } /** * Adds a resource of type configuredaudiencemodelassociation to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param membershipId - Identifier for the membershipId. * @param configuredAudienceModelAssociationId - Identifier for the configuredAudienceModelAssociationId. * @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() */ onConfiguredaudiencemodelassociation(membershipId, configuredAudienceModelAssociationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:membership/${membershipId}/configuredaudiencemodelassociation/${configuredAudienceModelAssociationId}`); } /** * Adds a resource of type configuredtable to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param configuredTableId - Identifier for the configuredTableId. * @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() */ onConfiguredtable(configuredTableId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:configuredtable/${configuredTableId}`); } /** * Adds a resource of type configuredtableassociation to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param membershipId - Identifier for the membershipId. * @param configuredTableAssociationId - Identifier for the configuredTableAssociationId. * @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() */ onConfiguredtableassociation(membershipId, configuredTableAssociationId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:membership/${membershipId}/configuredtableassociation/${configuredTableAssociationId}`); } /** * Adds a resource of type membership to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param membershipId - Identifier for the membershipId. * @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() */ onMembership(membershipId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:membership/${membershipId}`); } /** * Adds a resource of type privacybudgettemplate to the statement * * https://docs.aws.amazon.com/clean-rooms/latest/userguide/security-iam.html * * @param membershipId - Identifier for the membershipId. * @param privacyBudgetTemplateId - Identifier for the privacyBudgetTemplateId. * @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() */ onPrivacybudgettemplate(membershipId, privacyBudgetTemplateId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:cleanrooms:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:membership/${membershipId}/privacybudgettemplate/${privacyBudgetTemplateId}`); } /** * 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: * - .toCreateAnalysisTemplate() * - .toCreateCollaboration() * - .toCreateConfiguredAudienceModelAssociation() * - .toCreateConfiguredTable() * - .toCreateConfiguredTableAssociation() * - .toCreateMembership() * - .toCreatePrivacyBudgetTemplate() * - .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: * - .toCreateAnalysisTemplate() * - .toCreateCollaboration() * - .toCreateConfiguredAudienceModelAssociation() * - .toCreateConfiguredTable() * - .toCreateConfiguredTableAssociation() * - .toCreateMembership() * - .toCreatePrivacyBudgetTemplate() * * Applies to resource types: * - analysistemplate * - collaboration * - configuredaudiencemodelassociation * - configuredtable * - configuredtableassociation * - membership * - privacybudgettemplate * * @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: * - .toCreateAnalysisTemplate() * - .toCreateCollaboration() * - .toCreateConfiguredAudienceModelAssociation() * - .toCreateConfiguredTable() * - .toCreateConfiguredTableAssociation() * - .toCreateMembership() * - .toCreatePrivacyBudgetTemplate() * - .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 [cleanrooms](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awscleanrooms.html). * */ constructor(props) { super(props); this.servicePrefix = 'cleanrooms'; this.accessLevelList = { Read: [ 'BatchGetCollaborationAnalysisTemplate', 'BatchGetSchema', 'BatchGetSchemaAnalysisRule', 'GetAnalysisTemplate', 'GetCollaboration', 'GetCollaborationAnalysisTemplate', 'GetCollaborationConfiguredAudienceModelAssociation', 'GetCollaborationPrivacyBudgetTemplate', 'GetConfiguredAudienceModelAssociation', 'GetConfiguredTable', 'GetConfiguredTableAnalysisRule', 'GetConfiguredTableAssociation', 'GetMembership', 'GetPrivacyBudgetTemplate', 'GetProtectedQuery', 'GetSchema', 'GetSchemaAnalysisRule', 'PreviewPrivacyImpact' ], Write: [ 'CreateAnalysisTemplate', 'CreateCollaboration', 'CreateConfiguredAudienceModelAssociation', 'CreateConfiguredTable', 'CreateConfiguredTableAnalysisRule', 'CreateConfiguredTableAssociation', 'CreateMembership', 'CreatePrivacyBudgetTemplate', 'DeleteAnalysisTemplate', 'DeleteCollaboration', 'DeleteConfiguredAudienceModelAssociation', 'DeleteConfiguredTable', 'DeleteConfiguredTableAnalysisRule', 'DeleteConfiguredTableAssociation', 'DeleteMember', 'DeleteMembership', 'DeletePrivacyBudgetTemplate', 'StartProtectedQuery', 'UpdateAnalysisTemplate', 'UpdateCollaboration', 'UpdateConfiguredAudienceModelAssociation', 'UpdateConfiguredTable', 'UpdateConfiguredTableAnalysisRule', 'UpdateConfiguredTableAssociation', 'UpdateMembership', 'UpdatePrivacyBudgetTemplate', 'UpdateProtectedQuery' ], List: [ 'ListAnalysisTemplates', 'ListCollaborationAnalysisTemplates', 'ListCollaborationConfiguredAudienceModelAssociations', 'ListCollaborationPrivacyBudgetTemplates', 'ListCollaborationPrivacyBudgets', 'ListCollaborations', 'ListConfiguredAudienceModelAssociations', 'ListConfiguredTableAssociations', 'ListConfiguredTables', 'ListMembers', 'ListMemberships', 'ListPrivacyBudgetTemplates', 'ListPrivacyBudgets', 'ListProtectedQueries', 'ListSchemas', 'ListTagsForResource' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Cleanrooms = Cleanrooms; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xlYW5yb29tcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNsZWFucm9vbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLFVBQVcsU0FBUSx3QkFBZTtJQUc3Qzs7Ozs7Ozs7O09BU0c7SUFDSSx1Q0FBdUM7UUFDNUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksNEJBQTRCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx3QkFBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSwwQ0FBMEM7UUFDL0MsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7O09BZ0JHO0lBQ0ksdUJBQXVCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQ0FBbUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLGtDQUFr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Q2xCLGtDQUFrQztnQkFDbEMsb0RBQW9EO2dCQUNwRCx1Q0FBdUM7Z0JBQ3ZDLHVDQUF1QztnQkFDdkMsb0JBQW9CO2dCQUNwQixnQ0FBZ0M7Z0JBQ2hDLCtCQUErQjtnQkFDL0IsZUFBZTtnQkFDZiwwQkFBMEI7Z0JBQzFCLG1CQUFtQjtnQkFDbkIsV0FBVztnQkFDWCx1QkFBdUI7Z0JBQ3ZCLHNCQUFzQjthQUN2QjtZQUNELEtBQUssRUFBRTtnQkFDTCx3QkFBd0I7Z0JBQ3hCLHFCQUFxQjtnQkFDckIsMENBQTBDO2dCQUMxQyx1QkFBdUI7Z0JBQ3ZCLG1DQUFtQztnQkFDbkMsa0NBQWtDO2dCQUNsQyxrQkFBa0I7Z0JBQ2xCLDZCQUE2QjtnQkFDN0Isd0JBQXdCO2dCQUN4QixxQkFBcUI7Z0JBQ3JCLDBDQUEwQztnQkFDMUMsdUJBQXVCO2dCQUN2QixtQ0FBbUM7Z0JBQ25DLGtDQUFrQztnQkFDbEMsY0FBYztnQkFDZCxrQkFBa0I7Z0JBQ2xCLDZCQUE2QjtnQkFDN0IscUJBQXFCO2dCQUNyQix3QkFBd0I7Z0JBQ3hCLHFCQUFxQjtnQkFDckIsMENBQTBDO2dCQUMxQyx1QkFBdUI7Z0JBQ3ZCLG1DQUFtQztnQkFDbkMsa0NBQWtDO2dCQUNsQyxrQkFBa0I7Z0JBQ2xCLDZCQUE2QjtnQkFDN0Isc0JBQXNCO2FBQ3ZCO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLHVCQUF1QjtnQkFDdkIsb0NBQW9DO2dCQUNwQyxzREFBc0Q7Z0JBQ3RELHlDQUF5QztnQkFDekMsaUNBQWlDO2dCQUNqQyxvQkFBb0I7Z0JBQ3BCLHlDQUF5QztnQkFDekMsaUNBQWlDO2dCQUNqQyxzQkFBc0I7Z0JBQ3RCLGFBQWE7Z0JBQ2IsaUJBQWlCO2dCQUNqQiw0QkFBNEI7Z0JBQzVCLG9CQUFvQjtnQkFDcEIsc0JBQXNCO2dCQUN0QixhQUFhO2dCQUNiLHFCQUFxQjthQUN0QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxhQUFhO2dCQUNiLGVBQWU7YUFDaEI7U0FDRixDQUFDO0lBZ05GLENBQUM7Q0FDRjtBQXppQ0QsZ0NBeWlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0xldmVsTGlzdCB9IGZyb20gJy4uLy4uL3NoYXJlZC9hY2Nlc3MtbGV2ZWwnO1xuaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50LCBPcGVyYXRvciB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBhd3NfaWFtIGFzIGlhbSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIFN0YXRlbWVudCBwcm92aWRlciBmb3Igc2VydmljZSBbY2xlYW5yb29tc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2