cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
1,216 lines • 102 kB
JavaScript
"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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