UNPKG

cdk-iam-floyd

Version:

AWS IAM policy statement generator with fluent interface for AWS CDK

1,216 lines 102 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Wellarchitected = void 0; const shared_1 = require("../../shared"); /** * Statement provider for service [wellarchitected](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswell-architectedtool.html). * * @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement */ class Wellarchitected extends shared_1.PolicyStatement { /** * Grants permission to associate a lens to the specified workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_AssociateLenses.html */ toAssociateLenses() { return this.to('AssociateLenses'); } /** * Grants permission to associate a profile to the specified workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_AssociateProfiles.html */ toAssociateProfiles() { return this.to('AssociateProfiles'); } /** * Grants permission to configure the integration * * Access Level: Write * * https://docs.aws.amazon.com/wellarchitected/latest/userguide/setting-up-jira.html */ toConfigureIntegration() { return this.to('ConfigureIntegration'); } /** * Grants permission to an owner of a lens to share with other AWS accounts and IAM users * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateLensShare.html */ toCreateLensShare() { return this.to('CreateLensShare'); } /** * Grants permission to create a new lens version * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateLensVersion.html */ toCreateLensVersion() { return this.to('CreateLensVersion'); } /** * Grants permission to create a new milestone for the specified workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateMilestone.html */ toCreateMilestone() { return this.to('CreateMilestone'); } /** * Grants permission to create a new profile * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateProfile.html */ toCreateProfile() { return this.to('CreateProfile'); } /** * Grants permission to an owner of a profile to share with other AWS accounts and IAM users * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateProfileShare.html */ toCreateProfileShare() { return this.to('CreateProfileShare'); } /** * Grants permission to create a new review template * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateReviewTemplate.html */ toCreateReviewTemplate() { return this.to('CreateReviewTemplate'); } /** * Grants permission to an owner of a review template to share with other AWS accounts and IAM users * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateTemplateShare.html */ toCreateTemplateShare() { return this.to('CreateTemplateShare'); } /** * Grants permission to create a new workload * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * - .ifJiraProjectKey() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateWorkload.html */ toCreateWorkload() { return this.to('CreateWorkload'); } /** * Grants permission to share a workload with another account * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_CreateWorkloadShare.html */ toCreateWorkloadShare() { return this.to('CreateWorkloadShare'); } /** * Grants permission to delete a lens * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteLens.html */ toDeleteLens() { return this.to('DeleteLens'); } /** * Grants permission to delete an existing lens share * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteLensShare.html */ toDeleteLensShare() { return this.to('DeleteLensShare'); } /** * Grants permission to delete a profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteProfile.html */ toDeleteProfile() { return this.to('DeleteProfile'); } /** * Grants permission to delete an existing profile share * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteProfileShare.html */ toDeleteProfileShare() { return this.to('DeleteProfileShare'); } /** * Grants permission to delete an existing review template * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteReviewTemplate.html */ toDeleteReviewTemplate() { return this.to('DeleteReviewTemplate'); } /** * Grants permission to delete an existing review template share * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteTemplateShare.html */ toDeleteTemplateShare() { return this.to('DeleteTemplateShare'); } /** * Grants permission to delete an existing workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteWorkload.html */ toDeleteWorkload() { return this.to('DeleteWorkload'); } /** * Grants permission to delete an existing workload share * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteWorkloadShare.html */ toDeleteWorkloadShare() { return this.to('DeleteWorkloadShare'); } /** * Grants permission to disassociate a lens from the specified workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DisassociateLenses.html */ toDisassociateLenses() { return this.to('DisassociateLenses'); } /** * Grants permission to disassociate a profile from the specified workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DisassociateProfiles.html */ toDisassociateProfiles() { return this.to('DisassociateProfiles'); } /** * Grants permission to export an existing lens * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ExportLens.html */ toExportLens() { return this.to('ExportLens'); } /** * Grants permission to retrieve the specified answer from the specified lens review * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetAnswer.html */ toGetAnswer() { return this.to('GetAnswer'); } /** * Grants permission to get consolidated report metrics or to generate the consolidated report PDF in this account * * Access Level: Read * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetConsolidatedReport.html */ toGetConsolidatedReport() { return this.to('GetConsolidatedReport'); } /** * Grants permission to get all settings for the account * * Access Level: Read * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetGlobalSettings.html */ toGetGlobalSettings() { return this.to('GetGlobalSettings'); } /** * Grants permission to get an existing lens * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_DeleteLensShare.html */ toGetLens() { return this.to('GetLens'); } /** * Grants permission to retrieve the specified lens review of the specified workload * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetLensReview.html */ toGetLensReview() { return this.to('GetLensReview'); } /** * Grants permission to retrieve the report for the specified lens review * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetLensReviewReport.html */ toGetLensReviewReport() { return this.to('GetLensReviewReport'); } /** * Grants permission to get the difference between the specified lens version and latest available lens version * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetLensVersionDifference.html */ toGetLensVersionDifference() { return this.to('GetLensVersionDifference'); } /** * Grants permission to retrieve the specified milestone of the specified workload * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetMilestone.html */ toGetMilestone() { return this.to('GetMilestone'); } /** * Grants permission to retrieve the specified profile * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetProfile.html */ toGetProfile() { return this.to('GetProfile'); } /** * Grants permission to retrieve the specified profile template * * Access Level: Read * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetProfileTemplate.html */ toGetProfileTemplate() { return this.to('GetProfileTemplate'); } /** * Grants permission to retrieve the specified review template * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetReviewTemplate.html */ toGetReviewTemplate() { return this.to('GetReviewTemplate'); } /** * Grants permission to retrieve the specified answer from the specified review template lens review * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetReviewTemplateAnswer.html */ toGetReviewTemplateAnswer() { return this.to('GetReviewTemplateAnswer'); } /** * Grants permission to retrieve the specified lens review of the specified review template * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetReviewTemplateLensReview.html */ toGetReviewTemplateLensReview() { return this.to('GetReviewTemplateLensReview'); } /** * Grants permission to retrieve the specified workload * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_GetWorkload.html */ toGetWorkload() { return this.to('GetWorkload'); } /** * Grants permission to import a new lens * * Access Level: Write * * Possible conditions: * - .ifAwsRequestTag() * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ImportLens.html */ toImportLens() { return this.to('ImportLens'); } /** * Grants permission to list the answers from the specified lens review * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListAnswers.html */ toListAnswers() { return this.to('ListAnswers'); } /** * Grants permission to list the check-details for the workload * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListCheckDetails.html */ toListCheckDetails() { return this.to('ListCheckDetails'); } /** * Grants permission to list the check-summaries for the workload * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListCheckSummaries.html */ toListCheckSummaries() { return this.to('ListCheckSummaries'); } /** * Grants permission to list the improvements of the specified lens review * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListLensReviewImprovements.html */ toListLensReviewImprovements() { return this.to('ListLensReviewImprovements'); } /** * Grants permission to list the lens reviews of the specified workload * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListLensReviews.html */ toListLensReviews() { return this.to('ListLensReviews'); } /** * Grants permission to list all shares created for a lens * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListLensShares.html */ toListLensShares() { return this.to('ListLensShares'); } /** * Grants permission to list the lenses available to this account * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListLenses.html */ toListLenses() { return this.to('ListLenses'); } /** * Grants permission to list the milestones of the specified workload * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListMilestones.html */ toListMilestones() { return this.to('ListMilestones'); } /** * Grants permission to list notifications related to the account or specified resource * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListNotifications.html */ toListNotifications() { return this.to('ListNotifications'); } /** * Grants permission to list profile notifications related to specified resource * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListProfileNotifications.html */ toListProfileNotifications() { return this.to('ListProfileNotifications'); } /** * Grants permission to list all shares created for a profile * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListProfileShares.html */ toListProfileShares() { return this.to('ListProfileShares'); } /** * Grants permission to list the profiles available to this account * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListProfiles.html */ toListProfiles() { return this.to('ListProfiles'); } /** * Grants permission to list the answers from the specified review template lens review * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListReviewTemplateAnswers.html */ toListReviewTemplateAnswers() { return this.to('ListReviewTemplateAnswers'); } /** * Grants permission to list the review templates available to this account * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListReviewTemplates.html */ toListReviewTemplates() { return this.to('ListReviewTemplates'); } /** * Grants permission to list the workload share invitations of the specified account or user * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListShareInvitations.html */ toListShareInvitations() { return this.to('ListShareInvitations'); } /** * Grants permission to list tags for a Well-Architected resource * * Access Level: Read * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListTagsForResource.html */ toListTagsForResource() { return this.to('ListTagsForResource'); } /** * Grants permission to list all shares created for a review template * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListTemplateShares.html */ toListTemplateShares() { return this.to('ListTemplateShares'); } /** * Grants permission to list the workload shares of the specified workload * * Access Level: List * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListWorkloadShares.html */ toListWorkloadShares() { return this.to('ListWorkloadShares'); } /** * Grants permission to list the workloads in this account * * Access Level: List * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ListWorkloads.html */ toListWorkloads() { return this.to('ListWorkloads'); } /** * Grants permission to tag a Well-Architected resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * - .ifAwsRequestTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_TagResource.html */ toTagResource() { return this.to('TagResource'); } /** * Grants permission to untag a Well-Architected resource * * Access Level: Tagging * * Possible conditions: * - .ifAwsTagKeys() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UntagResource.html */ toUntagResource() { return this.to('UntagResource'); } /** * Grants permission to update properties of the specified answer * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateAnswer.html */ toUpdateAnswer() { return this.to('UpdateAnswer'); } /** * Grants permission to manage all settings for the account * * Access Level: Write * * Possible conditions: * - .ifJiraProjectKey() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateGlobalSettings.html */ toUpdateGlobalSettings() { return this.to('UpdateGlobalSettings'); } /** * Grants permission to update properties of the integration * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateIntegration.html */ toUpdateIntegration() { return this.to('UpdateIntegration'); } /** * Grants permission to update properties of the specified lens review * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateLensReview.html */ toUpdateLensReview() { return this.to('UpdateLensReview'); } /** * Grants permission to update properties of the specified profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateProfile.html */ toUpdateProfile() { return this.to('UpdateProfile'); } /** * Grants permission to update properties of the specified review template * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateReviewTemplate.html */ toUpdateReviewTemplate() { return this.to('UpdateReviewTemplate'); } /** * Grants permission to update properties of the specified review template answer * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateReviewTemplateAnswer.html */ toUpdateReviewTemplateAnswer() { return this.to('UpdateReviewTemplateAnswer'); } /** * Grants permission to update properties of the specified review template lens review * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateReviewTemplateLensReview.html */ toUpdateReviewTemplateLensReview() { return this.to('UpdateReviewTemplateLensReview'); } /** * Grants permission to update status of the specified workload share invitation * * Access Level: Write * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateShareInvitation.html */ toUpdateShareInvitation() { return this.to('UpdateShareInvitation'); } /** * Grants permission to update properties of the specified workload * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * - .ifJiraProjectKey() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateWorkload.html */ toUpdateWorkload() { return this.to('UpdateWorkload'); } /** * Grants permission to update properties of the specified workload share * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpdateWorkloadShare.html */ toUpdateWorkloadShare() { return this.to('UpdateWorkloadShare'); } /** * Grants permission to upgrade the specified lens review to use the latest version of the associated lens * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpgradeLensReview.html */ toUpgradeLensReview() { return this.to('UpgradeLensReview'); } /** * Grants permission to upgrade the specified workload to use the latest version of the associated profile * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpgradeProfileVersion.html */ toUpgradeProfileVersion() { return this.to('UpgradeProfileVersion'); } /** * Grants permission to upgrade the specified lens review of the specified review template * * Access Level: Write * * Possible conditions: * - .ifAwsResourceTag() * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_UpgradeReviewTemplateLensReview.html */ toUpgradeReviewTemplateLensReview() { return this.to('UpgradeReviewTemplateLensReview'); } /** * Adds a resource of type workload to the statement * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_Workload.html * * @param resourceId - Identifier for the resourceId. * @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() */ onWorkload(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:wellarchitected:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:workload/${resourceId}`); } /** * Adds a resource of type lens to the statement * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_Lens.html * * @param resourceId - Identifier for the resourceId. * @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() */ onLens(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:wellarchitected:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:lens/${resourceId}`); } /** * Adds a resource of type profile to the statement * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_Profile.html * * @param resourceId - Identifier for the resourceId. * @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() */ onProfile(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:wellarchitected:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:profile/${resourceId}`); } /** * Adds a resource of type review-template to the statement * * https://docs.aws.amazon.com/wellarchitected/latest/APIReference/API_ReviewTemplate.html * * @param resourceId - Identifier for the resourceId. * @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() */ onReviewTemplate(resourceId, account, region, partition) { return this.on(`arn:${partition ?? this.defaultPartition}:wellarchitected:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:review-template/${resourceId}`); } /** * Filters access by tag key-value pairs in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag * * Applies to actions: * - .toCreateProfile() * - .toCreateReviewTemplate() * - .toCreateWorkload() * - .toImportLens() * - .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 tag key-value pairs attached to the resource * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag * * Applies to actions: * - .toAssociateLenses() * - .toAssociateProfiles() * - .toCreateLensShare() * - .toCreateLensVersion() * - .toCreateMilestone() * - .toCreateProfileShare() * - .toCreateTemplateShare() * - .toCreateWorkloadShare() * - .toDeleteLens() * - .toDeleteLensShare() * - .toDeleteProfile() * - .toDeleteProfileShare() * - .toDeleteReviewTemplate() * - .toDeleteTemplateShare() * - .toDeleteWorkload() * - .toDeleteWorkloadShare() * - .toDisassociateLenses() * - .toDisassociateProfiles() * - .toExportLens() * - .toGetAnswer() * - .toGetLens() * - .toGetLensReview() * - .toGetLensReviewReport() * - .toGetLensVersionDifference() * - .toGetMilestone() * - .toGetProfile() * - .toGetReviewTemplate() * - .toGetReviewTemplateAnswer() * - .toGetReviewTemplateLensReview() * - .toGetWorkload() * - .toListAnswers() * - .toListCheckDetails() * - .toListCheckSummaries() * - .toListLensReviewImprovements() * - .toListLensReviews() * - .toListLensShares() * - .toListMilestones() * - .toListProfileShares() * - .toListReviewTemplateAnswers() * - .toListTagsForResource() * - .toListTemplateShares() * - .toListWorkloadShares() * - .toUpdateAnswer() * - .toUpdateIntegration() * - .toUpdateLensReview() * - .toUpdateProfile() * - .toUpdateReviewTemplate() * - .toUpdateReviewTemplateAnswer() * - .toUpdateReviewTemplateLensReview() * - .toUpdateWorkload() * - .toUpdateWorkloadShare() * - .toUpgradeLensReview() * - .toUpgradeProfileVersion() * - .toUpgradeReviewTemplateLensReview() * * Applies to resource types: * - workload * - lens * - profile * - review-template * * @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 tag keys in the request * * https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys * * Applies to actions: * - .toCreateProfile() * - .toCreateReviewTemplate() * - .toCreateWorkload() * - .toImportLens() * - .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'); } /** * Filters access by project key * * https://docs.aws.amazon.com/wellarchitected/latest/userguide/security_iam_id-based-policy-examples.html * * Applies to actions: * - .toCreateWorkload() * - .toUpdateGlobalSettings() * - .toUpdateWorkload() * * @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` */ ifJiraProjectKey(value, operator) { return this.if(`JiraProjectKey`, value, operator ?? 'StringLike'); } /** * Statement provider for service [wellarchitected](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awswell-architectedtool.html). * */ constructor(props) { super(props); this.servicePrefix = 'wellarchitected'; this.accessLevelList = { Write: [ 'AssociateLenses', 'AssociateProfiles', 'ConfigureIntegration', 'CreateLensShare', 'CreateLensVersion', 'CreateMilestone', 'CreateProfile', 'CreateProfileShare', 'CreateReviewTemplate', 'CreateTemplateShare', 'CreateWorkload', 'CreateWorkloadShare', 'DeleteLens', 'DeleteLensShare', 'DeleteProfile', 'DeleteProfileShare', 'DeleteReviewTemplate', 'DeleteTemplateShare', 'DeleteWorkload', 'DeleteWorkloadShare', 'DisassociateLenses', 'DisassociateProfiles', 'ImportLens', 'UpdateAnswer', 'UpdateGlobalSettings', 'UpdateIntegration', 'UpdateLensReview', 'UpdateProfile', 'UpdateReviewTemplate', 'UpdateReviewTemplateAnswer', 'UpdateReviewTemplateLensReview', 'UpdateShareInvitation', 'UpdateWorkload', 'UpdateWorkloadShare', 'UpgradeLensReview', 'UpgradeProfileVersion', 'UpgradeReviewTemplateLensReview' ], Read: [ 'ExportLens', 'GetAnswer', 'GetConsolidatedReport', 'GetGlobalSettings', 'GetLens', 'GetLensReview', 'GetLensReviewReport', 'GetLensVersionDifference', 'GetMilestone', 'GetProfile', 'GetProfileTemplate', 'GetReviewTemplate', 'GetReviewTemplateAnswer', 'GetReviewTemplateLensReview', 'GetWorkload', 'ListTagsForResource' ], List: [ 'ListAnswers', 'ListCheckDetails', 'ListCheckSummaries', 'ListLensReviewImprovements', 'ListLensReviews', 'ListLensShares', 'ListLenses', 'ListMilestones', 'ListNotifications', 'ListProfileNotifications', 'ListProfileShares', 'ListProfiles', 'ListReviewTemplateAnswers', 'ListReviewTemplates', 'ListShareInvitations', 'ListTemplateShares', 'ListWorkloadShares', 'ListWorkloads' ], Tagging: [ 'TagResource', 'UntagResource' ] }; } } exports.Wellarchitected = Wellarchitected; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VsbC1hcmNoaXRlY3RlZHRvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWxsLWFyY2hpdGVjdGVkdG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsZUFBZ0IsU0FBUSx3QkFBZTtJQUdsRDs7Ozs7Ozs7O09BU0c7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxpQkFBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksaUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLG9CQUFvQjtRQUN6QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7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