cdk-iam-floyd
Version:
AWS IAM policy statement generator with fluent interface for AWS CDK
805 lines • 88.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Observabilityadmin = void 0;
const shared_1 = require("../../shared");
/**
* Statement provider for service [observabilityadmin](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchobservabilityadminservice.html).
*
* @param sid [SID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html) of the statement
*/
class Observabilityadmin extends shared_1.PolicyStatement {
/**
* Grants permission to create a new organization centralization rule with the specified name for the organization
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsRequestTag()
* - .ifCentralizationSourceRegions()
* - .ifCentralizationDestinationRegion()
* - .ifCentralizationBackupRegion()
* - .ifCentralizationRuleName()
* - .ifCentralizationSourceId()
* - .ifCentralizationDestinationAccount()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateCentralizationRuleForOrganization.html
*/
toCreateCentralizationRuleForOrganization() {
return this.to('CreateCentralizationRuleForOrganization');
}
/**
* Grants permission to create a new s3 table integration with the specified configuration
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsRequestTag()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateS3TableIntegration.html
*/
toCreateS3TableIntegration() {
return this.to('CreateS3TableIntegration');
}
/**
* Grants permission to create a new telemetry pipeline with the specified name and configuration
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsRequestTag()
* - .ifSourceType()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateTelemetryPipeline.html
*/
toCreateTelemetryPipeline() {
return this.to('CreateTelemetryPipeline');
}
/**
* Grants permission to create a new telemetry rule with the specified name for the account
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsRequestTag()
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateTelemetryRule.html
*/
toCreateTelemetryRule() {
return this.to('CreateTelemetryRule');
}
/**
* Grants permission to create a new organization telemetry rule with the specified name for the organization
*
* Access Level: Write
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsRequestTag()
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CreateTelemetryRuleForOrganization.html
*/
toCreateTelemetryRuleForOrganization() {
return this.to('CreateTelemetryRuleForOrganization');
}
/**
* Grants permission to delete an organization centralization rule with the specified name for the organization
*
* Access Level: Write
*
* Possible conditions:
* - .ifCentralizationRuleName()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_DeleteCentralizationRuleForOrganization.html
*/
toDeleteCentralizationRuleForOrganization() {
return this.to('DeleteCentralizationRuleForOrganization');
}
/**
* Grants permission to delete the s3 table integration with the specified arn
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_DeleteS3TableIntegration.html
*/
toDeleteS3TableIntegration() {
return this.to('DeleteS3TableIntegration');
}
/**
* Grants permission to delete the telemetry pipeline with the specified arn
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_DeleteTelemetryPipeline.html
*/
toDeleteTelemetryPipeline() {
return this.to('DeleteTelemetryPipeline');
}
/**
* Grants permission to delete a telemetry rule with the specified name for the account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_DeleteTelemetryRule.html
*/
toDeleteTelemetryRule() {
return this.to('DeleteTelemetryRule');
}
/**
* Grants permission to delete an organization telemetry rule with the specified name for the organization
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_DeleteTelemetryRuleForOrganization.html
*/
toDeleteTelemetryRuleForOrganization() {
return this.to('DeleteTelemetryRuleForOrganization');
}
/**
* Grants permission to retrieve the specified organization centralization rule for the organization
*
* Access Level: Read
*
* Possible conditions:
* - .ifCentralizationRuleName()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetCentralizationRuleForOrganization.html
*/
toGetCentralizationRuleForOrganization() {
return this.to('GetCentralizationRuleForOrganization');
}
/**
* Grants permission to retrieve the specified s3 table integration for the account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetS3TableIntegration.html
*/
toGetS3TableIntegration() {
return this.to('GetS3TableIntegration');
}
/**
* Grants permission to retrieve the status of the Resource tags for telemetry feature for the account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetTelemetryEnrichmentStatus.html
*/
toGetTelemetryEnrichmentStatus() {
return this.to('GetTelemetryEnrichmentStatus');
}
/**
* Grants permission to retrieve the Telemetry Config feature status for the account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetTelemetryEvaluationStatus.html
*/
toGetTelemetryEvaluationStatus() {
return this.to('GetTelemetryEvaluationStatus');
}
/**
* Grants permission to retrieve the Telemetry Config feature status for the organization
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetTelemetryEvaluationStatusForOrganization.html
*/
toGetTelemetryEvaluationStatusForOrganization() {
return this.to('GetTelemetryEvaluationStatusForOrganization');
}
/**
* Grants permission to Get the telemetry pipeline with the specified name or arn
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetTelemetryPipeline.html
*/
toGetTelemetryPipeline() {
return this.to('GetTelemetryPipeline');
}
/**
* Grants permission to retrieve the specified telemetry rule for the account
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetTelemetryRule.html
*/
toGetTelemetryRule() {
return this.to('GetTelemetryRule');
}
/**
* Grants permission to retrieve the specified organization telemetry rule for the organization
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_GetTelemetryRuleForOrganization.html
*/
toGetTelemetryRuleForOrganization() {
return this.to('GetTelemetryRuleForOrganization');
}
/**
* Grants permission to list the centralization rules for the organization
*
* Access Level: List
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListCentralizationRulesForOrganization.html
*/
toListCentralizationRulesForOrganization() {
return this.to('ListCentralizationRulesForOrganization');
}
/**
* Grants permission to retrieve telemetry configurations for resources associated with the account
*
* Access Level: Read
*
* Possible conditions:
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListResourceTelemetry.html
*/
toListResourceTelemetry() {
return this.to('ListResourceTelemetry');
}
/**
* Grants permission to retrieve telemetry configurations for resources associated with accounts in the organization
*
* Access Level: Read
*
* Possible conditions:
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListResourceTelemetryForOrganization.html
*/
toListResourceTelemetryForOrganization() {
return this.to('ListResourceTelemetryForOrganization');
}
/**
* Grants permission to list s3 table integrations for the account
*
* Access Level: List
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListS3TableIntegrations.html
*/
toListS3TableIntegrations() {
return this.to('ListS3TableIntegrations');
}
/**
* Grants permission to list the tags for the specified resource
*
* Access Level: List
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListTagsForResource.html
*/
toListTagsForResource() {
return this.to('ListTagsForResource');
}
/**
* Grants permission to List telemetry pipelines for the account
*
* Access Level: List
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListTelemetryPipelines.html
*/
toListTelemetryPipelines() {
return this.to('ListTelemetryPipelines');
}
/**
* Grants permission to list the telemetry rules for the account
*
* Access Level: List
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListTelemetryRules.html
*/
toListTelemetryRules() {
return this.to('ListTelemetryRules');
}
/**
* Grants permission to list the telemetry rules for the organization
*
* Access Level: List
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ListTelemetryRulesForOrganization.html
*/
toListTelemetryRulesForOrganization() {
return this.to('ListTelemetryRulesForOrganization');
}
/**
* Grants permission to enable the Resource tags for telemetry feature for the account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_StartTelemetryEnrichment.html
*/
toStartTelemetryEnrichment() {
return this.to('StartTelemetryEnrichment');
}
/**
* Grants permission to start the Telemetry Config feature for the account
*
* Access Level: Write
*
* Possible conditions:
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_StartTelemetryEvaluation.html
*/
toStartTelemetryEvaluation() {
return this.to('StartTelemetryEvaluation');
}
/**
* Grants permission to start the Telemetry Config feature for the organization
*
* Access Level: Write
*
* Possible conditions:
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_StartTelemetryEvaluationForOrganization.html
*/
toStartTelemetryEvaluationForOrganization() {
return this.to('StartTelemetryEvaluationForOrganization');
}
/**
* Grants permission to disable the Resource tags for telemetry feature for the account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_StopTelemetryEnrichment.html
*/
toStopTelemetryEnrichment() {
return this.to('StopTelemetryEnrichment');
}
/**
* Grants permission to stop the Telemetry Config feature for the account
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_StopTelemetryEvaluation.html
*/
toStopTelemetryEvaluation() {
return this.to('StopTelemetryEvaluation');
}
/**
* Grants permission to stop the Telemetry Config feature for the organization
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_StopTelemetryEvaluationForOrganization.html
*/
toStopTelemetryEvaluationForOrganization() {
return this.to('StopTelemetryEvaluationForOrganization');
}
/**
* Grants permission to add or update the specified tags for the specified resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
* - .ifAwsRequestTag()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_TagResource.html
*/
toTagResource() {
return this.to('TagResource');
}
/**
* Grants permission to Test a telemetry pipeline configuration with sample data
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_TestTelemetryPipeline.html
*/
toTestTelemetryPipeline() {
return this.to('TestTelemetryPipeline');
}
/**
* Grants permission to remove the specified tags from the specified resource
*
* Access Level: Tagging
*
* Possible conditions:
* - .ifAwsTagKeys()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_UntagResource.html
*/
toUntagResource() {
return this.to('UntagResource');
}
/**
* Grants permission to update the specified centralization rule for the organization
*
* Access Level: Write
*
* Possible conditions:
* - .ifCentralizationSourceRegions()
* - .ifCentralizationDestinationRegion()
* - .ifCentralizationBackupRegion()
* - .ifCentralizationRuleName()
* - .ifCentralizationSourceId()
* - .ifCentralizationDestinationAccount()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_UpdateCentralizationRuleForOrganization.html
*/
toUpdateCentralizationRuleForOrganization() {
return this.to('UpdateCentralizationRuleForOrganization');
}
/**
* Grants permission to Update the telemetry pipeline with the specified arn
*
* Access Level: Write
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_UpdateTelemetryPipeline.html
*/
toUpdateTelemetryPipeline() {
return this.to('UpdateTelemetryPipeline');
}
/**
* Grants permission to update the specified telemetry rule for the account
*
* Access Level: Write
*
* Possible conditions:
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_UpdateTelemetryRule.html
*/
toUpdateTelemetryRule() {
return this.to('UpdateTelemetryRule');
}
/**
* Grants permission to update the specified telemetry rule for the organization
*
* Access Level: Write
*
* Possible conditions:
* - .ifTargetRegions()
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_UpdateTelemetryRuleForOrganization.html
*/
toUpdateTelemetryRuleForOrganization() {
return this.to('UpdateTelemetryRuleForOrganization');
}
/**
* Grants permission to Validate a telemetry pipeline configuration
*
* Access Level: Read
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_ValidateTelemetryPipelineConfiguration.html
*/
toValidateTelemetryPipelineConfiguration() {
return this.to('ValidateTelemetryPipelineConfiguration');
}
/**
* Adds a resource of type telemetry-rule to the statement
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_TelemetryRule.html
*
* @param telemetryRuleName - Identifier for the telemetryRuleName.
* @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()
*/
onTelemetryRule(telemetryRuleName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:observabilityadmin:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:telemetry-rule/${telemetryRuleName}`);
}
/**
* Adds a resource of type organization-telemetry-rule to the statement
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_TelemetryRule.html
*
* @param telemetryRuleName - Identifier for the telemetryRuleName.
* @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()
*/
onOrganizationTelemetryRule(telemetryRuleName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:observabilityadmin:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:organization-telemetry-rule/${telemetryRuleName}`);
}
/**
* Adds a resource of type organization-centralization-rule to the statement
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_CentralizationRule.html
*
* @param centralizationRuleName - Identifier for the centralizationRuleName.
* @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()
*/
onOrganizationCentralizationRule(centralizationRuleName, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:observabilityadmin:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:organization-centralization-rule/${centralizationRuleName}`);
}
/**
* Adds a resource of type telemetry-pipeline to the statement
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_TelemetryPipeline.html
*
* @param telemetryPipelineIdentifier - Identifier for the telemetryPipelineIdentifier.
* @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()
*/
onTelemetryPipeline(telemetryPipelineIdentifier, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:observabilityadmin:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:telemetry-pipeline/${telemetryPipelineIdentifier}`);
}
/**
* Adds a resource of type s3tableintegration to the statement
*
* https://docs.aws.amazon.com/cloudwatch/latest/observabilityadmin/API_S3TableIntegration.html
*
* @param s3TableIntegrationIdentifier - Identifier for the s3TableIntegrationIdentifier.
* @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()
*/
onS3tableintegration(s3TableIntegrationIdentifier, account, region, partition) {
return this.on(`arn:${partition ?? this.defaultPartition}:observabilityadmin:${region ?? this.defaultRegion}:${account ?? this.defaultAccount}:s3tableintegration/${s3TableIntegrationIdentifier}`);
}
/**
* 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:
* - .toCreateCentralizationRuleForOrganization()
* - .toCreateS3TableIntegration()
* - .toCreateTelemetryPipeline()
* - .toCreateTelemetryRule()
* - .toCreateTelemetryRuleForOrganization()
* - .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 resource types:
* - telemetry-rule
* - organization-telemetry-rule
* - organization-centralization-rule
* - telemetry-pipeline
* - s3tableintegration
*
* @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:
* - .toCreateCentralizationRuleForOrganization()
* - .toCreateS3TableIntegration()
* - .toCreateTelemetryPipeline()
* - .toCreateTelemetryRule()
* - .toCreateTelemetryRuleForOrganization()
* - .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 the backup region that is passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-centralizationbackupregion
*
* Applies to actions:
* - .toCreateCentralizationRuleForOrganization()
* - .toUpdateCentralizationRuleForOrganization()
*
* @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`
*/
ifCentralizationBackupRegion(value, operator) {
return this.if(`CentralizationBackupRegion`, value, operator ?? 'StringLike');
}
/**
* Filters access by the destination account that is passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-centralizationdestinationaccount
*
* Applies to actions:
* - .toCreateCentralizationRuleForOrganization()
* - .toUpdateCentralizationRuleForOrganization()
*
* @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`
*/
ifCentralizationDestinationAccount(value, operator) {
return this.if(`CentralizationDestinationAccount`, value, operator ?? 'StringLike');
}
/**
* Filters access by the destination region that is passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-centralizationdestinationregion
*
* Applies to actions:
* - .toCreateCentralizationRuleForOrganization()
* - .toUpdateCentralizationRuleForOrganization()
*
* @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`
*/
ifCentralizationDestinationRegion(value, operator) {
return this.if(`CentralizationDestinationRegion`, value, operator ?? 'StringLike');
}
/**
* Filters access by the name of the centralization rule that is passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-centralizationrulename
*
* Applies to actions:
* - .toCreateCentralizationRuleForOrganization()
* - .toDeleteCentralizationRuleForOrganization()
* - .toGetCentralizationRuleForOrganization()
* - .toUpdateCentralizationRuleForOrganization()
*
* @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`
*/
ifCentralizationRuleName(value, operator) {
return this.if(`CentralizationRuleName`, value, operator ?? 'StringLike');
}
/**
* Filters access by the source account, organizational unit, or organization IDs that is passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-centralizationsourceid
*
* Applies to actions:
* - .toCreateCentralizationRuleForOrganization()
* - .toUpdateCentralizationRuleForOrganization()
*
* @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`
*/
ifCentralizationSourceId(value, operator) {
return this.if(`CentralizationSourceId`, value, operator ?? 'StringLike');
}
/**
* Filters access by the source regions that are passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-centralizationsourceregions
*
* Applies to actions:
* - .toCreateCentralizationRuleForOrganization()
* - .toUpdateCentralizationRuleForOrganization()
*
* @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`
*/
ifCentralizationSourceRegions(value, operator) {
return this.if(`CentralizationSourceRegions`, value, operator ?? 'StringLike');
}
/**
* Filters access by the source type that is passed in the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-sourcetype
*
* Applies to actions:
* - .toCreateTelemetryPipeline()
*
* @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`
*/
ifSourceType(value, operator) {
return this.if(`SourceType`, value, operator ?? 'StringLike');
}
/**
* Filters access by the regions that are targetted by the request
*
* https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/reference_policies_condition-keys.htmlcondition-keys-observabilityadmin.html#condition-keys-targetregions
*
* Applies to actions:
* - .toCreateTelemetryRule()
* - .toCreateTelemetryRuleForOrganization()
* - .toListResourceTelemetry()
* - .toListResourceTelemetryForOrganization()
* - .toStartTelemetryEvaluation()
* - .toStartTelemetryEvaluationForOrganization()
* - .toUpdateTelemetryRule()
* - .toUpdateTelemetryRuleForOrganization()
*
* @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`
*/
ifTargetRegions(value, operator) {
return this.if(`TargetRegions`, value, operator ?? 'StringLike');
}
/**
* Statement provider for service [observabilityadmin](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchobservabilityadminservice.html).
*
*/
constructor(props) {
super(props);
this.servicePrefix = 'observabilityadmin';
this.accessLevelList = {
Write: [
'CreateCentralizationRuleForOrganization',
'CreateS3TableIntegration',
'CreateTelemetryPipeline',
'CreateTelemetryRule',
'CreateTelemetryRuleForOrganization',
'DeleteCentralizationRuleForOrganization',
'DeleteS3TableIntegration',
'DeleteTelemetryPipeline',
'DeleteTelemetryRule',
'DeleteTelemetryRuleForOrganization',
'StartTelemetryEnrichment',
'StartTelemetryEvaluation',
'StartTelemetryEvaluationForOrganization',
'StopTelemetryEnrichment',
'StopTelemetryEvaluation',
'StopTelemetryEvaluationForOrganization',
'UpdateCentralizationRuleForOrganization',
'UpdateTelemetryPipeline',
'UpdateTelemetryRule',
'UpdateTelemetryRuleForOrganization'
],
Read: [
'GetCentralizationRuleForOrganization',
'GetS3TableIntegration',
'GetTelemetryEnrichmentStatus',
'GetTelemetryEvaluationStatus',
'GetTelemetryEvaluationStatusForOrganization',
'GetTelemetryPipeline',
'GetTelemetryRule',
'GetTelemetryRuleForOrganization',
'ListResourceTelemetry',
'ListResourceTelemetryForOrganization',
'TestTelemetryPipeline',
'ValidateTelemetryPipelineConfiguration'
],
List: [
'ListCentralizationRulesForOrganization',
'ListS3TableIntegrations',
'ListTagsForResource',
'ListTelemetryPipelines',
'ListTelemetryRules',
'ListTelemetryRulesForOrganization'
],
Tagging: [
'TagResource',
'UntagResource'
]
};
}
}
exports.Observabilityadmin = Observabilityadmin;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWR3YXRjaG9ic2VydmFiaWxpdHlhZG1pbnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZHdhdGNob2JzZXJ2YWJpbGl0eWFkbWluc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBeUQ7QUFHekQ7Ozs7R0FJRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsd0JBQWU7SUFHckQ7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSSx5Q0FBeUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSSwwQkFBMEI7UUFDL0IsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0kseUJBQXlCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLHFCQUFxQjtRQUMxQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxvQ0FBb0M7UUFDekMsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLHlDQUF5QztRQUM5QyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSx5QkFBeUI7UUFDOUIsT0FBTyxJQUFJLENBQUMsRUFBRSxD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Q3JCLHdCQUF3QjtnQkFDeEIsb0JBQW9CO2dCQUNwQixtQ0FBbUM7YUFDcEM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsYUFBYTtnQkFDYixlQUFlO2FBQ2hCO1NBQ0YsQ0FBQztJQWtTRixDQUFDO0NBQ0Y7QUFuMUJELGdEQW0xQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY2Nlc3NMZXZlbExpc3QgfSBmcm9tICcuLi8uLi9zaGFyZWQvYWNjZXNzLWxldmVsJztcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCwgT3BlcmF0b3IgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBTdGF0ZW1lbnQgcHJvdmlkZXIgZm9yIHNlcnZpY2UgW29ic2VydmFiaWxpdHlhZG1pbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3NlcnZpY2UtYXV0aG9yaXphdGlvbi9sYXRlc3QvcmVmZXJlbmNlL2xpc3RfYW1hem9uY2xvdWR3YXRjaG9ic2VydmFiaWxpdHlhZG1pbnNlcnZpY2UuaHRtbCkuXG4gKlxuICogQHBhcmFtIHNpZCBbU0lEXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvcmVmZXJlbmNlX3BvbGljaWVzX2VsZW1lbnRzX3NpZC5odG1sKSBvZiB0aGUgc3RhdGVtZW50XG4gKi9cbmV4cG9ydCBjbGFzcyBPYnNlcnZhYmlsaXR5YWRtaW4gZXh0ZW5kcyBQb2xpY3lTdGF0ZW1lbnQge1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICdvYnNlcnZhYmlsaXR5YWRtaW4nO1xuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIGNlbnRyYWxpemF0aW9uIHJ1bGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZkNlbnRyYWxpemF0aW9uU291cmNlUmVnaW9ucygpXG4gICAqIC0gLmlmQ2VudHJhbGl6YXRpb25EZXN0aW5hdGlvblJlZ2lvbigpXG4gICAqIC0gLmlmQ2VudHJhbGl6YXRpb25CYWNrdXBSZWdpb24oKVxuICAgKiAtIC5pZkNlbnRyYWxpemF0aW9uUnVsZU5hbWUoKVxuICAgKiAtIC5pZkNlbnRyYWxpemF0aW9uU291cmNlSWQoKVxuICAgKiAtIC5pZkNlbnRyYWxpemF0aW9uRGVzdGluYXRpb25BY2NvdW50KClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3Vkd2F0Y2gvbGF0ZXN0L29ic2VydmFiaWxpdHlhZG1pbi9BUElfQ3JlYXRlQ2VudHJhbGl6YXRpb25SdWxlRm9yT3JnYW5pemF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZUNlbnRyYWxpemF0aW9uUnVsZUZvck9yZ2FuaXphdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlQ2VudHJhbGl6YXRpb25SdWxlRm9yT3JnYW5pemF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgbmV3IHMzIHRhYmxlIGludGVncmF0aW9uIHdpdGggdGhlIHNwZWNpZmllZCBjb25maWd1cmF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3Vkd2F0Y2gvbGF0ZXN0L29ic2VydmFiaWxpdHlhZG1pbi9BUElfQ3JlYXRlUzNUYWJsZUludGVncmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVMzVGFibGVJbnRlZ3JhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnQ3JlYXRlUzNUYWJsZUludGVncmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gY3JlYXRlIGEgbmV3IHRlbGVtZXRyeSBwaXBlbGluZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBhbmQgY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIFBvc3NpYmxlIGNvbmRpdGlvbnM6XG4gICAqIC0gLmlmQXdzVGFnS2V5cygpXG4gICAqIC0gLmlmQXdzUmVxdWVzdFRhZygpXG4gICAqIC0gLmlmU291cmNlVHlwZSgpXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZHdhdGNoL2xhdGVzdC9vYnNlcnZhYmlsaXR5YWRtaW4vQVBJX0NyZWF0ZVRlbGVtZXRyeVBpcGVsaW5lLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVRlbGVtZXRyeVBpcGVsaW5lKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVUZWxlbWV0cnlQaXBlbGluZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGNyZWF0ZSBhIG5ldyB0ZWxlbWV0cnkgcnVsZSB3aXRoIHRoZSBzcGVjaWZpZWQgbmFtZSBmb3IgdGhlIGFjY291bnRcbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBXcml0ZVxuICAgKlxuICAgKiBQb3NzaWJsZSBjb25kaXRpb25zOlxuICAgKiAtIC5pZkF3c1RhZ0tleXMoKVxuICAgKiAtIC5pZkF3c1JlcXVlc3RUYWcoKVxuICAgKiAtIC5pZlRhcmdldFJlZ2lvbnMoKVxuICAgKlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWR3YXRjaC9sYXRlc3Qvb2JzZXJ2YWJpbGl0eWFkbWluL0FQSV9DcmVhdGVUZWxlbWV0cnlSdWxlLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0NyZWF0ZVRlbGVtZXRyeVJ1bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudG8oJ0NyZWF0ZVRlbGVtZXRyeVJ1bGUnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgcGVybWlzc2lvbiB0byBjcmVhdGUgYSBuZXcgb3JnYW5pemF0aW9uIHRlbGVtZXRyeSBydWxlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGZvciB0aGUgb3JnYW5pemF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZBd3NUYWdLZXlzKClcbiAgICogLSAuaWZBd3NSZXF1ZXN0VGFnKClcbiAgICogLSAuaWZUYXJnZXRSZWdpb25zKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3Vkd2F0Y2gvbGF0ZXN0L29ic2VydmFiaWxpdHlhZG1pbi9BUElfQ3JlYXRlVGVsZW1ldHJ5UnVsZUZvck9yZ2FuaXphdGlvbi5odG1sXG4gICAqL1xuICBwdWJsaWMgdG9DcmVhdGVUZWxlbWV0cnlSdWxlRm9yT3JnYW5pemF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdDcmVhdGVUZWxlbWV0cnlSdWxlRm9yT3JnYW5pemF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIGFuIG9yZ2FuaXphdGlvbiBjZW50cmFsaXphdGlvbiBydWxlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGZvciB0aGUgb3JnYW5pemF0aW9uXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogUG9zc2libGUgY29uZGl0aW9uczpcbiAgICogLSAuaWZDZW50cmFsaXphdGlvblJ1bGVOYW1lKClcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3Vkd2F0Y2gvbGF0ZXN0L29ic2VydmFiaWxpdHlhZG1pbi9BUElfRGVsZXRlQ2VudHJhbGl6YXRpb25SdWxlRm9yT3JnYW5pemF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZUNlbnRyYWxpemF0aW9uUnVsZUZvck9yZ2FuaXphdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlQ2VudHJhbGl6YXRpb25SdWxlRm9yT3JnYW5pemF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSBzMyB0YWJsZSBpbnRlZ3JhdGlvbiB3aXRoIHRoZSBzcGVjaWZpZWQgYXJuXG4gICAqXG4gICAqIEFjY2VzcyBMZXZlbDogV3JpdGVcbiAgICpcbiAgICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nsb3Vkd2F0Y2gvbGF0ZXN0L29ic2VydmFiaWxpdHlhZG1pbi9BUElfRGVsZXRlUzNUYWJsZUludGVncmF0aW9uLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVMzVGFibGVJbnRlZ3JhdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlUzNUYWJsZUludGVncmF0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnRzIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZSB0ZWxlbWV0cnkgcGlwZWxpbmUgd2l0aCB0aGUgc3BlY2lmaWVkIGFyblxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZHdhdGNoL2xhdGVzdC9vYnNlcnZhYmlsaXR5YWRtaW4vQVBJX0RlbGV0ZVRlbGVtZXRyeVBpcGVsaW5lLmh0bWxcbiAgICovXG4gIHB1YmxpYyB0b0RlbGV0ZVRlbGVtZXRyeVBpcGVsaW5lKCkge1xuICAgIHJldHVybiB0aGlzLnRvKCdEZWxldGVUZWxlbWV0cnlQaXBlbGluZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhIHRlbGVtZXRyeSBydWxlIHdpdGggdGhlIHNwZWNpZmllZCBuYW1lIGZvciB0aGUgYWNjb3VudFxuICAgKlxuICAgKiBBY2Nlc3MgTGV2ZWw6IFdyaXRlXG4gICAqXG4gICAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jbG91ZHdhdGNoL2xhdGVzdC9vYnNlcnZhYmlsaXR5YWRtaW4vQVBJX0RlbGV0ZVRlbGVtZXRyeVJ1bGUuaHRtbFxuICAgKi9cbiAgcHVibGljIHRvRGVsZXRlVGVsZW1ldHJ5UnVsZSgpIHtcbiAgICByZXR1cm4gdGhpcy50bygnRGVsZXRlVGVsZW1ldHJ5UnVsZScpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBwZXJtaXNzaW9uIHRvIGRlbGV0ZSBhbiBvcmdhbml6YXRpb24gdGVsZW1ldHJ5IHJ1bGUgd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUgZm9yIHRoZSBvcmdhbml6YXRpb25cbiAgICpcbiAgICogQWNjZXNzIExldmVsOiBX