cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
870 lines • 82.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TransformCustom = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [transform-custom](https://docs.aws.amazon.com/service-authorization/latest/reference/list_transform-custom.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class TransformCustom extends shared_1.PolicyStatement {
/**
* Grants permission to invoke BatchCreateFindings on AWS Transform custom
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsRequestTag()
* - .ifAwsResourceTag()
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toBatchCreateFindings() {
return this.to('BatchCreateFindings');
}
/**
* Grants permission to invoke BatchUpdateFindings on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toBatchUpdateFindings() {
return this.to('BatchUpdateFindings');
}
/**
* Grants permission to invoke CompleteTransformationPackageUpload on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCompleteTransformationPackageUpload() {
return this.to('CompleteTransformationPackageUpload');
}
/**
* Grants permission to invoke ConverseStream on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toConverseStream() {
return this.to('ConverseStream');
}
/**
* Grants permission to invoke CreateAnalysis on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCreateAnalysis() {
return this.to('CreateAnalysis');
}
/**
* Grants permission to invoke CreateCampaign on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCreateCampaign() {
return this.to('CreateCampaign');
}
/**
* Grants permission to invoke CreateRemediation on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCreateRemediation() {
return this.to('CreateRemediation');
}
/**
* Grants permission to invoke CreateRepository on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCreateRepository() {
return this.to('CreateRepository');
}
/**
* Grants permission to invoke CreateSource on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCreateSource() {
return this.to('CreateSource');
}
/**
* Grants permission to invoke CreateTransformationPackageUrl on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toCreateTransformationPackageUrl() {
return this.to('CreateTransformationPackageUrl');
}
/**
* Grants permission to invoke DeleteAnalysis on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteAnalysis() {
return this.to('DeleteAnalysis');
}
/**
* Grants permission to invoke DeleteCampaign on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteCampaign() {
return this.to('DeleteCampaign');
}
/**
* Grants permission to invoke DeleteFinding on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteFinding() {
return this.to('DeleteFinding');
}
/**
* Grants permission to invoke DeleteKnowledgeItem on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteKnowledgeItem() {
return this.to('DeleteKnowledgeItem');
}
/**
* Grants permission to invoke DeleteRemediation on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteRemediation() {
return this.to('DeleteRemediation');
}
/**
* Grants permission to invoke DeleteRepository on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteRepository() {
return this.to('DeleteRepository');
}
/**
* Grants permission to invoke DeleteSource on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteSource() {
return this.to('DeleteSource');
}
/**
* Grants permission to invoke DeleteTransformationPackage on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toDeleteTransformationPackage() {
return this.to('DeleteTransformationPackage');
}
/**
* Grants permission to invoke ExecuteTransformation on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toExecuteTransformation() {
return this.to('ExecuteTransformation');
}
/**
* Grants permission to invoke GetAnalysis on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetAnalysis() {
return this.to('GetAnalysis');
}
/**
* Grants permission to invoke GetAnalysisArtifactDownloadUrl on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetAnalysisArtifactDownloadUrl() {
return this.to('GetAnalysisArtifactDownloadUrl');
}
/**
* Grants permission to invoke GetCampaign on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetCampaign() {
return this.to('GetCampaign');
}
/**
* Grants permission to invoke GetFinding on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetFinding() {
return this.to('GetFinding');
}
/**
* Grants permission to invoke GetFindingGroups on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetFindingGroups() {
return this.to('GetFindingGroups');
}
/**
* Grants permission to invoke GetKnowledgeItem on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetKnowledgeItem() {
return this.to('GetKnowledgeItem');
}
/**
* Grants permission to invoke GetRemediation on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetRemediation() {
return this.to('GetRemediation');
}
/**
* Grants permission to invoke GetRepository on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetRepository() {
return this.to('GetRepository');
}
/**
* Grants permission to invoke GetSource on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetSource() {
return this.to('GetSource');
}
/**
* Grants permission to invoke GetTransformationPackageUrl on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toGetTransformationPackageUrl() {
return this.to('GetTransformationPackageUrl');
}
/**
* Grants permission to invoke ListAnalyses on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListAnalyses() {
return this.to('ListAnalyses');
}
/**
* Grants permission to invoke ListAnalysisArtifacts on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListAnalysisArtifacts() {
return this.to('ListAnalysisArtifacts');
}
/**
* Grants permission to invoke ListCampaignRepositories on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListCampaignRepositories() {
return this.to('ListCampaignRepositories');
}
/**
* Grants permission to invoke ListCampaign on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListCampaigns() {
return this.to('ListCampaigns');
}
/**
* Grants permission to invoke ListFindings on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListFindings() {
return this.to('ListFindings');
}
/**
* Grants permission to invoke ListKnowledgeItems on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListKnowledgeItems() {
return this.to('ListKnowledgeItems');
}
/**
* Grants permission to invoke ListRemediations on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListRemediations() {
return this.to('ListRemediations');
}
/**
* Grants permission to invoke ListRepositories on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListRepositories() {
return this.to('ListRepositories');
}
/**
* Grants permission to invoke ListSources on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListSources() {
return this.to('ListSources');
}
/**
* Grants permission to invoke ListTagsForResource on AWS Transform custom
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to invoke ListTransformationPackageMetadata on AWS Transform custom
*
* Access Level: List
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListTransformationPackageMetadata() {
return this.to('ListTransformationPackageMetadata');
}
/**
* Grants permission to list active shares of a Transformation Package
*
* Access Level: Read
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toListTransformationPackageShares() {
return this.to('ListTransformationPackageShares');
}
/**
* Grants permission to send a CLI telemetry event
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toSendTelemetryEvent() {
return this.to('SendTelemetryEvent');
}
/**
* Grants permission to share a Transformation Package with another AWS account or AWS Organization
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toShareTransformationPackage() {
return this.to('ShareTransformationPackage');
}
/**
* Grants permission to invoke TagResource on AWS Transform custom
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to revoke an existing share of a Transformation Package
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUnshareTransformationPackage() {
return this.to('UnshareTransformationPackage');
}
/**
* Grants permission to invoke UntagResource on AWS Transform custom
*
* Access Level: Tagging, Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to invoke UpdateAnalysis on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateAnalysis() {
return this.to('UpdateAnalysis');
}
/**
* Grants permission to invoke UpdateCampaign on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateCampaign() {
return this.to('UpdateCampaign');
}
/**
* Grants permission to invoke UpdateCampaignRepositories on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateCampaignRepositoryStatus() {
return this.to('UpdateCampaignRepositoryStatus');
}
/**
* Grants permission to invoke UpdateKnowledgeItemConfiguration on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateKnowledgeItemConfiguration() {
return this.to('UpdateKnowledgeItemConfiguration');
}
/**
* Grants permission to invoke UpdateKnowledgeItemStatus on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateKnowledgeItemStatus() {
return this.to('UpdateKnowledgeItemStatus');
}
/**
* Grants permission to invoke UpdateRemediation on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateRemediation() {
return this.to('UpdateRemediation');
}
/**
* Grants permission to invoke UpdateRepository on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateRepository() {
return this.to('UpdateRepository');
}
/**
* Grants permission to invoke UpdateSource on AWS Transform custom
*
* Access Level: Write
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*/
toUpdateSource() {
return this.to('UpdateSource');
}
/**
* Adds a resource of type analysis to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param analysisId - Identifier for the analysisId.
* @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()
*/
onAnalysis(analysisId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:analysis/${analysisId}`);
}
/**
* Adds a resource of type campaign to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param name - Identifier for the name.
* @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()
*/
onCampaign(name, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:campaign/${name}`);
}
/**
* Adds a resource of type finding to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param findingId - Identifier for the findingId.
* @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()
*/
onFinding(findingId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:finding/${findingId}`);
}
/**
* Adds a resource of type knowledge-item to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param transformationPackageName - Identifier for the transformationPackageName.
* @param id - Identifier for the id.
* @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()
*/
onKnowledgeItem(transformationPackageName, id, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:package/${transformationPackageName}/knowledge-item/${id}`);
}
/**
* Adds a resource of type package to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param name - Identifier for the name.
* @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()
*/
onPackage(name, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:package/${name}`);
}
/**
* Adds a resource of type remediation to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param remediationId - Identifier for the remediationId.
* @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()
*/
onRemediation(remediationId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:remediation/${remediationId}`);
}
/**
* Adds a resource of type repository to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param repositoryId - Identifier for the repositoryId.
* @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()
*/
onRepository(repositoryId, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:repository/${repositoryId}`);
}
/**
* Adds a resource of type source to the statement
*
* https://docs.aws.amazon.com/transform/latest/userguide/custom.html
*
* @param name - Identifier for the name.
* @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()
*/
onSource(name, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:transform-custom:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:source/${name}`);
}
/**
* 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:
* - .toBatchCreateFindings()
* - .toCreateAnalysis()
* - .toCreateCampaign()
* - .toCreateRemediation()
* - .toCreateRepository()
* - .toCreateSource()
* - .toCreateTransformationPackageUrl()
* - .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:
* - .toBatchCreateFindings()
* - .toCompleteTransformationPackageUpload()
* - .toCreateAnalysis()
* - .toCreateCampaign()
* - .toCreateRemediation()
* - .toCreateRepository()
* - .toCreateSource()
* - .toCreateTransformationPackageUrl()
* - .toDeleteAnalysis()
* - .toDeleteCampaign()
* - .toDeleteFinding()
* - .toDeleteKnowledgeItem()
* - .toDeleteRemediation()
* - .toDeleteRepository()
* - .toDeleteSource()
* - .toDeleteTransformationPackage()
* - .toExecuteTransformation()
* - .toGetAnalysis()
* - .toGetAnalysisArtifactDownloadUrl()
* - .toGetCampaign()
* - .toGetFinding()
* - .toGetKnowledgeItem()
* - .toGetRemediation()
* - .toGetRepository()
* - .toGetSource()
* - .toGetTransformationPackageUrl()
* - .toListAnalysisArtifacts()
* - .toListCampaignRepositories()
* - .toListTransformationPackageShares()
* - .toShareTransformationPackage()
* - .toTagResource()
* - .toUnshareTransformationPackage()
* - .toUntagResource()
* - .toUpdateAnalysis()
* - .toUpdateCampaign()
* - .toUpdateCampaignRepositoryStatus()
* - .toUpdateKnowledgeItemConfiguration()
* - .toUpdateKnowledgeItemStatus()
* - .toUpdateRemediation()
* - .toUpdateRepository()
* - .toUpdateSource()
*
* Applies to resource types:
* - analysis
* - campaign
* - finding
* - knowledge-item
* - package
* - remediation
* - repository
* - source
*
* @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:
* - .toBatchCreateFindings()
* - .toCreateAnalysis()
* - .toCreateCampaign()
* - .toCreateRemediation()
* - .toCreateRepository()
* - .toCreateSource()
* - .toCreateTransformationPackageUrl()
* - .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 [transform-custom](https://docs.aws.amazon.com/service-authorization/latest/reference/list_transform-custom.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'transform-custom';
this.accessLevelList = {
Write: [
'BatchCreateFindings',
'BatchUpdateFindings',
'CompleteTransformationPackageUpload',
'ConverseStream',
'CreateAnalysis',
'CreateCampaign',
'CreateRemediation',
'CreateRepository',
'CreateSource',
'CreateTransformationPackageUrl',
'DeleteAnalysis',
'DeleteCampaign',
'DeleteFinding',
'DeleteKnowledgeItem',
'DeleteRemediation',
'DeleteRepository',
'DeleteSource',
'DeleteTransformationPackage',
'ExecuteTransformation',
'SendTelemetryEvent',
'ShareTransformationPackage',
'TagResource',
'UnshareTransformationPackage',
'UntagResource',
'UpdateAnalysis',
'UpdateCampaign',
'UpdateCampaignRepositoryStatus',
'UpdateKnowledgeItemConfiguration',
'UpdateKnowledgeItemStatus',
'UpdateRemediation',
'UpdateRepository',
'UpdateSource'
],
Read: [
'GetAnalysis',
'GetAnalysisArtifactDownloadUrl',
'GetCampaign',
'GetFinding',
'GetFindingGroups',
'GetKnowledgeItem',
'GetRemediation',
'GetRepository',
'GetSource',
'GetTransformationPackageUrl',
'ListAnalysisArtifacts',
'ListCampaignRepositories',
'ListTagsForResource',
'ListTransformationPackageShares'
],
List: [
'ListAnalyses',
'ListCampaigns',
'ListFindings',
'ListKnowledgeItems',
'ListRemediations',
'ListRepositories',
'ListSources',
'ListTransformationPackageMetadata'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
}
exports.TransformCustom = TransformCustom;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtLWN1c3RvbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRyYW5zZm9ybS1jdXN0b20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQXlEO0FBR3pEOzs7O0dBSUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsd0JBQWU7SUFHbEQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUNBQXFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxnQkFBZ0I7UUFDckIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksY0FBYztRQUNuQixPQUFP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YUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQWlRRixDQUFDO0NBQ0Y7QUE3NUJELDBDQTY1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW3RyYW5zZm9ybS1jdXN0b21dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zZXJ2aWNlLWF1dGhvcml6YXRpb24vbGF0ZXN0L3JlZmVyZW5jZS9saXN0X3RyYW5zZm9ybS1jdXN0b20uaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2Zvcm1DdXN0b20gZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICd0cmFuc2Zvcm0tY3VzdG9tJztcblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIEJhdGNoQ3JlYXRlRmluZGluZ3Mgb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkF3c1Jlc291cmNlVGFnKClcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9CYXRjaENyZWF0ZUZpbmRpbmdzKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdCYXRjaENyZWF0ZUZpbmRpbmdzJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIEJhdGNoVXBkYXRlRmluZGluZ3Mgb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0JhdGNoVXBkYXRlRmluZGluZ3MoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0JhdGNoVXBkYXRlRmluZGluZ3MnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2UgQ29tcGxldGVUcmFuc2Zvcm1hdGlvblBhY2thZ2VVcGxvYWQgb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NvbXBsZXRlVHJhbnNmb3JtYXRpb25QYWNrYWdlVXBsb2FkKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDb21wbGV0ZVRyYW5zZm9ybWF0aW9uUGFja2FnZVVwbG9hZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSBDb252ZXJzZVN0cmVhbSBvbiBBV1MgVHJhbnNmb3JtIGN1c3RvbVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS90cmFuc2Zvcm0vbGF0ZXN0L3VzZXJndWlkZS9jdXN0b20uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ29udmVyc2VTdHJlYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NvbnZlcnNlU3RyZWFtJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIENyZWF0ZUFuYWx5c2lzIG9uIEFXUyBUcmFuc2Zvcm0gY3VzdG9tXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVBbmFseXNpcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQW5hbHlzaXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2UgQ3JlYXRlQ2FtcGFpZ24gb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUNhbXBhaWduKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVDYW1wYWlnbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSBDcmVhdGVSZW1lZGlhdGlvbiBvbiBBV1MgVHJhbnNmb3JtIGN1c3RvbVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS90cmFuc2Zvcm0vbGF0ZXN0L3VzZXJndWlkZS9jdXN0b20uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvQ3JlYXRlUmVtZWRpYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVJlbWVkaWF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIENyZWF0ZVJlcG9zaXRvcnkgb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVJlcG9zaXRvcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVJlcG9zaXRvcnknKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2UgQ3JlYXRlU291cmNlIG9uIEFXUyBUcmFuc2Zvcm0gY3VzdG9tXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVTb3VyY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVNvdXJjZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSBDcmVhdGVUcmFuc2Zvcm1hdGlvblBhY2thZ2VVcmwgb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVRyYW5zZm9ybWF0aW9uUGFja2FnZVVybCgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlVHJhbnNmb3JtYXRpb25QYWNrYWdlVXJsJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIERlbGV0ZUFuYWx5c2lzIG9uIEFXUyBUcmFuc2Zvcm0gY3VzdG9tXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVBbmFseXNpcygpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQW5hbHlzaXMnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2UgRGVsZXRlQ2FtcGFpZ24gb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUNhbXBhaWduKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVDYW1wYWlnbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSBEZWxldGVGaW5kaW5nIG9uIEFXUyBUcmFuc2Zvcm0gY3VzdG9tXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVGaW5kaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVGaW5kaW5nJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIERlbGV0ZUtub3dsZWRnZUl0ZW0gb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUtub3dsZWRnZUl0ZW0oKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZUtub3dsZWRnZUl0ZW0nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2UgRGVsZXRlUmVtZWRpYXRpb24gb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVJlbWVkaWF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVSZW1lZGlhdGlvbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSBEZWxldGVSZXBvc2l0b3J5IG9uIEFXUyBUcmFuc2Zvcm0gY3VzdG9tXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVSZXBvc2l0b3J5KCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVSZXBvc2l0b3J5Jyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIERlbGV0ZVNvdXJjZSBvbiBBV1MgVHJhbnNmb3JtIGN1c3RvbVxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS90cmFuc2Zvcm0vbGF0ZXN0L3VzZXJndWlkZS9jdXN0b20uaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlU291cmNlKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVTb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBpbnZva2UgRGVsZXRlVHJhbnNmb3JtYXRpb25QYWNrYWdlIG9uIEFXUyBUcmFuc2Zvcm0gY3VzdG9tXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3RyYW5zZm9ybS9sYXRlc3QvdXNlcmd1aWRlL2N1c3RvbS5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9EZWxldGVUcmFuc2Zvcm1hdGlvblBhY2thZ2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0RlbGV0ZVRyYW5zZm9ybWF0aW9uUGFja2FnZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGludm9rZSBFeGVjdXRlVHJhbnNmb3JtYXRpb24gb24gQVdTIFRyYW5zZm9ybSBjdXN0b21cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vdHJhbnNmb3JtL2xhdGVzdC91c2VyZ3VpZGUvY3VzdG9tLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0V4ZWN1dGVUcmFuc2Zvcm1hdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRXhlY3V0ZVRyYW5zZm9ybWF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gaW52b2tlIEdldEFuYWx5c2lzI