packages/aws-cdk-lib/aws-config/lib/rule.ts (988 lines of code) (raw):
import { createHash } from 'crypto';
import { Construct } from 'constructs';
import { CfnConfigRule } from './config.generated';
import * as events from '../../aws-events';
import * as iam from '../../aws-iam';
import * as lambda from '../../aws-lambda';
import { IResource, Lazy, Resource, Stack, ValidationError } from '../../core';
import { addConstructMetadata } from '../../core/lib/metadata-resource';
/**
* Interface representing an AWS Config rule
*/
export interface IRule extends IResource {
/**
* The name of the rule.
*
* @attribute
*/
readonly configRuleName: string;
/**
* Defines an EventBridge event rule which triggers for rule events. Use
* `rule.addEventPattern(pattern)` to specify a filter.
*/
onEvent(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a EventBridge event rule which triggers for rule compliance events.
*/
onComplianceChange(id: string, options?: events.OnEventOptions): events.Rule;
/**
* Defines a EventBridge event rule which triggers for rule re-evaluation status events.
*/
onReEvaluationStatus(id: string, options?: events.OnEventOptions): events.Rule;
}
/**
* The mode of evaluation for the rule.
*/
export class EvaluationMode {
/**
* Evaluate resources that have already been deployed
*/
public static readonly DETECTIVE = new EvaluationMode(['DETECTIVE']);
/**
* Evaluate resources before they have been deployed
*/
public static readonly PROACTIVE = new EvaluationMode(['PROACTIVE']);
/**
* Evaluate resources that have already been deployed and before they have been deployed
*/
public static readonly DETECTIVE_AND_PROACTIVE = new EvaluationMode(['DETECTIVE', 'PROACTIVE']);
/**
* @param modes The modes of evaluation for the rule
*/
protected constructor(public readonly modes: string[]) {}
}
/**
* A new or imported rule.
*/
abstract class RuleBase extends Resource implements IRule {
public abstract readonly configRuleName: string;
/**
* Defines an EventBridge event rule which triggers for rule events. Use
* `rule.addEventPattern(pattern)` to specify a filter.
*/
public onEvent(id: string, options: events.OnEventOptions = {}) {
const rule = new events.Rule(this, id, options);
rule.addEventPattern({
source: ['aws.config'],
detail: {
configRuleName: [this.configRuleName],
},
});
rule.addTarget(options.target);
return rule;
}
/**
* Defines an EventBridge event rule which triggers for rule compliance events.
*/
public onComplianceChange(id: string, options: events.OnEventOptions = {}): events.Rule {
const rule = this.onEvent(id, options);
rule.addEventPattern({
detailType: ['Config Rules Compliance Change'],
});
return rule;
}
/**
* Defines an EventBridge event rule which triggers for rule re-evaluation status events.
*/
public onReEvaluationStatus(id: string, options: events.OnEventOptions = {}): events.Rule {
const rule = this.onEvent(id, options);
rule.addEventPattern({
detailType: ['Config Rules Re-evaluation Status'],
});
return rule;
}
}
/**
* A new managed or custom rule.
*/
abstract class RuleNew extends RuleBase {
/**
* Imports an existing rule.
*
* @param configRuleName the name of the rule
*/
public static fromConfigRuleName(scope: Construct, id: string, configRuleName: string): IRule {
class Import extends RuleBase {
public readonly configRuleName = configRuleName;
}
return new Import(scope, id);
}
/**
* The arn of the rule.
*/
public abstract readonly configRuleArn: string;
/**
* The id of the rule.
*/
public abstract readonly configRuleId: string;
/**
* The compliance status of the rule.
*/
public abstract readonly configRuleComplianceType: string;
protected ruleScope?: RuleScope;
protected isManaged?: boolean;
protected isCustomWithChanges?: boolean;
}
/**
* Determines which resources trigger an evaluation of an AWS Config rule.
*/
export class RuleScope {
/** restricts scope of changes to a specific resource type or resource identifier */
public static fromResource(resourceType: ResourceType, resourceId?: string) {
return new RuleScope(resourceId, [resourceType]);
}
/** restricts scope of changes to specific resource types */
public static fromResources(resourceTypes: ResourceType[]) {
return new RuleScope(undefined, resourceTypes);
}
/** restricts scope of changes to a specific tag */
public static fromTag(key: string, value?: string) {
return new RuleScope(undefined, undefined, key, value);
}
/** Resource types that will trigger evaluation of a rule */
public readonly resourceTypes?: ResourceType[];
/** ID of the only AWS resource that will trigger evaluation of a rule */
public readonly resourceId?: string;
/** tag key applied to resources that will trigger evaluation of a rule */
public readonly key?: string;
/** tag value applied to resources that will trigger evaluation of a rule */
public readonly value?: string;
private constructor(resourceId?: string, resourceTypes?: ResourceType[], tagKey?: string, tagValue?: string) {
this.resourceTypes = resourceTypes;
this.resourceId = resourceId;
this.key = tagKey;
this.value = tagValue;
}
}
/**
* The maximum frequency at which the AWS Config rule runs evaluations.
*/
export enum MaximumExecutionFrequency {
/**
* 1 hour.
*/
ONE_HOUR = 'One_Hour',
/**
* 3 hours.
*/
THREE_HOURS = 'Three_Hours',
/**
* 6 hours.
*/
SIX_HOURS = 'Six_Hours',
/**
* 12 hours.
*/
TWELVE_HOURS = 'Twelve_Hours',
/**
* 24 hours.
*/
TWENTY_FOUR_HOURS = 'TwentyFour_Hours',
}
/**
* Construction properties for a new rule.
*/
export interface RuleProps {
/**
* A name for the AWS Config rule.
*
* @default - CloudFormation generated name
*/
readonly configRuleName?: string;
/**
* A description about this AWS Config rule.
*
* @default - No description
*/
readonly description?: string;
/**
* Input parameter values that are passed to the AWS Config rule.
*
* @default - No input parameters
*/
readonly inputParameters?: { [key: string]: any };
/**
* The maximum frequency at which the AWS Config rule runs evaluations.
*
* @default MaximumExecutionFrequency.TWENTY_FOUR_HOURS
*/
readonly maximumExecutionFrequency?: MaximumExecutionFrequency;
/**
* Defines which resources trigger an evaluation for an AWS Config rule.
*
* @default - evaluations for the rule are triggered when any resource in the recording group changes.
*/
readonly ruleScope?: RuleScope;
/**
* The modes the AWS Config rule can be evaluated in. The valid values are distinct objects.
*
* @default - Detective evaluation mode only
*/
readonly evaluationModes?: EvaluationMode;
}
/**
* Construction properties for a ManagedRule.
*/
export interface ManagedRuleProps extends RuleProps {
/**
* The identifier of the AWS managed rule.
*
* @see https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html
*/
readonly identifier: string;
}
/**
* A new managed rule.
*
* @resource AWS::Config::ConfigRule
*/
export class ManagedRule extends RuleNew {
/** @attribute */
public readonly configRuleName: string;
/** @attribute */
public readonly configRuleArn: string;
/** @attribute */
public readonly configRuleId: string;
/** @attribute */
public readonly configRuleComplianceType: string;
constructor(scope: Construct, id: string, props: ManagedRuleProps) {
super(scope, id, {
physicalName: props.configRuleName,
});
// Enhanced CDK Analytics Telemetry
addConstructMetadata(this, props);
this.ruleScope = props.ruleScope;
const rule = new CfnConfigRule(this, 'Resource', {
configRuleName: this.physicalName,
description: props.description,
inputParameters: props.inputParameters,
maximumExecutionFrequency: props.maximumExecutionFrequency,
scope: Lazy.any({ produce: () => renderScope(this.ruleScope) }), // scope can use values such as stack id (see CloudFormationStackDriftDetectionCheck)
source: {
owner: 'AWS',
sourceIdentifier: props.identifier,
},
evaluationModes: props.evaluationModes?.modes.map((mode) => ({
mode,
})),
});
this.configRuleName = rule.ref;
this.configRuleArn = rule.attrArn;
this.configRuleId = rule.attrConfigRuleId;
this.configRuleComplianceType = rule.attrComplianceType;
this.isManaged = true;
}
}
/**
* The source of the event, such as an AWS service,
* that triggers AWS Config to evaluate your AWS resources.
*/
enum EventSource {
/* from aws.config */
AWS_CONFIG = 'aws.config',
}
/**
* The type of notification that triggers AWS Config to run an evaluation for a rule.
*/
enum MessageType {
/**
* Triggers an evaluation when AWS Config delivers a configuration item as a result of a resource change.
*/
CONFIGURATION_ITEM_CHANGE_NOTIFICATION = 'ConfigurationItemChangeNotification',
/**
* Triggers an evaluation when AWS Config delivers an oversized configuration item.
*/
OVERSIZED_CONFIGURATION_ITEM_CHANGE_NOTIFICATION = 'OversizedConfigurationItemChangeNotification',
/**
* Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.
*/
SCHEDULED_NOTIFICATION = 'ScheduledNotification',
/**
* Triggers a periodic evaluation when AWS Config delivers a configuration snapshot.
*/
CONFIGURATION_SNAPSHOT_DELIVERY_COMPLETED = 'ConfigurationSnapshotDeliveryCompleted',
}
/**
* Construction properties for a CustomRule.
*/
interface SourceDetail {
/**
* The source of the event, such as an AWS service,
* that triggers AWS Config to evaluate your AWS resources.
*
*/
readonly eventSource: EventSource;
/**
* The frequency at which you want AWS Config to run evaluations for a custom rule with a periodic trigger.
*/
readonly maximumExecutionFrequency?: MaximumExecutionFrequency;
/**
* The type of notification that triggers AWS Config to run an evaluation for a rule.
*/
readonly messageType: MessageType;
}
/**
* Construction properties for a CustomRule.
*/
export interface CustomRuleProps extends RuleProps {
/**
* The Lambda function to run.
*/
readonly lambdaFunction: lambda.IFunction;
/**
* Whether to run the rule on configuration changes.
*
* @default false
*/
readonly configurationChanges?: boolean;
/**
* Whether to run the rule on a fixed frequency.
*
* @default false
*/
readonly periodic?: boolean;
}
/**
* A new custom rule.
*
* @resource AWS::Config::ConfigRule
*/
export class CustomRule extends RuleNew {
/** @attribute */
public readonly configRuleName: string;
/** @attribute */
public readonly configRuleArn: string;
/** @attribute */
public readonly configRuleId: string;
/** @attribute */
public readonly configRuleComplianceType: string;
constructor(scope: Construct, id: string, props: CustomRuleProps) {
super(scope, id, {
physicalName: props.configRuleName,
});
// Enhanced CDK Analytics Telemetry
addConstructMetadata(this, props);
if (!props.configurationChanges && !props.periodic) {
throw new ValidationError('At least one of `configurationChanges` or `periodic` must be set to true.', this);
}
const sourceDetails: SourceDetail[] = [];
this.ruleScope = props.ruleScope;
if (props.configurationChanges) {
sourceDetails.push({
eventSource: EventSource.AWS_CONFIG,
messageType: MessageType.CONFIGURATION_ITEM_CHANGE_NOTIFICATION,
});
sourceDetails.push({
eventSource: EventSource.AWS_CONFIG,
messageType: MessageType.OVERSIZED_CONFIGURATION_ITEM_CHANGE_NOTIFICATION,
});
}
if (props.periodic) {
sourceDetails.push({
eventSource: EventSource.AWS_CONFIG,
maximumExecutionFrequency: props.maximumExecutionFrequency,
messageType: MessageType.SCHEDULED_NOTIFICATION,
});
}
const hash = createHash('sha256')
.update(JSON.stringify({
/* eslint-disable-next-line @typescript-eslint/unbound-method *//* REMOVEME: this is a latent bug */
fnName: props.lambdaFunction.functionName.toString,
accountId: Stack.of(this).resolve(this.env.account),
region: Stack.of(this).resolve(this.env.region),
}), 'utf8')
.digest('base64');
const customRulePermissionId: string = `CustomRulePermission${hash}`;
if (!props.lambdaFunction.permissionsNode.tryFindChild(customRulePermissionId)) {
props.lambdaFunction.addPermission(customRulePermissionId, {
principal: new iam.ServicePrincipal('config.amazonaws.com'),
sourceAccount: this.env.account,
});
}
if (props.lambdaFunction.role) {
props.lambdaFunction.role.addManagedPolicy(
iam.ManagedPolicy.fromAwsManagedPolicyName('service-role/AWSConfigRulesExecutionRole'),
);
}
// The lambda permission must be created before the rule
this.node.addDependency(props.lambdaFunction);
const rule = new CfnConfigRule(this, 'Resource', {
configRuleName: this.physicalName,
description: props.description,
inputParameters: props.inputParameters,
maximumExecutionFrequency: props.maximumExecutionFrequency,
scope: Lazy.any({ produce: () => renderScope(this.ruleScope) }), // scope can use values such as stack id (see CloudFormationStackDriftDetectionCheck)
source: {
owner: 'CUSTOM_LAMBDA',
sourceDetails,
sourceIdentifier: props.lambdaFunction.functionArn,
},
evaluationModes: props.evaluationModes?.modes.map((mode) => ({
mode,
})),
});
this.configRuleName = rule.ref;
this.configRuleArn = rule.attrArn;
this.configRuleId = rule.attrConfigRuleId;
this.configRuleComplianceType = rule.attrComplianceType;
if (props.configurationChanges) {
this.isCustomWithChanges = true;
}
}
}
/**
* Construction properties for a CustomPolicy.
*/
export interface CustomPolicyProps extends RuleProps {
/**
* The policy definition containing the logic for your AWS Config Custom Policy rule.
*/
readonly policyText: string;
/**
* The boolean expression for enabling debug logging for your AWS Config Custom Policy rule.
*
* @default false
*/
readonly enableDebugLog?: boolean;
}
/**
* A new custom policy.
*
* @resource AWS::Config::ConfigRule
*/
export class CustomPolicy extends RuleNew {
/** @attribute */
public readonly configRuleName: string;
/** @attribute */
public readonly configRuleArn: string;
/** @attribute */
public readonly configRuleId: string;
/** @attribute */
public readonly configRuleComplianceType: string;
constructor(scope: Construct, id: string, props: CustomPolicyProps) {
super(scope, id, {
physicalName: props.configRuleName,
});
// Enhanced CDK Analytics Telemetry
addConstructMetadata(this, props);
if (!props.policyText || [...props.policyText].length === 0) {
throw new ValidationError('Policy Text cannot be empty.', this);
}
if ([...props.policyText].length > 10000) {
throw new ValidationError('Policy Text is limited to 10,000 characters or less.', this);
}
const sourceDetails: SourceDetail[] = [];
this.ruleScope = props.ruleScope;
sourceDetails.push({
eventSource: EventSource.AWS_CONFIG,
messageType: MessageType.CONFIGURATION_ITEM_CHANGE_NOTIFICATION,
});
sourceDetails.push({
eventSource: EventSource.AWS_CONFIG,
messageType: MessageType.OVERSIZED_CONFIGURATION_ITEM_CHANGE_NOTIFICATION,
});
const rule = new CfnConfigRule(this, 'Resource', {
configRuleName: this.physicalName,
description: props.description,
inputParameters: props.inputParameters,
scope: Lazy.any({ produce: () => renderScope(this.ruleScope) }), // scope can use values such as stack id (see CloudFormationStackDriftDetectionCheck)
source: {
owner: 'CUSTOM_POLICY',
sourceDetails,
customPolicyDetails: {
enableDebugLogDelivery: props.enableDebugLog,
policyRuntime: 'guard-2.x.x',
policyText: props.policyText,
},
},
evaluationModes: props.evaluationModes?.modes.map((mode) => ({
mode,
})),
});
this.configRuleName = rule.ref;
this.configRuleArn = rule.attrArn;
this.configRuleId = rule.attrConfigRuleId;
this.configRuleComplianceType = rule.attrComplianceType;
this.isCustomWithChanges = true;
}
}
/**
* Managed rules that are supported by AWS Config.
* @see https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html
*/
export class ManagedRuleIdentifiers {
/**
* Checks that the inline policies attached to your AWS Identity and Access Management users,
* roles, and groups do not allow blocked actions on all AWS Key Management Service keys.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-inline-policy-blocked-kms-actions.html
*/
public static readonly IAM_INLINE_POLICY_BLOCKED_KMS_ACTIONS = 'IAM_INLINE_POLICY_BLOCKED_KMS_ACTIONS';
/**
* Checks that the managed AWS Identity and Access Management policies that you create do not
* allow blocked actions on all AWS AWS KMS keys.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-customer-policy-blocked-kms-actions.html
*/
public static readonly IAM_CUSTOMER_POLICY_BLOCKED_KMS_ACTIONS = 'IAM_CUSTOMER_POLICY_BLOCKED_KMS_ACTIONS';
/**
* Checks whether the active access keys are rotated within the number of days specified in maxAccessKeyAge.
* @see https://docs.aws.amazon.com/config/latest/developerguide/access-keys-rotated.html
*/
public static readonly ACCESS_KEYS_ROTATED = 'ACCESS_KEYS_ROTATED';
/**
* Checks whether AWS account is part of AWS Organizations.
* @see https://docs.aws.amazon.com/config/latest/developerguide/account-part-of-organizations.html
*/
public static readonly ACCOUNT_PART_OF_ORGANIZATIONS = 'ACCOUNT_PART_OF_ORGANIZATIONS';
/**
* Checks whether ACM Certificates in your account are marked for expiration within the specified number of days.
* @see https://docs.aws.amazon.com/config/latest/developerguide/acm-certificate-expiration-check.html
*/
public static readonly ACM_CERTIFICATE_EXPIRATION_CHECK = 'ACM_CERTIFICATE_EXPIRATION_CHECK';
/**
* Checks if an Application Load Balancer (ALB) is configured with a user defined desync mitigation mode.
* @see https://docs.aws.amazon.com/config/latest/developerguide/alb-desync-mode-check.html
*/
public static readonly ALB_DESYNC_MODE_CHECK = 'ALB_DESYNC_MODE_CHECK';
/**
* Checks if rule evaluates Application Load Balancers (ALBs) to ensure they are configured to drop http headers.
* @see https://docs.aws.amazon.com/config/latest/developerguide/alb-http-drop-invalid-header-enabled.html
*/
public static readonly ALB_HTTP_DROP_INVALID_HEADER_ENABLED = 'ALB_HTTP_DROP_INVALID_HEADER_ENABLED';
/**
* Checks whether HTTP to HTTPS redirection is configured on all HTTP listeners of Application Load Balancer.
* @see https://docs.aws.amazon.com/config/latest/developerguide/alb-http-to-https-redirection-check.html
*/
public static readonly ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK = 'ALB_HTTP_TO_HTTPS_REDIRECTION_CHECK';
/**
* Checks if Web Application Firewall (WAF) is enabled on Application Load Balancers (ALBs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/alb-waf-enabled.html
*/
public static readonly ALB_WAF_ENABLED = 'ALB_WAF_ENABLED';
/**
* Checks if Amazon API Gateway V2 stages have access logging enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gwv2-access-logs-enabled.html
*/
public static readonly API_GWV2_ACCESS_LOGS_ENABLED = 'API_GWV2_ACCESS_LOGS_ENABLED';
/**
* Checks if Amazon API Gatewayv2 API routes have an authorization type set.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gwv2-authorization-type-configured.html
*/
public static readonly API_GWV2_AUTHORIZATION_TYPE_CONFIGURED = 'API_GWV2_AUTHORIZATION_TYPE_CONFIGURED';
/**
* Checks if an Amazon API Gateway API stage is using an AWS WAF Web ACL.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gw-associated-with-waf.html
*/
public static readonly API_GW_ASSOCIATED_WITH_WAF = 'API_GW_ASSOCIATED_WITH_WAF';
/**
* Checks that all methods in Amazon API Gateway stages have caching enabled and encrypted.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gw-cache-enabled-and-encrypted.html
*/
public static readonly API_GW_CACHE_ENABLED_AND_ENCRYPTED = 'API_GW_CACHE_ENABLED_AND_ENCRYPTED';
/**
* Checks that Amazon API Gateway APIs are of the type specified in the rule parameter endpointConfigurationType.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gw-endpoint-type-check.html
*/
public static readonly API_GW_ENDPOINT_TYPE_CHECK = 'API_GW_ENDPOINT_TYPE_CHECK';
/**
* Checks that all methods in Amazon API Gateway stage has logging enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gw-execution-logging-enabled.html
*/
public static readonly API_GW_EXECUTION_LOGGING_ENABLED = 'API_GW_EXECUTION_LOGGING_ENABLED';
/**
* Checks if a REST API stage uses an Secure Sockets Layer (SSL) certificate.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gw-ssl-enabled.html
*/
public static readonly API_GW_SSL_ENABLED = 'API_GW_SSL_ENABLED';
/**
* Checks if AWS X-Ray tracing is enabled on Amazon API Gateway REST APIs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/api-gw-xray-enabled.html
*/
public static readonly API_GW_XRAY_ENABLED = 'API_GW_XRAY_ENABLED';
/**
* Checks whether running instances are using specified AMIs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/approved-amis-by-id.html
*/
public static readonly APPROVED_AMIS_BY_ID = 'APPROVED_AMIS_BY_ID';
/**
* Checks whether running instances are using specified AMIs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/approved-amis-by-tag.html
*/
public static readonly APPROVED_AMIS_BY_TAG = 'APPROVED_AMIS_BY_TAG';
/**
* Checks if a recovery point was created for Amazon Aurora DB clusters.
* @see https://docs.aws.amazon.com/config/latest/developerguide/aurora-last-backup-recovery-point-created.html
*/
public static readonly AURORA_LAST_BACKUP_RECOVERY_POINT_CREATED = 'AURORA_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks if an Amazon Aurora MySQL cluster has backtracking enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/aurora-mysql-backtracking-enabled.html
*/
public static readonly AURORA_MYSQL_BACKTRACKING_ENABLED = 'AURORA_MYSQL_BACKTRACKING_ENABLED';
/**
* Checks if Amazon Aurora DB clusters are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/aurora-resources-protected-by-backup-plan.html
*/
public static readonly AURORA_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'AURORA_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks if Capacity Rebalancing is enabled for Amazon EC2 Auto Scaling groups that use multiple instance types.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-capacity-rebalancing.html
*/
public static readonly AUTOSCALING_CAPACITY_REBALANCING = 'AUTOSCALING_CAPACITY_REBALANCING';
/**
* Checks whether your Auto Scaling groups that are associated with a load balancer are using
* Elastic Load Balancing health checks.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-group-elb-healthcheck-required.html
*/
public static readonly AUTOSCALING_GROUP_ELB_HEALTHCHECK_REQUIRED = 'AUTOSCALING_GROUP_ELB_HEALTHCHECK_REQUIRED';
/**
* Checks whether only IMDSv2 is enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-launchconfig-requires-imdsv2.html
*/
public static readonly AUTOSCALING_LAUNCHCONFIG_REQUIRES_IMDSV2 = 'AUTOSCALING_LAUNCHCONFIG_REQUIRES_IMDSV2';
/**
* Checks the number of network hops that the metadata token can travel.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-launch-config-hop-limit.html
*/
public static readonly AUTOSCALING_LAUNCH_CONFIG_HOP_LIMIT = 'AUTOSCALING_LAUNCH_CONFIG_HOP_LIMIT';
/**
* Checks if Amazon EC2 Auto Scaling groups have public IP addresses enabled through Launch Configurations.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-launch-config-public-ip-disabled.html
*/
public static readonly AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED = 'AUTOSCALING_LAUNCH_CONFIG_PUBLIC_IP_DISABLED';
/**
* Checks if an Amazon Elastic Compute Cloud (EC2) Auto Scaling group is created from an EC2 launch template.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-launch-template.html
*/
public static readonly AUTOSCALING_LAUNCH_TEMPLATE = 'AUTOSCALING_LAUNCH_TEMPLATE';
/**
* Checks if the Auto Scaling group spans multiple Availability Zones.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-multiple-az.html
*/
public static readonly AUTOSCALING_MULTIPLE_AZ = 'AUTOSCALING_MULTIPLE_AZ';
/**
* Checks if an Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling group uses multiple instance types.
* @see https://docs.aws.amazon.com/config/latest/developerguide/autoscaling-multiple-instance-types.html
*/
public static readonly AUTOSCALING_MULTIPLE_INSTANCE_TYPES = 'AUTOSCALING_MULTIPLE_INSTANCE_TYPES';
/**
* Checks if a backup plan has a backup rule that satisfies the required frequency and retention period.
* @see https://docs.aws.amazon.com/config/latest/developerguide/backup-plan-min-frequency-and-min-retention-check.html
*/
public static readonly BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK = 'BACKUP_PLAN_MIN_FREQUENCY_AND_MIN_RETENTION_CHECK';
/**
* Checks if a recovery point is encrypted.
* @see https://docs.aws.amazon.com/config/latest/developerguide/backup-recovery-point-encrypted.html
*/
public static readonly BACKUP_RECOVERY_POINT_ENCRYPTED = 'BACKUP_RECOVERY_POINT_ENCRYPTED';
/**
* Checks if a backup vault has an attached resource-based policy which prevents deletion of recovery points.
* @see https://docs.aws.amazon.com/config/latest/developerguide/backup-recovery-point-manual-deletion-disabled.html
*/
public static readonly BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED = 'BACKUP_RECOVERY_POINT_MANUAL_DELETION_DISABLED';
/**
* Checks if a recovery point expires no earlier than after the specified period.
* @see https://docs.aws.amazon.com/config/latest/developerguide/backup-recovery-point-minimum-retention-check.html
*/
public static readonly BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK = 'BACKUP_RECOVERY_POINT_MINIMUM_RETENTION_CHECK';
/**
* Checks if an AWS Elastic Beanstalk environment is configured for enhanced health reporting.
* @see https://docs.aws.amazon.com/config/latest/developerguide/beanstalk-enhanced-health-reporting-enabled.html
*/
public static readonly BEANSTALK_ENHANCED_HEALTH_REPORTING_ENABLED = 'BEANSTALK_ENHANCED_HEALTH_REPORTING_ENABLED';
/**
* Checks if Classic Load Balancers (CLB) are configured with a user defined Desync mitigation mode.
* @see https://docs.aws.amazon.com/config/latest/developerguide/clb-desync-mode-check.html
*/
public static readonly CLB_DESYNC_MODE_CHECK = 'CLB_DESYNC_MODE_CHECK';
/**
* Checks if a Classic Load Balancer spans multiple Availability Zones (AZs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/clb-multiple-az.html
*/
public static readonly CLB_MULTIPLE_AZ = 'CLB_MULTIPLE_AZ';
/**
* Checks whether an AWS CloudFormation stack's actual configuration differs, or has drifted,
* from it's expected configuration.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-stack-drift-detection-check.html
*/
public static readonly CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK = 'CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK';
/**
* Checks whether your CloudFormation stacks are sending event notifications to an SNS topic.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudformation-stack-notification-check.html
*/
public static readonly CLOUDFORMATION_STACK_NOTIFICATION_CHECK = 'CLOUDFORMATION_STACK_NOTIFICATION_CHECK';
/**
* Checks if Amazon CloudFront distributions are configured to capture information from
* Amazon Simple Storage Service (Amazon S3) server access logs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-accesslogs-enabled.html
*/
public static readonly CLOUDFRONT_ACCESSLOGS_ENABLED = 'CLOUDFRONT_ACCESSLOGS_ENABLED';
/**
* Checks if Amazon CloudFront distributions are associated with either WAF or WAFv2 web access control lists (ACLs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-associated-with-waf.html
*/
public static readonly CLOUDFRONT_ASSOCIATED_WITH_WAF = 'CLOUDFRONT_ASSOCIATED_WITH_WAF';
/**
* Checks if the certificate associated with an Amazon CloudFront distribution is the default Secure Sockets Layer (SSL) certificate.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-custom-ssl-certificate.html
*/
public static readonly CLOUDFRONT_CUSTOM_SSL_CERTIFICATE = 'CLOUDFRONT_CUSTOM_SSL_CERTIFICATE';
/**
* Checks if an Amazon CloudFront distribution is configured to return a specific object that is the default root object.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-default-root-object-configured.html
*/
public static readonly CLOUDFRONT_DEFAULT_ROOT_OBJECT_CONFIGURED = 'CLOUDFRONT_DEFAULT_ROOT_OBJECT_CONFIGURED';
/**
* Checks if CloudFront distributions are using deprecated SSL protocols for HTTPS communication between
* CloudFront edge locations and custom origins.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-no-deprecated-ssl-protocols.html
*/
public static readonly CLOUDFRONT_NO_DEPRECATED_SSL_PROTOCOLS = 'CLOUDFRONT_NO_DEPRECATED_SSL_PROTOCOLS';
/**
* Checks that Amazon CloudFront distribution with Amazon S3 Origin type has Origin Access Identity (OAI) configured.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-origin-access-identity-enabled.html
*/
public static readonly CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ENABLED = 'CLOUDFRONT_ORIGIN_ACCESS_IDENTITY_ENABLED';
/**
* Checks whether an origin group is configured for the distribution of at least 2 origins in the
* origin group for Amazon CloudFront.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-origin-failover-enabled.html
*/
public static readonly CLOUDFRONT_ORIGIN_FAILOVER_ENABLED = 'CLOUDFRONT_ORIGIN_FAILOVER_ENABLED';
/**
* Checks if Amazon CloudFront distributions are using a minimum security policy and cipher suite of TLSv1.2 or
* greater for viewer connections.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-security-policy-check.html
*/
public static readonly CLOUDFRONT_SECURITY_POLICY_CHECK = 'CLOUDFRONT_SECURITY_POLICY_CHECK';
/**
* Checks if Amazon CloudFront distributions are using a custom SSL certificate and are configured
* to use SNI to serve HTTPS requests.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-sni-enabled.html
*/
public static readonly CLOUDFRONT_SNI_ENABLED = 'CLOUDFRONT_SNI_ENABLED';
/**
* Checks if Amazon CloudFront distributions are encrypting traffic to custom origins.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-traffic-to-origin-encrypted.html
*/
public static readonly CLOUDFRONT_TRAFFIC_TO_ORIGIN_ENCRYPTED = 'CLOUDFRONT_TRAFFIC_TO_ORIGIN_ENCRYPTED';
/**
* Checks whether your Amazon CloudFront distributions use HTTPS (directly or via a redirection).
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudfront-viewer-policy-https.html
*/
public static readonly CLOUDFRONT_VIEWER_POLICY_HTTPS = 'CLOUDFRONT_VIEWER_POLICY_HTTPS';
/**
* Checks whether AWS CloudTrail trails are configured to send logs to Amazon CloudWatch Logs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloud-trail-cloud-watch-logs-enabled.html
*/
public static readonly CLOUD_TRAIL_CLOUD_WATCH_LOGS_ENABLED = 'CLOUD_TRAIL_CLOUD_WATCH_LOGS_ENABLED';
/**
* Checks whether AWS CloudTrail is enabled in your AWS account.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-enabled.html
*/
public static readonly CLOUD_TRAIL_ENABLED = 'CLOUD_TRAIL_ENABLED';
/**
* Checks whether AWS CloudTrail is configured to use the server side encryption (SSE)
* AWS Key Management Service (AWS KMS) customer master key (CMK) encryption.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloud-trail-encryption-enabled.html
*/
public static readonly CLOUD_TRAIL_ENCRYPTION_ENABLED = 'CLOUD_TRAIL_ENCRYPTION_ENABLED';
/**
* Checks whether AWS CloudTrail creates a signed digest file with logs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloud-trail-log-file-validation-enabled.html
*/
public static readonly CLOUD_TRAIL_LOG_FILE_VALIDATION_ENABLED = 'CLOUD_TRAIL_LOG_FILE_VALIDATION_ENABLED';
/**
* Checks whether at least one AWS CloudTrail trail is logging Amazon S3 data events for all S3 buckets.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-s3-dataevents-enabled.html
*/
public static readonly CLOUDTRAIL_S3_DATAEVENTS_ENABLED = 'CLOUDTRAIL_S3_DATAEVENTS_ENABLED';
/**
* Checks that there is at least one AWS CloudTrail trail defined with security best practices.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudtrail-security-trail-enabled.html
*/
public static readonly CLOUDTRAIL_SECURITY_TRAIL_ENABLED = 'CLOUDTRAIL_SECURITY_TRAIL_ENABLED';
/**
* Checks whether CloudWatch alarms have at least one alarm action, one INSUFFICIENT_DATA action,
* or one OK action enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudwatch-alarm-action-check.html
*/
public static readonly CLOUDWATCH_ALARM_ACTION_CHECK = 'CLOUDWATCH_ALARM_ACTION_CHECK';
/**
* Checks if Amazon CloudWatch alarms actions are in enabled state.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudwatch-alarm-action-enabled-check.html
*/
public static readonly CLOUDWATCH_ALARM_ACTION_ENABLED_CHECK = 'CLOUDWATCH_ALARM_ACTION_ENABLED_CHECK';
/**
* Checks whether the specified resource type has a CloudWatch alarm for the specified metric.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudwatch-alarm-resource-check.html
*/
public static readonly CLOUDWATCH_ALARM_RESOURCE_CHECK = 'CLOUDWATCH_ALARM_RESOURCE_CHECK';
/**
* Checks whether CloudWatch alarms with the given metric name have the specified settings.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudwatch-alarm-settings-check.html
*/
public static readonly CLOUDWATCH_ALARM_SETTINGS_CHECK = 'CLOUDWATCH_ALARM_SETTINGS_CHECK';
/**
* Checks whether a log group in Amazon CloudWatch Logs is encrypted with
* a AWS Key Management Service (KMS) managed Customer Master Keys (CMK).
* @see https://docs.aws.amazon.com/config/latest/developerguide/cloudwatch-log-group-encrypted.html
*/
public static readonly CLOUDWATCH_LOG_GROUP_ENCRYPTED = 'CLOUDWATCH_LOG_GROUP_ENCRYPTED';
/**
* Checks that key rotation is enabled for each key and matches to the key ID of the
* customer created customer master key (CMK).
* @see https://docs.aws.amazon.com/config/latest/developerguide/cmk-backing-key-rotation-enabled.html
*/
public static readonly CMK_BACKING_KEY_ROTATION_ENABLED = 'CMK_BACKING_KEY_ROTATION_ENABLED';
/**
* Checks if an AWS CodeBuild project has encryption enabled for all of its artifacts.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codebuild-project-artifact-encryption.html
*/
public static readonly CODEBUILD_PROJECT_ARTIFACT_ENCRYPTION = 'CODEBUILD_PROJECT_ARTIFACT_ENCRYPTION';
/**
* Checks if an AWS CodeBuild project environment has privileged mode enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codebuild-project-environment-privileged-check.html
*/
public static readonly CODEBUILD_PROJECT_ENVIRONMENT_PRIVILEGED_CHECK = 'CODEBUILD_PROJECT_ENVIRONMENT_PRIVILEGED_CHECK';
/**
* Checks whether the project contains environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codebuild-project-envvar-awscred-check.html
*/
public static readonly CODEBUILD_PROJECT_ENVVAR_AWSCRED_CHECK = 'CODEBUILD_PROJECT_ENVVAR_AWSCRED_CHECK';
/**
* Checks if an AWS CodeBuild project environment has at least one log option enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codebuild-project-logging-enabled.html
*/
public static readonly CODEBUILD_PROJECT_LOGGING_ENABLED = 'CODEBUILD_PROJECT_LOGGING_ENABLED';
/**
* Checks if a AWS CodeBuild project configured with Amazon S3 Logs has encryption enabled for its logs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codebuild-project-s3-logs-encrypted.html
*/
public static readonly CODEBUILD_PROJECT_S3_LOGS_ENCRYPTED = 'CODEBUILD_PROJECT_S3_LOGS_ENCRYPTED';
/**
* Checks whether the GitHub or Bitbucket source repository URL contains either personal access tokens
* or user name and password.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codebuild-project-source-repo-url-check.html
*/
public static readonly CODEBUILD_PROJECT_SOURCE_REPO_URL_CHECK = 'CODEBUILD_PROJECT_SOURCE_REPO_URL_CHECK';
/**
* Checks if the deployment group is configured with automatic deployment rollback and
* deployment monitoring with alarms attached.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codedeploy-auto-rollback-monitor-enabled.html
*/
public static readonly CODEDEPLOY_AUTO_ROLLBACK_MONITOR_ENABLED = 'CODEDEPLOY_AUTO_ROLLBACK_MONITOR_ENABLED';
/**
* Checks if the deployment group for EC2/On-Premises Compute Platform is configured with
* a minimum healthy hosts fleet percentage or host count greater than or equal to the input threshold.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codedeploy-ec2-minimum-healthy-hosts-configured.html
*/
public static readonly CODEDEPLOY_EC2_MINIMUM_HEALTHY_HOSTS_CONFIGURED = 'CODEDEPLOY_EC2_MINIMUM_HEALTHY_HOSTS_CONFIGURED';
/**
* Checks if the deployment group for Lambda Compute Platform is not using the default deployment configuration.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codedeploy-lambda-allatonce-traffic-shift-disabled.html
*/
public static readonly CODEDEPLOY_LAMBDA_ALLATONCE_TRAFFIC_SHIFT_DISABLED = 'CODEDEPLOY_LAMBDA_ALLATONCE_TRAFFIC_SHIFT_DISABLED';
/**
* Checks whether the first deployment stage of the AWS CodePipeline performs more than one deployment.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codepipeline-deployment-count-check.html
*/
public static readonly CODEPIPELINE_DEPLOYMENT_COUNT_CHECK = 'CODEPIPELINE_DEPLOYMENT_COUNT_CHECK';
/**
* Checks whether each stage in the AWS CodePipeline deploys to more than N times the number of
* the regions the AWS CodePipeline has deployed in all the previous combined stages,
* where N is the region fanout number.
* @see https://docs.aws.amazon.com/config/latest/developerguide/codepipeline-region-fanout-check.html
*/
public static readonly CODEPIPELINE_REGION_FANOUT_CHECK = 'CODEPIPELINE_REGION_FANOUT_CHECK';
/**
* Checks whether Amazon CloudWatch LogGroup retention period is set to specific number of days.
* @see https://docs.aws.amazon.com/config/latest/developerguide/cw-loggroup-retention-period-check.html
*/
public static readonly CW_LOGGROUP_RETENTION_PERIOD_CHECK = 'CW_LOGGROUP_RETENTION_PERIOD_CHECK';
/**
* Checks that DynamoDB Accelerator (DAX) clusters are encrypted.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dax-encryption-enabled.html
*/
public static readonly DAX_ENCRYPTION_ENABLED = 'DAX_ENCRYPTION_ENABLED';
/**
* Checks whether RDS DB instances have backups enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/db-instance-backup-enabled.html
*/
public static readonly RDS_DB_INSTANCE_BACKUP_ENABLED = 'DB_INSTANCE_BACKUP_ENABLED';
/**
* Checks instances for specified tenancy.
* @see https://docs.aws.amazon.com/config/latest/developerguide/desired-instance-tenancy.html
*/
public static readonly EC2_DESIRED_INSTANCE_TENANCY = 'DESIRED_INSTANCE_TENANCY';
/**
* Checks whether your EC2 instances are of the specified instance types.
* @see https://docs.aws.amazon.com/config/latest/developerguide/desired-instance-type.html
*/
public static readonly EC2_DESIRED_INSTANCE_TYPE = 'DESIRED_INSTANCE_TYPE';
/**
* Checks whether AWS Database Migration Service replication instances are public.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dms-replication-not-public.html
*/
public static readonly DMS_REPLICATION_NOT_PUBLIC = 'DMS_REPLICATION_NOT_PUBLIC';
/**
* Checks whether Auto Scaling or On-Demand is enabled on your DynamoDB tables and/or global secondary indexes.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-autoscaling-enabled.html
*/
public static readonly DYNAMODB_AUTOSCALING_ENABLED = 'DYNAMODB_AUTOSCALING_ENABLED';
/**
* Checks whether Amazon DynamoDB table is present in AWS Backup plans.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-in-backup-plan.html
*/
public static readonly DYNAMODB_IN_BACKUP_PLAN = 'DYNAMODB_IN_BACKUP_PLAN';
/**
* Checks if a recovery point was created for Amazon DynamoDB Tables within the specified period.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-last-backup-recovery-point-created.html
*/
public static readonly DYNAMODB_LAST_BACKUP_RECOVERY_POINT_CREATED = 'DYNAMODB_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks that point in time recovery (PITR) is enabled for Amazon DynamoDB tables.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-pitr-enabled.html
*/
public static readonly DYNAMODB_PITR_ENABLED = 'DYNAMODB_PITR_ENABLED';
/**
* Checks if Amazon DynamoDB tables are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-resources-protected-by-backup-plan.html
*/
public static readonly DYNAMODB_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'DYNAMODB_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks whether Amazon DynamoDB table is encrypted with AWS Key Management Service (KMS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-table-encrypted-kms.html
*/
public static readonly DYNAMODB_TABLE_ENCRYPTED_KMS = 'DYNAMODB_TABLE_ENCRYPTED_KMS';
/**
* Checks whether the Amazon DynamoDB tables are encrypted and checks their status.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-table-encryption-enabled.html
*/
public static readonly DYNAMODB_TABLE_ENCRYPTION_ENABLED = 'DYNAMODB_TABLE_ENCRYPTION_ENABLED';
/**
* Checks whether provisioned DynamoDB throughput is approaching the maximum limit for your account.
* @see https://docs.aws.amazon.com/config/latest/developerguide/dynamodb-throughput-limit-check.html
*/
public static readonly DYNAMODB_THROUGHPUT_LIMIT_CHECK = 'DYNAMODB_THROUGHPUT_LIMIT_CHECK';
/**
* Checks if Amazon Elastic Block Store (Amazon EBS) volumes are added in backup plans of AWS Backup.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ebs-in-backup-plan.html
*/
public static readonly EBS_IN_BACKUP_PLAN = 'EBS_IN_BACKUP_PLAN';
/**
* Checks whether Amazon Elastic File System (Amazon EFS) file systems are added
* in the backup plans of AWS Backup.
* @see https://docs.aws.amazon.com/config/latest/developerguide/efs-in-backup-plan.html
*/
public static readonly EFS_IN_BACKUP_PLAN = 'EFS_IN_BACKUP_PLAN';
/**
* Check that Amazon Elastic Block Store (EBS) encryption is enabled by default.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-ebs-encryption-by-default.html
*/
public static readonly EC2_EBS_ENCRYPTION_BY_DEFAULT = 'EC2_EBS_ENCRYPTION_BY_DEFAULT';
/**
* Checks whether EBS optimization is enabled for your EC2 instances that can be EBS-optimized.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ebs-optimized-instance.html
*/
public static readonly EBS_OPTIMIZED_INSTANCE = 'EBS_OPTIMIZED_INSTANCE';
/**
* Checks if Amazon Elastic Block Store (Amazon EBS) volumes are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ebs-resources-protected-by-backup-plan.html
*/
public static readonly EBS_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'EBS_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks whether Amazon Elastic Block Store snapshots are not publicly restorable.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ebs-snapshot-public-restorable-check.html
*/
public static readonly EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK = 'EBS_SNAPSHOT_PUBLIC_RESTORABLE_CHECK';
/**
* Checks whether detailed monitoring is enabled for EC2 instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-detailed-monitoring-enabled.html
*/
public static readonly EC2_INSTANCE_DETAILED_MONITORING_ENABLED = 'EC2_INSTANCE_DETAILED_MONITORING_ENABLED';
/**
* Checks whether the Amazon EC2 instances in your account are managed by AWS Systems Manager.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-managed-by-systems-manager.html
*/
public static readonly EC2_INSTANCE_MANAGED_BY_SSM = 'EC2_INSTANCE_MANAGED_BY_SSM';
/**
* Checks if an Amazon Elastic Compute Cloud (Amazon EC2) instance has an Identity and Access
* Management (IAM) profile attached to it. This rule is NON_COMPLIANT if no IAM profile is
* attached to the Amazon EC2 instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-profile-attached.html
*/
public static readonly EC2_INSTANCE_PROFILE_ATTACHED = 'EC2_INSTANCE_PROFILE_ATTACHED';
/**
* Checks if Amazon Elastic Compute Cloud (Amazon EC2) uses multiple ENIs (Elastic Network Interfaces)
* or Elastic Fabric Adapters (EFAs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-multiple-eni-check.html
*/
public static readonly EC2_INSTANCE_MULTIPLE_ENI_CHECK = 'EC2_INSTANCE_MULTIPLE_ENI_CHECK';
/**
* Checks whether Amazon Elastic Compute Cloud (Amazon EC2) instances have a public IP association.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-no-public-ip.html
*/
public static readonly EC2_INSTANCE_NO_PUBLIC_IP = 'EC2_INSTANCE_NO_PUBLIC_IP';
/**
* Checks if a recovery point was created for Amazon Elastic Compute Cloud (Amazon EC2) instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-last-backup-recovery-point-created.html
*/
public static readonly EC2_LAST_BACKUP_RECOVERY_POINT_CREATED = 'EC2_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks whether your EC2 instances belong to a virtual private cloud (VPC).
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instances-in-vpc.html
*/
public static readonly EC2_INSTANCES_IN_VPC = 'INSTANCES_IN_VPC';
/**
* Checks that none of the specified applications are installed on the instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-applications-blacklisted.html
*/
public static readonly EC2_MANAGED_INSTANCE_APPLICATIONS_BLOCKED = 'EC2_MANAGEDINSTANCE_APPLICATIONS_BLACKLISTED';
/**
* Checks whether all of the specified applications are installed on the instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-applications-required.html
*/
public static readonly EC2_MANAGED_INSTANCE_APPLICATIONS_REQUIRED = 'EC2_MANAGEDINSTANCE_APPLICATIONS_REQUIRED';
/**
* Checks whether the compliance status of AWS Systems Manager association compliance is COMPLIANT
* or NON_COMPLIANT after the association execution on the instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-association-compliance-status-check.html
*/
public static readonly EC2_MANAGED_INSTANCE_ASSOCIATION_COMPLIANCE_STATUS_CHECK = 'EC2_MANAGEDINSTANCE_ASSOCIATION_COMPLIANCE_STATUS_CHECK';
/**
* Checks whether instances managed by AWS Systems Manager are configured to collect blocked inventory types.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-inventory-blacklisted.html
*/
public static readonly EC2_MANAGED_INSTANCE_INVENTORY_BLOCKED = 'EC2_MANAGEDINSTANCE_INVENTORY_BLACKLISTED';
/**
* Checks whether the compliance status of the Amazon EC2 Systems Manager patch compliance is
* COMPLIANT or NON_COMPLIANT after the patch installation on the instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-patch-compliance-status-check.html
*/
public static readonly EC2_MANAGED_INSTANCE_PATCH_COMPLIANCE_STATUS_CHECK = 'EC2_MANAGEDINSTANCE_PATCH_COMPLIANCE_STATUS_CHECK';
/**
* Checks whether EC2 managed instances have the desired configurations.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-platform-check.html
*/
public static readonly EC2_MANAGED_INSTANCE_PLATFORM_CHECK = 'EC2_MANAGEDINSTANCE_PLATFORM_CHECK';
/**
* Checks if running Amazon Elastic Compute Cloud (EC2) instances are launched using amazon key pairs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-no-amazon-key-pair.html
*/
public static readonly EC2_NO_AMAZON_KEY_PAIR = 'EC2_NO_AMAZON_KEY_PAIR';
/**
* Checks if the virtualization type of an EC2 instance is paravirtual.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-paravirtual-instance-check.html
*/
public static readonly EC2_PARAVIRTUAL_INSTANCE_CHECK = 'EC2_PARAVIRTUAL_INSTANCE_CHECK';
/**
* Checks if Amazon Elastic Compute Cloud (Amazon EC2) instances are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-resources-protected-by-backup-plan.html
*/
public static readonly EC2_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'EC2_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks that security groups are attached to Amazon Elastic Compute Cloud (Amazon EC2) instances
* or to an elastic network interface.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-security-group-attached-to-eni.html
*/
public static readonly EC2_SECURITY_GROUP_ATTACHED_TO_ENI = 'EC2_SECURITY_GROUP_ATTACHED_TO_ENI';
/**
* Checks if non-default security groups are attached to Elastic network interfaces (ENIs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-security-group-attached-to-eni-periodic.html
*/
public static readonly EC2_SECURITY_GROUP_ATTACHED_TO_ENI_PERIODIC = 'EC2_SECURITY_GROUP_ATTACHED_TO_ENI_PERIODIC';
/**
* Checks whether there are instances stopped for more than the allowed number of days.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-stopped-instance.html
*/
public static readonly EC2_STOPPED_INSTANCE = 'EC2_STOPPED_INSTANCE';
/**
* Checks if an Amazon Elastic Compute Cloud (EC2) instance metadata
* has a specified token hop limit that is below the desired limit.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-token-hop-limit-check.html
*/
public static readonly EC2_TOKEN_HOP_LIMIT_CHECK = 'EC2_TOKEN_HOP_LIMIT_CHECK';
/**
* Checks if Amazon Elastic Compute Cloud (Amazon EC2) Transit Gateways have 'AutoAcceptSharedAttachments' enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-transit-gateway-auto-vpc-attach-disabled.html
*/
public static readonly EC2_TRANSIT_GATEWAY_AUTO_VPC_ATTACH_DISABLED = 'EC2_TRANSIT_GATEWAY_AUTO_VPC_ATTACH_DISABLED';
/**
* Checks whether EBS volumes are attached to EC2 instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-volume-inuse-check.html
*/
public static readonly EC2_VOLUME_INUSE_CHECK = 'EC2_VOLUME_INUSE_CHECK';
/**
* Checks if a private Amazon Elastic Container Registry (ECR) repository has image scanning enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-image-scanning-enabled.html
*/
public static readonly ECR_PRIVATE_IMAGE_SCANNING_ENABLED = 'ECR_PRIVATE_IMAGE_SCANNING_ENABLED';
/**
* Checks if a private Amazon Elastic Container Registry (ECR) repository has at least one lifecycle policy configured.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-lifecycle-policy-configured.html
*/
public static readonly ECR_PRIVATE_LIFECYCLE_POLICY_CONFIGURED = 'ECR_PRIVATE_LIFECYCLE_POLICY_CONFIGURED';
/**
* Checks if a private Amazon Elastic Container Registry (ECR) repository has tag immutability enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecr-private-tag-immutability-enabled.html
*/
public static readonly ECR_PRIVATE_TAG_IMMUTABILITY_ENABLED = 'ECR_PRIVATE_TAG_IMMUTABILITY_ENABLED';
/**
* Checks if the networking mode for active ECSTaskDefinitions is set to ‘awsvpc’.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-awsvpc-networking-enabled.html
*/
public static readonly ECS_AWSVPC_NETWORKING_ENABLED = 'ECS_AWSVPC_NETWORKING_ENABLED';
/**
* Checks if the privileged parameter in the container definition of ECSTaskDefinitions is set to ‘true’.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-instances-in-vpc.html
*/
public static readonly ECS_CONTAINERS_NONPRIVILEGED = 'ECS_CONTAINERS_NONPRIVILEGED';
/**
* Checks if Amazon Elastic Container Service (Amazon ECS) Containers only have read-only access to its root filesystems.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-containers-readonly-access.html
*/
public static readonly ECS_CONTAINERS_READONLY_ACCESS = 'ECS_CONTAINERS_READONLY_ACCESS';
/**
* Checks if Amazon Elastic Container Service clusters have container insights enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-container-insights-enabled.html
*/
public static readonly ECS_CONTAINER_INSIGHTS_ENABLED = 'ECS_CONTAINER_INSIGHTS_ENABLED';
/**
* Checks if Amazon Elastic Container Service (ECS) Fargate Services
* is running on the latest Fargate platform version.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-fargate-latest-platform-version.html
*/
public static readonly ECS_FARGATE_LATEST_PLATFORM_VERSION = 'ECS_FARGATE_LATEST_PLATFORM_VERSION';
/**
* Checks if secrets are passed as container environment variables.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-no-environment-secrets.html
*/
public static readonly ECS_NO_ENVIRONMENT_SECRETS = 'ECS_NO_ENVIRONMENT_SECRETS';
/**
* Checks if logConfiguration is set on active ECS Task Definitions.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-task-definition-log-configuration.html
*/
public static readonly ECS_TASK_DEFINITION_LOG_CONFIGURATION = 'ECS_TASK_DEFINITION_LOG_CONFIGURATION';
/**
* Checks if Amazon Elastic Container Service (ECS) task definitions have a set memory limit for its container definitions.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-task-definition-memory-hard-limit.html
*/
public static readonly ECS_TASK_DEFINITION_MEMORY_HARD_LIMIT = 'ECS_TASK_DEFINITION_MEMORY_HARD_LIMIT';
/**
* Checks if ECSTaskDefinitions specify a user
* for Amazon Elastic Container Service (Amazon ECS) EC2 launch type containers to run on.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ecs-task-definition-nonroot-user.html
*/
public static readonly ECS_TASK_DEFINITION_NONROOT_USER = 'ECS_TASK_DEFINITION_NONROOT_USER';
/**
* Checks if ECSTaskDefinitions are configured to share a host’s process namespace
* with its Amazon Elastic Container Service (Amazon ECS) containers.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-stopped-instance.html
*/
public static readonly ECS_TASK_DEFINITION_PID_MODE_CHECK = 'ECS_TASK_DEFINITION_PID_MODE_CHECK';
/**
* Checks if an Amazon Elastic Container Service (Amazon ECS) task definition
* with host networking mode has 'privileged' or 'user' container definitions.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-volume-inuse-check.html
*/
public static readonly EC2_VOLUME_IECS_TASK_DEFINITION_USER_FOR_HOST_MODE_CHECKNUSE_CHECK = 'ECS_TASK_DEFINITION_USER_FOR_HOST_MODE_CHECK';
/**
* Checks if Amazon Elastic File System (Amazon EFS) access points are configured to enforce a root directory.
* @see https://docs.aws.amazon.com/config/latest/developerguide/efs-access-point-enforce-root-directory.html
*/
public static readonly EFS_ACCESS_POINT_ENFORCE_ROOT_DIRECTORY = 'EFS_ACCESS_POINT_ENFORCE_ROOT_DIRECTORY';
/**
* Checks if Amazon Elastic File System (Amazon EFS) access points are configured to enforce a user identity.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-volume-inuse-check.html
*/
public static readonly EFS_ACCESS_POINT_ENFORCE_USER_IDENTITY = 'EFS_ACCESS_POINT_ENFORCE_USER_IDENTITY';
/**
* hecks whether Amazon Elastic File System (Amazon EFS) is configured to encrypt the file data
* using AWS Key Management Service (AWS KMS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/efs-encrypted-check.html
*/
public static readonly EFS_ENCRYPTED_CHECK = 'EFS_ENCRYPTED_CHECK';
/**
* Checks if a recovery point was created for Amazon Elastic File System (Amazon EFS) File Systems.
* @see https://docs.aws.amazon.com/config/latest/developerguide/efs-last-backup-recovery-point-created.html
*/
public static readonly EFS_LAST_BACKUP_RECOVERY_POINT_CREATED = 'EFS_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks if Amazon Elastic File System (Amazon EFS) File Systems are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/efs-resources-protected-by-backup-plan.html
*/
public static readonly EFS_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'EFS_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks whether all Elastic IP addresses that are allocated to a VPC are attached to
* EC2 instances or in-use elastic network interfaces (ENIs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/eip-attached.html
*/
public static readonly EIP_ATTACHED = 'EIP_ATTACHED';
/**
* Checks whether Amazon Elasticsearch Service (Amazon ES) domains have encryption
* at rest configuration enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-encrypted-at-rest.html
*/
public static readonly ELASTICSEARCH_ENCRYPTED_AT_REST = 'ELASTICSEARCH_ENCRYPTED_AT_REST';
/**
* Checks whether Amazon Elasticsearch Service (Amazon ES) domains are in
* Amazon Virtual Private Cloud (Amazon VPC).
* @see https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-in-vpc-only.html
*/
public static readonly ELASTICSEARCH_IN_VPC_ONLY = 'ELASTICSEARCH_IN_VPC_ONLY';
/**
* Check if the Amazon ElastiCache Redis clusters have automatic backup turned on.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elasticache-redis-cluster-automatic-backup-check.html
*/
public static readonly ELASTICACHE_REDIS_CLUSTER_AUTOMATIC_BACKUP_CHECK = 'ELASTICACHE_REDIS_CLUSTER_AUTOMATIC_BACKUP_CHECK';
/**
* Checks whether your Amazon Elastic Compute Cloud (Amazon EC2) instance metadata version
* is configured with Instance Metadata Service Version 2 (IMDSv2).
* @see https://docs.aws.amazon.com/config/latest/developerguide/ec2-imdsv2-check.html
*/
public static readonly EC2_IMDSV2_CHECK = 'EC2_IMDSV2_CHECK';
/**
* Checks if an Amazon Elastic Kubernetes Service (EKS) cluster is running the oldest supported version.
* @see https://docs.aws.amazon.com/config/latest/developerguide/eks-cluster-oldest-supported-version.html
*/
public static readonly EKS_CLUSTER_OLDEST_SUPPORTED_VERSION = 'EKS_CLUSTER_OLDEST_SUPPORTED_VERSION';
/**
* Checks if an Amazon Elastic Kubernetes Service (EKS) cluster is running a supported Kubernetes version.
* @see https://docs.aws.amazon.com/config/latest/developerguide/eks-cluster-supported-version.html
*/
public static readonly EKS_CLUSTER_SUPPORTED_VERSION = 'EKS_CLUSTER_SUPPORTED_VERSION';
/**
* Checks whether Amazon Elastic Kubernetes Service (Amazon EKS) endpoint is not publicly accessible.
* @see https://docs.aws.amazon.com/config/latest/developerguide/eks-endpoint-no-public-access.html
*/
public static readonly EKS_ENDPOINT_NO_PUBLIC_ACCESS = 'EKS_ENDPOINT_NO_PUBLIC_ACCESS';
/**
* Checks whether Amazon Elastic Kubernetes Service clusters are configured to have Kubernetes
* secrets encrypted using AWS Key Management Service (KMS) keys.
* @see https://docs.aws.amazon.com/config/latest/developerguide/eks-secrets-encrypted.html
*/
public static readonly EKS_SECRETS_ENCRYPTED = 'EKS_SECRETS_ENCRYPTED';
/**
* Check that Amazon ElasticSearch Service nodes are encrypted end to end.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elasticsearch-node-to-node-encryption-check.html
*/
public static readonly ELASTICSEARCH_NODE_TO_NODE_ENCRYPTION_CHECK = 'ELASTICSEARCH_NODE_TO_NODE_ENCRYPTION_CHECK';
/**
* Checks if managed platform updates in an AWS Elastic Beanstalk environment is enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elastic-beanstalk-managed-updates-enabled.html
*/
public static readonly ELASTIC_BEANSTALK_MANAGED_UPDATES_ENABLED = 'ELASTIC_BEANSTALK_MANAGED_UPDATES_ENABLED';
/**
* Checks if Application Load Balancers and Network Load Balancers
* have listeners that are configured to use certificates from AWS Certificate Manager (ACM).
* @see https://docs.aws.amazon.com/config/latest/developerguide/elbv2-acm-certificate-required.html
*/
public static readonly ELBV2_ACM_CERTIFICATE_REQUIRED = 'ELBV2_ACM_CERTIFICATE_REQUIRED';
/**
* Checks if an Elastic Load Balancer V2 (Application, Network, or Gateway Load Balancer)
* has registered instances from multiple Availability Zones (AZ's).
* @see https://docs.aws.amazon.com/config/latest/developerguide/elbv2-multiple-az.html
*/
public static readonly ELBV2_MULTIPLE_AZ = 'ELBV2_MULTIPLE_AZ';
/**
* Checks if cross-zone load balancing is enabled for the Classic Load Balancers (CLBs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-cross-zone-load-balancing-enabled.html
*/
public static readonly ELB_CROSS_ZONE_LOAD_BALANCING_ENABLED = 'ELB_CROSS_ZONE_LOAD_BALANCING_ENABLED';
/**
* Checks whether your Classic Load Balancer is configured with SSL or HTTPS listeners.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-tls-https-listeners-only.html
*/
public static readonly ELB_TLS_HTTPS_LISTENERS_ONLY = 'ELB_TLS_HTTPS_LISTENERS_ONLY';
/**
* Checks whether the Classic Load Balancers use SSL certificates provided by AWS Certificate Manager.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-acm-certificate-required.html
*/
public static readonly ELB_ACM_CERTIFICATE_REQUIRED = 'ELB_ACM_CERTIFICATE_REQUIRED';
/**
* Checks whether your Classic Load Balancer SSL listeners are using a custom policy.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-custom-security-policy-ssl-check.html
*/
public static readonly ELB_CUSTOM_SECURITY_POLICY_SSL_CHECK = 'ELB_CUSTOM_SECURITY_POLICY_SSL_CHECK';
/**
* Checks whether Elastic Load Balancing has deletion protection enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-deletion-protection-enabled.html
*/
public static readonly ELB_DELETION_PROTECTION_ENABLED = 'ELB_DELETION_PROTECTION_ENABLED';
/**
* Checks whether the Application Load Balancer and the Classic Load Balancer have logging enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-logging-enabled.html
*/
public static readonly ELB_LOGGING_ENABLED = 'ELB_LOGGING_ENABLED';
/**
* Checks whether your Classic Load Balancer SSL listeners are using a predefined policy.
* @see https://docs.aws.amazon.com/config/latest/developerguide/elb-predefined-security-policy-ssl-check.html
*/
public static readonly ELB_PREDEFINED_SECURITY_POLICY_SSL_CHECK = 'ELB_PREDEFINED_SECURITY_POLICY_SSL_CHECK';
/**
* Checks that Amazon EMR clusters have Kerberos enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/emr-kerberos-enabled.html
*/
public static readonly EMR_KERBEROS_ENABLED = 'EMR_KERBEROS_ENABLED';
/**
* Checks whether Amazon Elastic MapReduce (EMR) clusters' master nodes have public IPs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/emr-master-no-public-ip.html
*/
public static readonly EMR_MASTER_NO_PUBLIC_IP = 'EMR_MASTER_NO_PUBLIC_IP';
/**
* Checks whether the EBS volumes that are in an attached state are encrypted.
* @see https://docs.aws.amazon.com/config/latest/developerguide/encrypted-volumes.html
*/
public static readonly EBS_ENCRYPTED_VOLUMES = 'ENCRYPTED_VOLUMES';
/**
* Checks whether the security groups associated inScope resources are compliant with the
* master security groups at each rule level based on allowSecurityGroup and denySecurityGroup flag.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fms-security-group-audit-policy-check.html
*
* @deprecated Inactive managed rule
*
*/
public static readonly FMS_SECURITY_GROUP_AUDIT_POLICY_CHECK = 'FMS_SECURITY_GROUP_AUDIT_POLICY_CHECK';
/**
* Checks whether AWS Firewall Manager created security groups content is the same as the master security groups.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fms-security-group-content-check.html
*
* @deprecated Inactive managed rule
*
*/
public static readonly FMS_SECURITY_GROUP_CONTENT_CHECK = 'FMS_SECURITY_GROUP_CONTENT_CHECK';
/**
* Checks whether Amazon EC2 or an elastic network interface is associated with AWS Firewall Manager security groups.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fms-security-group-resource-association-check.html
*
* @deprecated Inactive managed rule
*
*/
public static readonly FMS_SECURITY_GROUP_RESOURCE_ASSOCIATION_CHECK = 'FMS_SECURITY_GROUP_RESOURCE_ASSOCIATION_CHECK';
/**
* Checks whether an Application Load Balancer, Amazon CloudFront distributions,
* Elastic Load Balancer or Elastic IP has AWS Shield protection.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fms-shield-resource-policy-check.html
*/
public static readonly FMS_SHIELD_RESOURCE_POLICY_CHECK = 'FMS_SHIELD_RESOURCE_POLICY_CHECK';
/**
* Checks whether the web ACL is associated with an Application Load Balancer, API Gateway stage,
* or Amazon CloudFront distributions.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fms-webacl-resource-policy-check.html
*/
public static readonly FMS_WEBACL_RESOURCE_POLICY_CHECK = 'FMS_WEBACL_RESOURCE_POLICY_CHECK';
/**
* Checks that the rule groups associate with the web ACL at the correct priority.
* The correct priority is decided by the rank of the rule groups in the ruleGroups parameter.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fms-webacl-rulegroup-association-check.html
*/
public static readonly FMS_WEBACL_RULEGROUP_ASSOCIATION_CHECK = 'FMS_WEBACL_RULEGROUP_ASSOCIATION_CHECK';
/**
* Checks if a recovery point was created for Amazon FSx File Systems.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fsx-last-backup-recovery-point-created.html
*/
public static readonly FSX_LAST_BACKUP_RECOVERY_POINT_CREATED = 'FSX_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks if Amazon FSx File Systems are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/fsx-resources-protected-by-backup-plan.html
*/
public static readonly FSX_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'FSX_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks whether Amazon GuardDuty is enabled in your AWS account and region. If you provide an AWS account for centralization,
* the rule evaluates the Amazon GuardDuty results in the centralized account.
* @see https://docs.aws.amazon.com/config/latest/developerguide/guardduty-enabled-centralized.html
*/
public static readonly GUARDDUTY_ENABLED_CENTRALIZED = 'GUARDDUTY_ENABLED_CENTRALIZED';
/**
* Checks whether the Amazon GuardDuty has findings that are non archived.
* @see https://docs.aws.amazon.com/config/latest/developerguide/guardduty-non-archived-findings.html
*/
public static readonly GUARDDUTY_NON_ARCHIVED_FINDINGS = 'GUARDDUTY_NON_ARCHIVED_FINDINGS';
/**
* Checks that inline policy feature is not in use.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-no-inline-policy-check.html
*/
public static readonly IAM_NO_INLINE_POLICY_CHECK = 'IAM_NO_INLINE_POLICY_CHECK';
/**
* Checks whether IAM groups have at least one IAM user.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-group-has-users-check.html
*/
public static readonly IAM_GROUP_HAS_USERS_CHECK = 'IAM_GROUP_HAS_USERS_CHECK';
/**
* Checks whether the account password policy for IAM users meets the specified requirements
* indicated in the parameters.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-password-policy.html
*/
public static readonly IAM_PASSWORD_POLICY = 'IAM_PASSWORD_POLICY';
/**
* Checks whether for each IAM resource, a policy ARN in the input parameter is attached to the IAM resource.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-policy-blacklisted-check.html
*/
public static readonly IAM_POLICY_BLOCKED_CHECK = 'IAM_POLICY_BLACKLISTED_CHECK';
/**
* Checks whether the IAM policy ARN is attached to an IAM user, or an IAM group with one or more IAM users,
* or an IAM role with one or more trusted entity.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-policy-in-use.html
*/
public static readonly IAM_POLICY_IN_USE = 'IAM_POLICY_IN_USE';
/**
* Checks the IAM policies that you create for Allow statements that grant permissions to all actions on all resources.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-policy-no-statements-with-admin-access.html
*/
public static readonly IAM_POLICY_NO_STATEMENTS_WITH_ADMIN_ACCESS = 'IAM_POLICY_NO_STATEMENTS_WITH_ADMIN_ACCESS';
/**
* Checks if AWS Identity and Access Management (IAM) policies that you create grant permissions to all actions on individual AWS resources.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-policy-no-statements-with-full-access.html
*/
public static readonly IAM_POLICY_NO_STATEMENTS_WITH_FULL_ACCESS = 'IAM_POLICY_NO_STATEMENTS_WITH_FULL_ACCESS';
/**
* Checks that AWS Identity and Access Management (IAM) policies in a list of policies are attached to all AWS roles.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-role-managed-policy-check.html
*/
public static readonly IAM_ROLE_MANAGED_POLICY_CHECK = 'IAM_ROLE_MANAGED_POLICY_CHECK';
/**
* Checks whether the root user access key is available.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-root-access-key-check.html
*/
public static readonly IAM_ROOT_ACCESS_KEY_CHECK = 'IAM_ROOT_ACCESS_KEY_CHECK';
/**
* Checks whether IAM users are members of at least one IAM group.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-user-group-membership-check.html
*/
public static readonly IAM_USER_GROUP_MEMBERSHIP_CHECK = 'IAM_USER_GROUP_MEMBERSHIP_CHECK';
/**
* Checks whether the AWS Identity and Access Management users have multi-factor authentication (MFA) enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-user-mfa-enabled.html
*/
public static readonly IAM_USER_MFA_ENABLED = 'IAM_USER_MFA_ENABLED';
/**
* Checks that none of your IAM users have policies attached. IAM users must inherit permissions from IAM groups or roles.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-user-no-policies-check.html
*/
public static readonly IAM_USER_NO_POLICIES_CHECK = 'IAM_USER_NO_POLICIES_CHECK';
/**
* Checks whether your AWS Identity and Access Management (IAM) users have passwords or
* active access keys that have not been used within the specified number of days you provided.
* @see https://docs.aws.amazon.com/config/latest/developerguide/iam-user-unused-credentials-check.html
*/
public static readonly IAM_USER_UNUSED_CREDENTIALS_CHECK = 'IAM_USER_UNUSED_CREDENTIALS_CHECK';
/**
* Checks that Internet gateways (IGWs) are only attached to an authorized Amazon Virtual Private Cloud (VPCs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/internet-gateway-authorized-vpc-only.html
*/
public static readonly INTERNET_GATEWAY_AUTHORIZED_VPC_ONLY = 'INTERNET_GATEWAY_AUTHORIZED_VPC_ONLY';
/**
* Checks if Amazon Kinesis streams are encrypted at rest with server-side encryption.
* @see https://docs.aws.amazon.com/config/latest/developerguide/kinesis-stream-encrypted.html
*/
public static readonly KINESIS_STREAM_ENCRYPTED = 'KINESIS_STREAM_ENCRYPTED';
/**
* Checks whether customer master keys (CMKs) are not scheduled for deletion in AWS Key Management Service (KMS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/kms-cmk-not-scheduled-for-deletion.html
*/
public static readonly KMS_CMK_NOT_SCHEDULED_FOR_DELETION = 'KMS_CMK_NOT_SCHEDULED_FOR_DELETION';
/**
* Checks whether the AWS Lambda function is configured with function-level concurrent execution limit.
* @see https://docs.aws.amazon.com/config/latest/developerguide/lambda-concurrency-check.html
*/
public static readonly LAMBDA_CONCURRENCY_CHECK = 'LAMBDA_CONCURRENCY_CHECK';
/**
* Checks whether an AWS Lambda function is configured with a dead-letter queue.
* @see https://docs.aws.amazon.com/config/latest/developerguide/lambda-dlq-check.html
*/
public static readonly LAMBDA_DLQ_CHECK = 'LAMBDA_DLQ_CHECK';
/**
* Checks whether the AWS Lambda function policy attached to the Lambda resource prohibits public access.
* @see https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-public-access-prohibited.html
*/
public static readonly LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED = 'LAMBDA_FUNCTION_PUBLIC_ACCESS_PROHIBITED';
/**
* Checks that the lambda function settings for runtime, role, timeout, and memory size match the expected values.
* @see https://docs.aws.amazon.com/config/latest/developerguide/lambda-function-settings-check.html
*/
public static readonly LAMBDA_FUNCTION_SETTINGS_CHECK = 'LAMBDA_FUNCTION_SETTINGS_CHECK';
/**
* Checks whether an AWS Lambda function is in an Amazon Virtual Private Cloud.
* @see https://docs.aws.amazon.com/config/latest/developerguide/lambda-inside-vpc.html
*/
public static readonly LAMBDA_INSIDE_VPC = 'LAMBDA_INSIDE_VPC';
/**
* Checks if Lambda has more than 1 availability zone associated.
* @see https://docs.aws.amazon.com/config/latest/developerguide/lambda-vpc-multi-az-check.html
*/
public static readonly LAMBDA_VPC_MULTI_AZ_CHECK = 'LAMBDA_VPC_MULTI_AZ_CHECK';
/**
* Checks whether AWS Multi-Factor Authentication (MFA) is enabled for all IAM users that use a console password.
* @see https://docs.aws.amazon.com/config/latest/developerguide/mfa-enabled-for-iam-console-access.html
*/
public static readonly MFA_ENABLED_FOR_IAM_CONSOLE_ACCESS = 'MFA_ENABLED_FOR_IAM_CONSOLE_ACCESS';
/**
* Checks that there is at least one multi-region AWS CloudTrail.
* @see https://docs.aws.amazon.com/config/latest/developerguide/multi-region-cloudtrail-enabled.html
*/
public static readonly CLOUDTRAIL_MULTI_REGION_ENABLED = 'MULTI_REGION_CLOUD_TRAIL_ENABLED';
/**
* Checks if default ports for SSH/RDP ingress traffic for network access control lists (NACLs) is unrestricted.
* @see https://docs.aws.amazon.com/config/latest/developerguide/nacl-no-unrestricted-ssh-rdp.html
*/
public static readonly NACL_NO_UNRESTRICTED_SSH_RDP = 'NACL_NO_UNRESTRICTED_SSH_RDP';
/**
* Checks if an AWS Network Firewall policy is configured with a user defined stateless default action for fragmented packets.
* @see https://docs.aws.amazon.com/config/latest/developerguide/netfw-policy-default-action-fragment-packets.html
*/
public static readonly NETFW_POLICY_DEFAULT_ACTION_FRAGMENT_PACKETS = 'NETFW_POLICY_DEFAULT_ACTION_FRAGMENT_PACKETS';
/**
* Checks if an AWS Network Firewall policy is configured with a user defined default stateless action for full packets.
* @see https://docs.aws.amazon.com/config/latest/developerguide/netfw-policy-default-action-full-packets.html
*/
public static readonly NETFW_POLICY_DEFAULT_ACTION_FULL_PACKETS = 'NETFW_POLICY_DEFAULT_ACTION_FULL_PACKETS';
/**
* Check AWS Network Firewall policy is associated with stateful OR stateless rule groups.
* @see https://docs.aws.amazon.com/config/latest/developerguide/netfw-policy-rule-group-associated.html
*/
public static readonly NETFW_POLICY_RULE_GROUP_ASSOCIATED = 'NETFW_POLICY_RULE_GROUP_ASSOCIATED';
/**
* Checks if a Stateless Network Firewall Rule Group contains rules.
* @see https://docs.aws.amazon.com/config/latest/developerguide/netfw-stateless-rule-group-not-empty.html
*/
public static readonly NETFW_STATELESS_RULE_GROUP_NOT_EMPTY = 'NETFW_STATELESS_RULE_GROUP_NOT_EMPTY';
/**
* Checks if cross-zone load balancing is enabled on Network Load Balancers (NLBs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/nlb-cross-zone-load-balancing-enabled.html
*/
public static readonly NLB_CROSS_ZONE_LOAD_BALANCING_ENABLED = 'NLB_CROSS_ZONE_LOAD_BALANCING_ENABLED';
/**
* Checks if Amazon OpenSearch Service domains have fine-grained access control enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-access-control-enabled.html
*/
public static readonly OPENSEARCH_ACCESS_CONTROL_ENABLED = 'OPENSEARCH_ACCESS_CONTROL_ENABLED';
/**
* Checks if Amazon OpenSearch Service domains have audit logging enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-audit-logging-enabled.html
*/
public static readonly OPENSEARCH_AUDIT_LOGGING_ENABLED = 'OPENSEARCH_AUDIT_LOGGING_ENABLED';
/**
* Checks if Amazon OpenSearch Service domains are configured with at least three data nodes and zoneAwarenessEnabled is true.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-data-node-fault-tolerance.html
*/
public static readonly OPENSEARCH_DATA_NODE_FAULT_TOLERANCE = 'OPENSEARCH_DATA_NODE_FAULT_TOLERANCE';
/**
* Checks if Amazon OpenSearch Service domains have encryption at rest configuration enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-encrypted-at-rest.html
*/
public static readonly OPENSEARCH_ENCRYPTED_AT_REST = 'OPENSEARCH_ENCRYPTED_AT_REST';
/**
* Checks whether connections to OpenSearch domains are using HTTPS.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-https-required.html
*/
public static readonly OPENSEARCH_HTTPS_REQUIRED = 'OPENSEARCH_HTTPS_REQUIRED';
/**
* Checks if Amazon OpenSearch Service domains are in an Amazon Virtual Private Cloud (VPC).
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-in-vpc-only.html
*/
public static readonly OPENSEARCH_IN_VPC_ONLY = 'OPENSEARCH_IN_VPC_ONLY';
/**
* Checks if Amazon OpenSearch Service domains are configured to send logs to Amazon CloudWatch Logs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-logs-to-cloudwatch.html
*/
public static readonly OPENSEARCH_LOGS_TO_CLOUDWATCH = 'OPENSEARCH_LOGS_TO_CLOUDWATCH';
/**
* Check if Amazon OpenSearch Service nodes are encrypted end to end.
* @see https://docs.aws.amazon.com/config/latest/developerguide/opensearch-node-to-node-encryption-check.html
*/
public static readonly OPENSEARCH_NODE_TO_NODE_ENCRYPTION_CHECK = 'OPENSEARCH_NODE_TO_NODE_ENCRYPTION_CHECK';
/**
* Checks if Amazon Relational Database Service (RDS) database instances are configured for automatic minor version upgrades.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-automatic-minor-version-upgrade-enabled.html
*/
public static readonly RDS_AUTOMATIC_MINOR_VERSION_UPGRADE_ENABLED = 'RDS_AUTOMATIC_MINOR_VERSION_UPGRADE_ENABLED';
/**
* Checks if an Amazon Relational Database Service (Amazon RDS) database cluster has changed the admin username from its default value.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-cluster-default-admin-check.html
*/
public static readonly RDS_CLUSTER_DEFAULT_ADMIN_CHECK = 'RDS_CLUSTER_DEFAULT_ADMIN_CHECK';
/**
* Checks if an Amazon Relational Database Service (Amazon RDS) cluster has deletion protection enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-cluster-deletion-protection-enabled.html
*/
public static readonly RDS_CLUSTER_DELETION_PROTECTION_ENABLED = 'RDS_CLUSTER_DELETION_PROTECTION_ENABLED';
/**
* Checks if an Amazon RDS Cluster has AWS Identity and Access Management (IAM) authentication enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-cluster-iam-authentication-enabled.html
*/
public static readonly RDS_CLUSTER_IAM_AUTHENTICATION_ENABLED = 'RDS_CLUSTER_IAM_AUTHENTICATION_ENABLED';
/**
* Checks if Multi-AZ replication is enabled on Amazon Aurora and Hermes clusters managed by Amazon Relational Database Service (Amazon RDS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-cluster-multi-az-enabled.html
*/
public static readonly RDS_CLUSTER_MULTI_AZ_ENABLED = 'RDS_CLUSTER_MULTI_AZ_ENABLED';
/**
* Checks if an Amazon Relational Database Service (Amazon RDS) database has changed the admin username from its default value.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-instance-default-admin-check.html
*/
public static readonly RDS_INSTANCE_DEFAULT_ADMIN_CHECK = 'RDS_INSTANCE_DEFAULT_ADMIN_CHECK';
/**
*Checks if there are any Amazon Relational Database Service (RDS) DB security groups that are not the default DB security group.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-db-security-group-not-allowed.html
*/
public static readonly RDS_DB_SECURITY_GROUP_NOT_ALLOWED = 'RDS_DB_SECURITY_GROUP_NOT_ALLOWED';
/**
* Checks if an Amazon Relational Database Service (Amazon RDS) instance has deletion protection enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-instance-deletion-protection-enabled.html
*/
public static readonly RDS_INSTANCE_DELETION_PROTECTION_ENABLED = 'RDS_INSTANCE_DELETION_PROTECTION_ENABLED';
/**
* Checks if an Amazon RDS instance has AWS Identity and Access Management (IAM) authentication enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-instance-iam-authentication-enabled.html
*/
public static readonly RDS_INSTANCE_IAM_AUTHENTICATION_ENABLED = 'RDS_INSTANCE_IAM_AUTHENTICATION_ENABLED';
/**
* Checks that respective logs of Amazon Relational Database Service (Amazon RDS) are enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-logging-enabled.html
*/
public static readonly RDS_LOGGING_ENABLED = 'RDS_LOGGING_ENABLED';
/**
* Checks that Amazon Redshift automated snapshots are enabled for clusters.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-backup-enabled.html
*/
public static readonly REDSHIFT_BACKUP_ENABLED = 'REDSHIFT_BACKUP_ENABLED';
/**
* Checks whether enhanced monitoring is enabled for Amazon Relational Database Service (Amazon RDS) instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-enhanced-monitoring-enabled.html
*/
public static readonly RDS_ENHANCED_MONITORING_ENABLED = 'RDS_ENHANCED_MONITORING_ENABLED';
/**
* Checks whether Amazon Relational Database Service (Amazon RDS) DB snapshots are encrypted.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-snapshot-encrypted.html
*/
public static readonly RDS_SNAPSHOT_ENCRYPTED = 'RDS_SNAPSHOT_ENCRYPTED';
/**
* Checks whether Amazon Redshift clusters require TLS/SSL encryption to connect to SQL clients.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-require-tls-ssl.html
*/
public static readonly REDSHIFT_REQUIRE_TLS_SSL = 'REDSHIFT_REQUIRE_TLS_SSL';
/**
* Checks whether Amazon RDS database is present in back plans of AWS Backup.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-in-backup-plan.html
*/
public static readonly RDS_IN_BACKUP_PLAN = 'RDS_IN_BACKUP_PLAN';
/**
* Checks if a recovery point was created for Amazon Relational Database Service (Amazon RDS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-last-backup-recovery-point-created.html
*/
public static readonly RDS_LAST_BACKUP_RECOVERY_POINT_CREATED = 'RDS_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Check whether the Amazon Relational Database Service instances are not publicly accessible.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-instance-public-access-check.html
*/
public static readonly RDS_INSTANCE_PUBLIC_ACCESS_CHECK = 'RDS_INSTANCE_PUBLIC_ACCESS_CHECK';
/**
* Checks whether high availability is enabled for your RDS DB instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-multi-az-support.html
*/
public static readonly RDS_MULTI_AZ_SUPPORT = 'RDS_MULTI_AZ_SUPPORT';
/**
* Checks if Amazon Relational Database Service (Amazon RDS) instances are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-resources-protected-by-backup-plan.html
*/
public static readonly RDS_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'RDS_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks if Amazon Relational Database Service (Amazon RDS) snapshots are public.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-snapshots-public-prohibited.html
*/
public static readonly RDS_SNAPSHOTS_PUBLIC_PROHIBITED = 'RDS_SNAPSHOTS_PUBLIC_PROHIBITED';
/**
* Checks whether storage encryption is enabled for your RDS DB instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/rds-storage-encrypted.html
*/
public static readonly RDS_STORAGE_ENCRYPTED = 'RDS_STORAGE_ENCRYPTED';
/**
* Checks if Amazon Redshift clusters are logging audits to a specific bucket.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-audit-logging-enabled.html
*/
public static readonly REDSHIFT_AUDIT_LOGGING_ENABLED = 'REDSHIFT_AUDIT_LOGGING_ENABLED';
/**
* Checks whether Amazon Redshift clusters have the specified settings.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-cluster-configuration-check.html
*/
public static readonly REDSHIFT_CLUSTER_CONFIGURATION_CHECK = 'REDSHIFT_CLUSTER_CONFIGURATION_CHECK';
/**
* Checks if Amazon Redshift clusters are using a specified AWS Key Management Service (AWS KMS) key for encryption.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-cluster-kms-enabled.html
*/
public static readonly REDSHIFT_CLUSTER_KMS_ENABLED = 'REDSHIFT_CLUSTER_KMS_ENABLED';
/**
* Checks whether Amazon Redshift clusters have the specified maintenance settings.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-cluster-maintenancesettings-check.html
*/
public static readonly REDSHIFT_CLUSTER_MAINTENANCE_SETTINGS_CHECK = 'REDSHIFT_CLUSTER_MAINTENANCESETTINGS_CHECK';
/**
* Checks whether Amazon Redshift clusters are not publicly accessible.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-cluster-public-access-check.html
*/
public static readonly REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK = 'REDSHIFT_CLUSTER_PUBLIC_ACCESS_CHECK';
/**
* Checks if an Amazon Redshift cluster has changed the admin username from its default value.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-default-admin-check.html
*/
public static readonly REDSHIFT_DEFAULT_ADMIN_CHECK = 'REDSHIFT_DEFAULT_ADMIN_CHECK';
/**
* Checks if a Redshift cluster has changed its database name from the default value.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-default-db-name-check.html
*/
public static readonly REDSHIFT_DEFAULT_DB_NAME_CHECK = 'REDSHIFT_DEFAULT_DB_NAME_CHECK';
/**
* Checks if Amazon Redshift cluster has 'enhancedVpcRouting' enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/redshift-enhanced-vpc-routing-enabled.html
*/
public static readonly REDSHIFT_ENHANCED_VPC_ROUTING_ENABLED = 'REDSHIFT_ENHANCED_VPC_ROUTING_ENABLED';
/**
* Checks whether your resources have the tags that you specify.
* For example, you can check whether your Amazon EC2 instances have the CostCenter tag.
* @see https://docs.aws.amazon.com/config/latest/developerguide/required-tags.html
*/
public static readonly REQUIRED_TAGS = 'REQUIRED_TAGS';
/**
* Checks whether the security groups in use do not allow unrestricted incoming TCP traffic to the specified ports.
* @see https://docs.aws.amazon.com/config/latest/developerguide/restricted-common-ports.html
*/
public static readonly EC2_SECURITY_GROUPS_RESTRICTED_INCOMING_TRAFFIC = 'RESTRICTED_INCOMING_TRAFFIC';
/**
* Checks whether the incoming SSH traffic for the security groups is accessible.
* @see https://docs.aws.amazon.com/config/latest/developerguide/restricted-ssh.html
*/
public static readonly EC2_SECURITY_GROUPS_INCOMING_SSH_DISABLED = 'INCOMING_SSH_DISABLED';
/**
* Checks whether your AWS account is enabled to use multi-factor authentication (MFA) hardware
* device to sign in with root credentials.
* @see https://docs.aws.amazon.com/config/latest/developerguide/root-account-hardware-mfa-enabled.html
*/
public static readonly ROOT_ACCOUNT_HARDWARE_MFA_ENABLED = 'ROOT_ACCOUNT_HARDWARE_MFA_ENABLED';
/**
* Checks whether users of your AWS account require a multi-factor authentication (MFA) device
* to sign in with root credentials.
* @see https://docs.aws.amazon.com/config/latest/developerguide/root-account-mfa-enabled.html
*/
public static readonly ROOT_ACCOUNT_MFA_ENABLED = 'ROOT_ACCOUNT_MFA_ENABLED';
/**
* Checks whether Amazon Simple Storage Service (Amazon S3) bucket has lock enabled, by default.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-default-lock-enabled.html
*/
public static readonly S3_BUCKET_DEFAULT_LOCK_ENABLED = 'S3_BUCKET_DEFAULT_LOCK_ENABLED';
/**
* Checks whether the Amazon Simple Storage Service (Amazon S3) buckets are encrypted
* with AWS Key Management Service (AWS KMS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-default-encryption-kms.html
*/
public static readonly S3_DEFAULT_ENCRYPTION_KMS = 'S3_DEFAULT_ENCRYPTION_KMS';
/**
* Checks that AWS Security Hub is enabled for an AWS account.
* @see https://docs.aws.amazon.com/config/latest/developerguide/securityhub-enabled.html
*/
public static readonly SECURITYHUB_ENABLED = 'SECURITYHUB_ENABLED';
/**
* Checks whether Amazon SNS topic is encrypted with AWS Key Management Service (AWS KMS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/sns-encrypted-kms.html
*/
public static readonly SNS_ENCRYPTED_KMS = 'SNS_ENCRYPTED_KMS';
/**
* Checks if Amazon Simple Notification Service (SNS) logging is enabled
* for the delivery status of notification messages sent to a topic for the endpoints.
* @see https://docs.aws.amazon.com/config/latest/developerguide/sns-topic-message-delivery-notification-enabled.html
*/
public static readonly SNS_TOPIC_MESSAGE_DELIVERY_NOTIFICATION_ENABLED = 'SNS_TOPIC_MESSAGE_DELIVERY_NOTIFICATION_ENABLED';
/**
* Checks if AWS Systems Manager documents owned by the account are public.
* @see https://docs.aws.amazon.com/config/latest/developerguide/ssm-document-not-public.html
*/
public static readonly SSM_DOCUMENT_NOT_PUBLIC = 'SSM_DOCUMENT_NOT_PUBLIC';
/**
* Checks if a recovery point was created for AWS Storage Gateway volumes.
* @see https://docs.aws.amazon.com/config/latest/developerguide/storagegateway-last-backup-recovery-point-created.html
*/
public static readonly STORAGEGATEWAY_LAST_BACKUP_RECOVERY_POINT_CREATED = 'STORAGEGATEWAY_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* hecks if Amazon Virtual Private Cloud (Amazon VPC) subnets are assigned a public IP address.
* @see https://docs.aws.amazon.com/config/latest/developerguide/subnet-auto-assign-public-ip-disabled.html
*/
public static readonly SUBNET_AUTO_ASSIGN_PUBLIC_IP_DISABLED = 'SUBNET_AUTO_ASSIGN_PUBLIC_IP_DISABLED';
/**
* Checks whether the required public access block settings are configured from account level.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-account-level-public-access-blocks.html
*/
public static readonly S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS = 'S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS';
/**
* Checks if the required public access block settings are configured from account level.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-account-level-public-access-blocks-periodic.html
*/
public static readonly S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS_PERIODIC = 'S3_ACCOUNT_LEVEL_PUBLIC_ACCESS_BLOCKS_PERIODIC';
/**
* Checks if Amazon Simple Storage Service (Amazon S3) Buckets allow user permissions through access control lists (ACLs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-acl-prohibited.html
*/
public static readonly S3_BUCKET_ACL_PROHIBITED = 'S3_BUCKET_ACL_PROHIBITED';
/**
* Checks if the Amazon Simple Storage Service bucket policy does not allow blacklisted bucket-level
* and object-level actions on resources in the bucket for principals from other AWS accounts.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-blacklisted-actions-prohibited.html
*/
public static readonly S3_BUCKET_BLOCKED_ACTIONS_PROHIBITED = 'S3_BUCKET_BLACKLISTED_ACTIONS_PROHIBITED';
/**
* Checks if Amazon Simple Storage Service (Amazon S3) buckets are publicly accessible.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-level-public-access-prohibited.html
*/
public static readonly S3_BUCKET_LEVEL_PUBLIC_ACCESS_PROHIBITED = 'S3_BUCKET_LEVEL_PUBLIC_ACCESS_PROHIBITED';
/**
* Checks whether logging is enabled for your S3 buckets.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-logging-enabled.html
*/
public static readonly S3_BUCKET_LOGGING_ENABLED = 'S3_BUCKET_LOGGING_ENABLED';
/**
* Checks that the access granted by the Amazon S3 bucket is restricted by any of the AWS principals, federated users,
* service principals, IP addresses, or VPCs that you provide.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy-grantee-check.html
*/
public static readonly S3_BUCKET_POLICY_GRANTEE_CHECK = 'S3_BUCKET_POLICY_GRANTEE_CHECK';
/**
* Checks if your Amazon Simple Storage Service bucket policies do not allow other inter-account permissions
* than the control Amazon S3 bucket policy that you provide.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-policy-not-more-permissive.html
*/
public static readonly S3_BUCKET_POLICY_NOT_MORE_PERMISSIVE = 'S3_BUCKET_POLICY_NOT_MORE_PERMISSIVE';
/**
* Checks if your Amazon S3 buckets do not allow public read access.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-read-prohibited.html
*/
public static readonly S3_BUCKET_PUBLIC_READ_PROHIBITED = 'S3_BUCKET_PUBLIC_READ_PROHIBITED';
/**
* Checks that your Amazon S3 buckets do not allow public write access.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-public-write-prohibited.html
*/
public static readonly S3_BUCKET_PUBLIC_WRITE_PROHIBITED = 'S3_BUCKET_PUBLIC_WRITE_PROHIBITED';
/**
* Checks whether S3 buckets have cross-region replication enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-replication-enabled.html
*/
public static readonly S3_BUCKET_REPLICATION_ENABLED = 'S3_BUCKET_REPLICATION_ENABLED';
/**
* Checks that your Amazon S3 bucket either has Amazon S3 default encryption enabled or that the
* S3 bucket policy explicitly denies put-object requests without server side encryption that
* uses AES-256 or AWS Key Management Service.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-server-side-encryption-enabled.html
*/
public static readonly S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED = 'S3_BUCKET_SERVER_SIDE_ENCRYPTION_ENABLED';
/**
* Checks whether S3 buckets have policies that require requests to use Secure Socket Layer (SSL).
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html
*/
public static readonly S3_BUCKET_SSL_REQUESTS_ONLY = 'S3_BUCKET_SSL_REQUESTS_ONLY';
/**
* Checks whether versioning is enabled for your S3 buckets.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-versioning-enabled.html
*/
public static readonly S3_BUCKET_VERSIONING_ENABLED = 'S3_BUCKET_VERSIONING_ENABLED';
/**
* Checks if Amazon S3 Events Notifications are enabled on an S3 bucket.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-event-notifications-enabled.html
*/
public static readonly S3_EVENT_NOTIFICATIONS_ENABLED = 'S3_EVENT_NOTIFICATIONS_ENABLED';
/**
* Checks if a recovery point was created for Amazon Simple Storage Service (Amazon S3).
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-last-backup-recovery-point-created.html
*/
public static readonly S3_LAST_BACKUP_RECOVERY_POINT_CREATED = 'S3_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks if a lifecycle rule is configured for an Amazon Simple Storage Service (Amazon S3) bucket.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-lifecycle-policy-check.html
*/
public static readonly S3_LIFECYCLE_POLICY_CHECK = 'S3_LIFECYCLE_POLICY_CHECK';
/**
* Checks if Amazon Simple Storage Service (Amazon S3) buckets are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-resources-protected-by-backup-plan.html
*/
public static readonly S3_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'S3_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks if Amazon Simple Storage Service (Amazon S3) version enabled buckets have lifecycle policy configured.
* @see https://docs.aws.amazon.com/config/latest/developerguide/s3-version-lifecycle-policy-check.html
*/
public static readonly S3_VERSION_LIFECYCLE_POLICY_CHECK = 'S3_VERSION_LIFECYCLE_POLICY_CHECK';
/**
* Checks whether AWS Key Management Service (KMS) key is configured for an Amazon SageMaker endpoint configuration.
* @see https://docs.aws.amazon.com/config/latest/developerguide/sagemaker-endpoint-configuration-kms-key-configured.html
*/
public static readonly SAGEMAKER_ENDPOINT_CONFIGURATION_KMS_KEY_CONFIGURED = 'SAGEMAKER_ENDPOINT_CONFIGURATION_KMS_KEY_CONFIGURED';
/**
* Check whether an AWS Key Management Service (KMS) key is configured for SageMaker notebook instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/sagemaker-notebook-instance-kms-key-configured.html
*/
public static readonly SAGEMAKER_NOTEBOOK_INSTANCE_KMS_KEY_CONFIGURED = 'SAGEMAKER_NOTEBOOK_INSTANCE_KMS_KEY_CONFIGURED';
/**
* Checks whether direct internet access is disabled for an Amazon SageMaker notebook instance.
* @see https://docs.aws.amazon.com/config/latest/developerguide/sagemaker-notebook-no-direct-internet-access.html
*/
public static readonly SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS = 'SAGEMAKER_NOTEBOOK_NO_DIRECT_INTERNET_ACCESS';
/**
* Checks whether AWS Secrets Manager secret has rotation enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-rotation-enabled-check.html
*/
public static readonly SECRETSMANAGER_ROTATION_ENABLED_CHECK = 'SECRETSMANAGER_ROTATION_ENABLED_CHECK';
/**
* Checks whether AWS Secrets Manager secret rotation has rotated successfully as per the rotation schedule.
* @see https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-scheduled-rotation-success-check.html
*/
public static readonly SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS_CHECK = 'SECRETSMANAGER_SCHEDULED_ROTATION_SUCCESS_CHECK';
/**
* Checks if AWS Secrets Manager secrets have been rotated in the past specified number of days.
* @see https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-periodic-rotation.html
*/
public static readonly SECRETSMANAGER_SECRET_PERIODIC_ROTATION = 'SECRETSMANAGER_SECRET_PERIODIC_ROTATION';
/**
* Checks if AWS Secrets Manager secrets have been accessed within a specified number of days.
* @see https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-secret-unused.html
*/
public static readonly SECRETSMANAGER_SECRET_UNUSED = 'SECRETSMANAGER_SECRET_UNUSED';
/**
* Checks if all secrets in AWS Secrets Manager are encrypted using the AWS managed key (aws/secretsmanager)
* or a customer managed key that was created in AWS Key Management Service (AWS KMS).
* @see https://docs.aws.amazon.com/config/latest/developerguide/secretsmanager-using-cmk.html
*/
public static readonly SECRETSMANAGER_USING_CMK = 'SECRETSMANAGER_USING_CMK';
/**
* Checks whether Service Endpoint for the service provided in rule parameter is created for each Amazon VPC.
* @see https://docs.aws.amazon.com/config/latest/developerguide/service-vpc-endpoint-enabled.html
*/
public static readonly SERVICE_VPC_ENDPOINT_ENABLED = 'SERVICE_VPC_ENDPOINT_ENABLED';
/**
* Checks whether EBS volumes are attached to EC2 instances.
* @see https://docs.aws.amazon.com/config/latest/developerguide/shield-advanced-enabled-autorenew.html
*/
public static readonly SHIELD_ADVANCED_ENABLED_AUTO_RENEW = 'SHIELD_ADVANCED_ENABLED_AUTORENEW';
/**
* Verify that DDoS response team (DRT) can access AWS account.
* @see https://docs.aws.amazon.com/config/latest/developerguide/shield-drt-access.html
*/
public static readonly SHIELD_DRT_ACCESS = 'SHIELD_DRT_ACCESS';
/**
* Checks if a recovery point was created for AWS Backup-Gateway VirtualMachines.
* @see https://docs.aws.amazon.com/config/latest/developerguide/virtualmachine-last-backup-recovery-point-created.html
*/
public static readonly VIRTUALMACHINE_LAST_BACKUP_RECOVERY_POINT_CREATED = 'VIRTUALMACHINE_LAST_BACKUP_RECOVERY_POINT_CREATED';
/**
* Checks if AWS Backup-Gateway VirtualMachines are protected by a backup plan.
* @see https://docs.aws.amazon.com/config/latest/developerguide/virtualmachine-resources-protected-by-backup-plan.html
*/
public static readonly VIRTUALMACHINE_RESOURCES_PROTECTED_BY_BACKUP_PLAN = 'VIRTUALMACHINE_RESOURCES_PROTECTED_BY_BACKUP_PLAN';
/**
* Checks that the default security group of any Amazon Virtual Private Cloud (VPC) does not
* allow inbound or outbound traffic. The rule returns NOT_APPLICABLE if the security group
* is not default.
* @see https://docs.aws.amazon.com/config/latest/developerguide/vpc-default-security-group-closed.html
*/
public static readonly VPC_DEFAULT_SECURITY_GROUP_CLOSED = 'VPC_DEFAULT_SECURITY_GROUP_CLOSED';
/**
* Checks whether Amazon Virtual Private Cloud flow logs are found and enabled for Amazon VPC.
* @see https://docs.aws.amazon.com/config/latest/developerguide/vpc-flow-logs-enabled.html
*/
public static readonly VPC_FLOW_LOGS_ENABLED = 'VPC_FLOW_LOGS_ENABLED';
/**
* Checks if there are unused network access control lists (network ACLs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/vpc-network-acl-unused-check.html
*/
public static readonly VPC_NETWORK_ACL_UNUSED_CHECK = 'VPC_NETWORK_ACL_UNUSED_CHECK';
/**
* Checks if DNS resolution from accepter/requester VPC to private IP is enabled.
* @see https://docs.aws.amazon.com/config/latest/developerguide/vpc-peering-dns-resolution-check.html
*/
public static readonly VPC_PEERING_DNS_RESOLUTION_CHECK = 'VPC_PEERING_DNS_RESOLUTION_CHECK';
/**
* Checks whether the security group with 0.0.0.0/0 of any Amazon Virtual Private Cloud (Amazon VPC)
* allows only specific inbound TCP or UDP traffic.
* @see https://docs.aws.amazon.com/config/latest/developerguide/vpc-sg-open-only-to-authorized-ports.html
*/
public static readonly VPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS = 'VPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS';
/**
* Checks that both AWS Virtual Private Network tunnels provided by AWS Site-to-Site VPN are in
* UP status.
* @see https://docs.aws.amazon.com/config/latest/developerguide/vpc-vpn-2-tunnels-up.html
*/
public static readonly VPC_VPN_2_TUNNELS_UP = 'VPC_VPN_2_TUNNELS_UP';
/**
* Checks if logging is enabled on AWS Web Application Firewall (WAF) classic global web ACLs.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-classic-logging-enabled.html
*/
public static readonly WAF_CLASSIC_LOGGING_ENABLED = 'WAF_CLASSIC_LOGGING_ENABLED';
/**
* Checks whether logging is enabled on AWS Web Application Firewall (WAFV2) regional and global
* web access control list (ACLs).
* @see https://docs.aws.amazon.com/config/latest/developerguide/wafv2-logging-enabled.html
*/
public static readonly WAFV2_LOGGING_ENABLED = 'WAFV2_LOGGING_ENABLED';
/**
* Checks if an AWS WAF Classic rule group contains any rules.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-global-rulegroup-not-empty.html
*/
public static readonly WAF_GLOBAL_RULEGROUP_NOT_EMPTY = 'WAF_GLOBAL_RULEGROUP_NOT_EMPTY';
/**
* Checks if an AWS WAF global rule contains any conditions.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-global-rule-not-empty.html
*/
public static readonly WAF_GLOBAL_RULE_NOT_EMPTY = 'WAF_GLOBAL_RULE_NOT_EMPTY';
/**
* Checks whether a WAF Global Web ACL contains any WAF rules or rule groups.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-global-webacl-not-empty.html
*/
public static readonly WAF_GLOBAL_WEBACL_NOT_EMPTY = 'WAF_GLOBAL_WEBACL_NOT_EMPTY';
/**
* Checks if WAF Regional rule groups contain any rules.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-regional-rulegroup-not-empty.html
*/
public static readonly WAF_REGIONAL_RULEGROUP_NOT_EMPTY = 'WAF_REGIONAL_RULEGROUP_NOT_EMPTY';
/**
* Checks whether WAF regional rule contains conditions.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-regional-rule-not-empty.html
*/
public static readonly WAF_REGIONAL_RULE_NOT_EMPTY = 'WAF_REGIONAL_RULE_NOT_EMPTY';
/**
* Checks if a WAF regional Web ACL contains any WAF rules or rule groups.
* @see https://docs.aws.amazon.com/config/latest/developerguide/waf-regional-webacl-not-empty.html
*/
public static readonly WAF_REGIONAL_WEBACL_NOT_EMPTY = 'WAF_REGIONAL_WEBACL_NOT_EMPTY';
// utility class
private constructor() { }
}
/**
* Resources types that are supported by AWS Config
* @see https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html
*/
export class ResourceType {
/** API Gateway Stage */
public static readonly APIGATEWAY_STAGE = new ResourceType('AWS::ApiGateway::Stage');
/** API Gatewayv2 Stage */
public static readonly APIGATEWAYV2_STAGE = new ResourceType('AWS::ApiGatewayV2::Stage');
/** API Gateway REST API */
public static readonly APIGATEWAY_REST_API = new ResourceType('AWS::ApiGateway::RestApi');
/** API Gatewayv2 API */
public static readonly APIGATEWAYV2_API = new ResourceType('AWS::ApiGatewayV2::Api');
/** Amazon CloudFront Distribution */
public static readonly CLOUDFRONT_DISTRIBUTION = new ResourceType('AWS::CloudFront::Distribution');
/** Amazon CloudFront streaming distribution */
public static readonly CLOUDFRONT_STREAMING_DISTRIBUTION = new ResourceType('AWS::CloudFront::StreamingDistribution');
/** Amazon CloudWatch Alarm */
public static readonly CLOUDWATCH_ALARM = new ResourceType('AWS::CloudWatch::Alarm');
/** Amazon CloudWatch RUM */
public static readonly CLOUDWATCH_RUM_APP_MONITOR = new ResourceType('AWS::RUM::AppMonitor');
/** Amazon DynamoDB Table */
public static readonly DYNAMODB_TABLE = new ResourceType('AWS::DynamoDB::Table');
/** Elastic Block Store (EBS) volume */
public static readonly EBS_VOLUME = new ResourceType('AWS::EC2::Volume');
/** EC2 host */
public static readonly EC2_HOST = new ResourceType('AWS::EC2::Host');
/** EC2 Elastic IP */
public static readonly EC2_EIP = new ResourceType('AWS::EC2::EIP');
/** EC2 instance */
public static readonly EC2_INSTANCE = new ResourceType('AWS::EC2::Instance');
/** EC2 Network Interface */
public static readonly EC2_NETWORK_INTERFACE = new ResourceType('AWS::EC2::NetworkInterface');
/** EC2 security group */
public static readonly EC2_SECURITY_GROUP = new ResourceType('AWS::EC2::SecurityGroup');
/** EC2 NAT gateway */
public static readonly EC2_NAT_GATEWAY = new ResourceType('AWS::EC2::NatGateway');
/** EC2 Egress only internet gateway */
public static readonly EC2_EGRESS_ONLY_INTERNET_GATEWAY = new ResourceType('AWS::EC2::EgressOnlyInternetGateway');
/** EC2 flow log */
public static readonly EC2_FLOW_LOG = new ResourceType('AWS::EC2::FlowLog');
/** EC2 transit gateway */
public static readonly EC2_TRANSIT_GATEWAY = new ResourceType('AWS::EC2::TransitGateway');
/** EC2 transit gateway attachment */
public static readonly EC2_TRANSIT_GATEWAY_ATTACHMENT = new ResourceType('AWS::EC2::TransitGatewayAttachment');
/** EC2 transit gateway route table */
public static readonly EC2_TRANSIT_GATEWAY_ROUTE_TABLE = new ResourceType('AWS::EC2::TransitGatewayRouteTable');
/** EC2 VPC endpoint */
public static readonly EC2_VPC_ENDPOINT = new ResourceType('AWS::EC2::VPCEndpoint');
/** EC2 VPC endpoint service */
public static readonly EC2_VPC_ENDPOINT_SERVICE = new ResourceType('AWS::EC2::VPCEndpointService');
/** EC2 VPC peering connection */
public static readonly EC2_VPC_PEERING_CONNECTION = new ResourceType('AWS::EC2::VPCPeeringConnection');
/** EC2 registered HA instance */
public static readonly EC2_REGISTERED_HA_INSTANCE = new ResourceType('AWS::EC2::RegisteredHAInstance');
/** EC2 launch template */
public static readonly EC2_LAUNCH_TEMPLATE = new ResourceType('AWS::EC2::LaunchTemplate');
/** EC2 Network Insights Access Scope Analysis */
public static readonly EC2_NETWORK_INSIGHTS_ACCESS_SCOPE_ANALYSIS = new ResourceType('AWS::EC2::NetworkInsightsAccessScopeAnalysis');
/** EC2 Image Builder ContainerRecipe */
public static readonly IMAGEBUILDER_CONTAINER_RECIPE = new ResourceType('AWS::ImageBuilder::ContainerRecipe');
/** EC2 Image Builder DistributionConfiguration */
public static readonly IMAGEBUILDER_DISTRIBUTION_CONFIGURATION = new ResourceType('AWS::ImageBuilder::DistributionConfiguration');
/** EC2 Image Builder InfrastructureConfiguration */
public static readonly IMAGEBUILDER_INFRASTRUCTURE_CONFIGURATION = new ResourceType('AWS::ImageBuilder::InfrastructureConfiguration');
/** Amazon ECR repository */
public static readonly ECR_REPOSITORY = new ResourceType('AWS::ECR::Repository');
/** Amazon ECR registry policy */
public static readonly ECR_REGISTRY_POLICY = new ResourceType('AWS::ECR::RegistryPolicy');
/** Amazon ECR public repository */
public static readonly ECR_PUBLIC_REPOSITORY = new ResourceType('AWS::ECR::PublicRepository');
/** Amazon ECS cluster */
public static readonly ECS_CLUSTER = new ResourceType('AWS::ECS::Cluster');
/** Amazon ECS task definition */
public static readonly ECS_TASK_DEFINITION = new ResourceType('AWS::ECS::TaskDefinition');
/** Amazon ECS service */
public static readonly ECS_SERVICE = new ResourceType('AWS::ECS::Service');
/** Amazon EFS file system */
public static readonly EFS_FILE_SYSTEM = new ResourceType('AWS::EFS::FileSystem');
/** Amazon EFS access point */
public static readonly EFS_ACCESS_POINT = new ResourceType('AWS::EFS::AccessPoint');
/** Amazon Elastic Kubernetes Service cluster */
public static readonly EKS_CLUSTER = new ResourceType('AWS::EKS::Cluster');
/** Amazon Elastic Kubernetes Service identity provider config */
public static readonly EKS_IDENTITY_PROVIDER_CONFIG = new ResourceType('AWS::EKS::IdentityProviderConfig');
/** Amazon Elastic Kubernetes Service addon */
public static readonly EKS_ADDON = new ResourceType('AWS::EKS::Addon');
/** Amazon EMR security configuration */
public static readonly EMR_SECURITY_CONFIGURATION = new ResourceType('AWS::EMR::SecurityConfiguration');
/** Amazon EventBridge EventBus */
public static readonly EVENTBRIDGE_EVENTBUS = new ResourceType('AWS::Events::EventBus');
/** Amazon EventBridge Api Destination */
public static readonly EVENTBRIDGE_API_DESTINATION = new ResourceType('AWS::Events::ApiDestination');
/** Amazon EventBridge Archive */
public static readonly EVENTBRIDGE_ARCHIVE = new ResourceType('AWS::Events::Archive');
/** Amazon EventBridge Endpoint */
public static readonly EVENTBRIDGE_ENDPOINT = new ResourceType('AWS::Events::Endpoint');
/** Amazon EventBridge EventSchemas registry */
public static readonly EVENTSCHEMAS_REGISTRY = new ResourceType('AWS::EventSchemas::Registry');
/** Amazon EventBridge EventSchemas registry policy */
public static readonly EVENTSCHEMAS_REGISTRY_POLICY = new ResourceType('AWS::EventSchemas::RegistryPolicy');
/** Amazon EventBridge EventSchemas discoverer */
public static readonly EVENTSCHEMAS_DISCOVERER = new ResourceType('AWS::EventSchemas::Discoverer');
/** AWS FraudDetector label */
public static readonly FRAUDDETECTOR_LABEL = new ResourceType('AWS::FraudDetector::Label');
/** AWS FraudDetector entity type */
public static readonly FRAUDDETECTOR_ENTITY_TYPE = new ResourceType('AWS::FraudDetector::EntityType');
/** AWS FraudDetector variable */
public static readonly FRAUDDETECTOR_VARIABLE = new ResourceType('AWS::FraudDetector::Variable');
/** AWS FraudDetector outcome */
public static readonly FRAUDDETECTOR_OUTCOME = new ResourceType('AWS::FraudDetector::Outcome');
/** Amazon GuardDuty detector */
public static readonly GUARDDUTY_DETECTOR = new ResourceType('AWS::GuardDuty::Detector');
/** Amazon GuardDuty Threat Intel Set */
public static readonly GUARDDUTY_THREAT_INTEL_SET = new ResourceType('AWS::GuardDuty::ThreatIntelSet');
/** Amazon GuardDuty IP Set */
public static readonly GUARDDUTY_IP_SET = new ResourceType(' AWS::GuardDuty::IPSet');
/** Amazon GuardDuty Filter */
public static readonly GUARDDUTY_FILTER = new ResourceType('AWS::GuardDuty::Filter');
/** Amazon ElasticSearch domain */
public static readonly ELASTICSEARCH_DOMAIN = new ResourceType('AWS::Elasticsearch::Domain');
/** Amazon Interactive Video Service (IVS) channel */
public static readonly IVS_CHANNEL = new ResourceType('AWS::IVS::Channel');
/** Amazon Interactive Video Service (IVS) recording configuration */
public static readonly IVS_RECORDING_CONFIGURATION = new ResourceType('AWS::IVS::RecordingConfiguration');
/** Amazon Interactive Video Service (IVS) playback key pair */
public static readonly IVS_PLAYBACK_KEYPAIR = new ResourceType('AWS::IVS::PlaybackKeyPair');
/** Amazon OpenSearch domain */
public static readonly OPENSEARCH_DOMAIN = new ResourceType('AWS::OpenSearch::Domain');
/** Amazon QLDB ledger */
public static readonly QLDB_LEDGER = new ResourceType('AWS::QLDB::Ledger');
/** Amazon Kinesis stream */
public static readonly KINESIS_STREAM = new ResourceType('AWS::Kinesis::Stream');
/** Amazon Kinesis stream consumer */
public static readonly KINESIS_STREAM_CONSUMER = new ResourceType('AWS::Kinesis::StreamConsumer');
/** Amazon Kinesis Analytics V2 application */
public static readonly KINESIS_ANALYTICS_V2_APPLICATION = new ResourceType('AWS::KinesisAnalyticsV2::Application');
/** Amazon Lightsail Certificate */
public static readonly LIGHTSAIL_CERTIFICATE = new ResourceType('AWS::Lightsail::Certificate');
/** Amazon Lightsail Disk */
public static readonly LIGHTSAIL_DISK = new ResourceType('AWS::Lightsail::Disk');
/** AWS Lightsail bucket */
public static readonly LIGHTSAIL_BUCKET = new ResourceType('AWS::Lightsail::Bucket');
/** AWS Lightsail static IP */
public static readonly LIGHTSAIL_STATIC_IP = new ResourceType('AWS::Lightsail::StaticIp');
/** Amazon MQ broker */
public static readonly AMAZON_MQ_BROKER = new ResourceType('AWS::AmazonMQ::Broker');
/** Amazon MSK cluster */
public static readonly MSK_CLUSTER = new ResourceType('AWS::MSK::Cluster');
/** Amazon Redshift cluster */
public static readonly REDSHIFT_CLUSTER = new ResourceType('AWS::Redshift::Cluster');
/** Amazon Redshift cluster parameter group */
public static readonly REDSHIFT_CLUSTER_PARAMETER_GROUP = new ResourceType('AWS::Redshift::ClusterParameterGroup');
/** Amazon Redshift cluster security group */
public static readonly REDSHIFT_CLUSTER_SECURITY_GROUP = new ResourceType('AWS::Redshift::ClusterSecurityGroup');
/** Amazon Redshift cluster snapshot */
public static readonly REDSHIFT_CLUSTER_SNAPSHOT = new ResourceType('AWS::Redshift::ClusterSnapshot');
/** Amazon Redshift cluster subnet group */
public static readonly REDSHIFT_CLUSTER_SUBNET_GROUP = new ResourceType('AWS::Redshift::ClusterSubnetGroup');
/** Amazon Redshift event subscription */
public static readonly REDSHIFT_EVENT_SUBSCRIPTION = new ResourceType('AWS::Redshift::EventSubscription');
/** Amazon RDS database instance */
public static readonly RDS_DB_INSTANCE = new ResourceType('AWS::RDS::DBInstance');
/** Amazon RDS database security group */
public static readonly RDS_DB_SECURITY_GROUP = new ResourceType('AWS::RDS::DBSecurityGroup');
/** Amazon RDS database snapshot */
public static readonly RDS_DB_SNAPSHOT = new ResourceType('AWS::RDS::DBSnapshot');
/** Amazon RDS database subnet group */
public static readonly RDS_DB_SUBNET_GROUP = new ResourceType('AWS::RDS::DBSubnetGroup');
/** Amazon RDS event subscription */
public static readonly RDS_EVENT_SUBSCRIPTION = new ResourceType('AWS::RDS::EventSubscription');
/** Amazon RDS database cluster */
public static readonly RDS_DB_CLUSTER = new ResourceType('AWS::RDS::DBCluster');
/** Amazon RDS database cluster snapshot */
public static readonly RDS_DB_CLUSTER_SNAPSHOT = new ResourceType('AWS::RDS::DBClusterSnapshot');
/** Amazon RDS global cluster */
public static readonly RDS_GLOBAL_CLUSTER = new ResourceType('AWS::RDS::GlobalCluster');
/** Amazon Route53 Hosted Zone */
public static readonly ROUTE53_HOSTED_ZONE = new ResourceType('AWS::Route53::HostedZone');
/** Amazon Route53 Health Check */
public static readonly ROUTE53_HEALTH_CHECK = new ResourceType('AWS::Route53::HealthCheck');
/** Amazon Route53 resolver resolver endpoint */
public static readonly ROUTE53_RESOLVER_RESOLVER_ENDPOINT = new ResourceType('AWS::Route53Resolver::ResolverEndpoint');
/** Amazon Route53 resolver resolver rule */
public static readonly ROUTE53_RESOLVER_RESOLVER_RULE = new ResourceType('AWS::Route53Resolver::ResolverRule');
/** Amazon Route53 resolver resolver rule association */
public static readonly ROUTE53_RESOLVER_RESOLVER_RULE_ASSOCIATION = new ResourceType('AWS::Route53Resolver::ResolverRuleAssociation');
/** Amazon Route 53 Application Recovery Controller Cell */
public static readonly ROUTE53_RECOVERY_READINESS_CELL = new ResourceType('AWS::Route53RecoveryReadiness::Cell');
/** Amazon Route 53 Application Recovery Controller Readiness Check */
public static readonly ROUTE53_RECOVERY_READINESS_READINESS_CHECK = new ResourceType('AWS::Route53RecoveryReadiness::ReadinessCheck');
/** Amazon Route53 recovery readiness recovery group */
public static readonly ROUTE53_RECOVERY_READINESS_RECOVERY_GROUP = new ResourceType('AWS::Route53RecoveryReadiness::RecoveryGroup');
/** Amazon SQS queue */
public static readonly SQS_QUEUE = new ResourceType('AWS::SQS::Queue');
/** Amazon SNS topic */
public static readonly SNS_TOPIC = new ResourceType('AWS::SNS::Topic');
/** Amazon S3 bucket */
public static readonly S3_BUCKET = new ResourceType('AWS::S3::Bucket');
/** Amazon S3 Multi-Region Access Point */
public static readonly S3_MULTIREGION_ACCESS_POINT = new ResourceType('AWS::S3::MultiRegionAccessPoint');
/** Amazon SageMaker code repository */
public static readonly SAGEMAKER_CODE_REPOSITORY = new ResourceType('AWS::SageMaker::CodeRepository');
/** Amazon SageMaker model */
public static readonly SAGEMAKER_MODEL = new ResourceType('AWS::SageMaker::Model');
/** Amazon SageMaker notebook instance */
public static readonly SAGEMAKER_NOTEBOOK_INSTANCE = new ResourceType('AWS::SageMaker::NotebookInstance');
/** Amazon SageMaker workteam */
public static readonly SAGEMAKER_WORKTEAM = new ResourceType('AWS::SageMaker::Workteam');
/** Amazon SES Configuration Set */
public static readonly SES_CONFIGURATION_SET = new ResourceType('AWS::SES::ConfigurationSet');
/** Amazon SES Contact List */
public static readonly SES_CONTACT_LIST = new ResourceType('AWS::SES::ContactList');
/** Amazon SES Template */
public static readonly SES_TEMPLATE = new ResourceType('AWS::SES::Template');
/** Amazon SES ReceiptFilter */
public static readonly SES_RECEIPT_FILTER = new ResourceType('AWS::SES::ReceiptFilter');
/** Amazon SES ReceiptRuleSet */
public static readonly SES_RECEIPT_RECEIPT_RULE_SET = new ResourceType('AWS::SES::ReceiptRuleSet');
/** Amazon S3 account public access block */
public static readonly S3_ACCOUNT_PUBLIC_ACCESS_BLOCK = new ResourceType('AWS::S3::AccountPublicAccessBlock');
/** Amazon EC2 customer gateway */
public static readonly EC2_CUSTOMER_GATEWAY = new ResourceType('AWS::EC2::CustomerGateway');
/** Amazon EC2 internet gateway */
public static readonly EC2_INTERNET_GATEWAY = new ResourceType('AWS::EC2::InternetGateway');
/** Amazon EC2 network ACL */
public static readonly EC2_NETWORK_ACL = new ResourceType('AWS::EC2::NetworkAcl');
/** Amazon EC2 route table */
public static readonly EC2_ROUTE_TABLE = new ResourceType('AWS::EC2::RouteTable');
/** Amazon EC2 subnet table */
public static readonly EC2_SUBNET = new ResourceType('AWS::EC2::Subnet');
/** Amazon EC2 VPC */
public static readonly EC2_VPC = new ResourceType('AWS::EC2::VPC');
/** Amazon EC2 VPN connection */
public static readonly EC2_VPN_CONNECTION = new ResourceType('AWS::EC2::VPNConnection');
/** Amazon EC2 VPN gateway */
public static readonly EC2_VPN_GATEWAY = new ResourceType('AWS::EC2::VPNGateway');
/** AWS Auto Scaling group */
public static readonly AUTO_SCALING_GROUP = new ResourceType('AWS::AutoScaling::AutoScalingGroup');
/** AWS Auto Scaling launch configuration */
public static readonly AUTO_SCALING_LAUNCH_CONFIGURATION = new ResourceType('AWS::AutoScaling::LaunchConfiguration');
/** AWS Auto Scaling policy */
public static readonly AUTO_SCALING_POLICY = new ResourceType('AWS::AutoScaling::ScalingPolicy');
/** AWS Auto Scaling scheduled action */
public static readonly AUTO_SCALING_SCHEDULED_ACTION = new ResourceType('AWS::AutoScaling::ScheduledAction');
/** Amazon WorkSpaces connection alias */
public static readonly WORKSPACES_CONNECTION_ALIAS = new ResourceType('AWS::WorkSpaces::ConnectionAlias');
/** Amazon WorkSpaces workSpace */
public static readonly WORKSPACES_WORKSPACE = new ResourceType('AWS::WorkSpaces::Workspace');
/** AWS AppConfig application */
public static readonly APPCONFIG_APPLICATION = new ResourceType('AWS::AppConfig::Application');
/** AWS AppConfig environment */
public static readonly APPCONFIG_ENVIRONMENT = new ResourceType('AWS::AppConfig::Environment');
/** AWS AppConfig configuration profile */
public static readonly APPCONFIG_CONFIGURATION_PROFILE = new ResourceType('AWS::AppConfig::ConfigurationProfile');
/** AWS AppSync GraphQL Api */
public static readonly APPSYNC_GRAPHQL_API = new ResourceType('AWS::AppSync::GraphQLApi');
/** AWS Backup backup plan */
public static readonly BACKUP_BACKUP_PLAN = new ResourceType('AWS::Backup::BackupPlan');
/** AWS Backup backup selection */
public static readonly BACKUP_BACKUP_SELECTION = new ResourceType('AWS::Backup::BackupSelection');
/** AWS Backup backup vault */
public static readonly BACKUP_BACKUP_VAULT = new ResourceType('AWS::Backup::BackupVault');
/** AWS Backup recovery point */
public static readonly BACKUP_RECOVERY_POINT = new ResourceType('AWS::Backup::RecoveryPoint');
/** AWS Backup report plan */
public static readonly BACKUP_REPORT_PLAN = new ResourceType('AWS::Backup::ReportPlan');
/** AWS Batch job queue */
public static readonly BATCH_JOB_QUEUE = new ResourceType('AWS::Batch::JobQueue');
/** AWS Batch compute environment */
public static readonly BATCH_COMPUTE_ENVIRONMENT = new ResourceType('AWS::Batch::ComputeEnvironment');
/** AWS Certificate manager certificate */
public static readonly ACM_CERTIFICATE = new ResourceType('AWS::ACM::Certificate');
/** AWS CloudFormation stack */
public static readonly CLOUDFORMATION_STACK = new ResourceType('AWS::CloudFormation::Stack');
/** AWS CloudTrail trail */
public static readonly CLOUDTRAIL_TRAIL = new ResourceType('AWS::CloudTrail::Trail');
/** AWS Cloud9 environment EC2 */
public static readonly CLOUD9_ENVIRONMENT_EC2 = new ResourceType('AWS::Cloud9::EnvironmentEC2');
/** AWS Cloud Map(ServiceDiscovery) service */
public static readonly SERVICEDISCOVERY_SERVICE = new ResourceType('AWS::ServiceDiscovery::Service');
/** AWS Cloud Map(ServiceDiscovery) Public Dns Namespace */
public static readonly SERVICEDISCOVERY_PUBLIC_DNS_NAMESPACE = new ResourceType('AWS::ServiceDiscovery::PublicDnsNamespace');
/** AWS Cloud Map(ServiceDiscovery) Http Namespace */
public static readonly SERVICEDISCOVERY_HTTP_NAMESPACE = new ResourceType('AWS::ServiceDiscovery::HttpNamespace');
/** AWS CodeBuild project */
public static readonly CODEBUILD_PROJECT = new ResourceType('AWS::CodeBuild::Project');
/** AWS CodeDeploy application */
public static readonly CODEDEPLOY_APPLICATION = new ResourceType('AWS::CodeDeploy::Application');
/** AWS CodeDeploy deployment config */
public static readonly CODEDEPLOY_DEPLOYMENT_CONFIG = new ResourceType('AWS::CodeDeploy::DeploymentConfig');
/** AWS CodeDeploy deployment group */
public static readonly CODEDEPLOY_DEPLOYMENT_GROUP = new ResourceType('AWS::CodeDeploy::DeploymentGroup');
/** AWS CodePipeline pipeline */
public static readonly CODEPIPELINE_PIPELINE = new ResourceType('AWS::CodePipeline::Pipeline');
/** AWS Config resource compliance */
public static readonly CONFIG_RESOURCE_COMPLIANCE = new ResourceType('AWS::Config::ResourceCompliance');
/** AWS Config conformance pack compliance */
public static readonly CONFIG_CONFORMANCE_PACK_COMPLIANCE = new ResourceType('AWS::Config::ConformancePackCompliance');
/** AWS DMS event subscription */
public static readonly DMS_EVENT_SUBSCRIPTION = new ResourceType('AWS::DMS::EventSubscription');
/** AWS DMS replication subnet group */
public static readonly DMS_REPLICATION_SUBNET_GROUP = new ResourceType('AWS::DMS::ReplicationSubnetGroup');
/** AWS DataSync location SMB */
public static readonly DATASYNC_LOCATION_SMB = new ResourceType('AWS::DataSync::LocationSMB');
/** AWS DataSync location FSx Lustre */
public static readonly DATASYNC_LOCATION_FSX_LUSTRE = new ResourceType('AWS::DataSync::LocationFSxLustre');
/** AWS DataSync location FSx Windows */
public static readonly DATASYNC_LOCATION_FSX_WINDOWS = new ResourceType('AWS::DataSync::LocationFSxWindows');
/** AWS DataSync location S3 */
public static readonly DATASYNC_LOCATION_S3 = new ResourceType('AWS::DataSync::LocationS3');
/** AWS DataSync location EFS */
public static readonly DATASYNC_LOCATION_EFS = new ResourceType('AWS::DataSync::LocationEFS');
/** AWS DataSync task */
public static readonly DATASYNC_TASK = new ResourceType('AWS::DataSync::Task');
/** AWS DataSync location NFS */
public static readonly DATASYNC_LOCATION_NFS = new ResourceType('AWS::DataSync::LocationNFS');
/** AWS DataSync location object storage */
public static readonly DATASYNC_LOCATION_OBJECT_STORAGE = new ResourceType('AWS::DataSync::LocationObjectStorage');
/** AWS DataSync location HDFS */
public static readonly DATASYNC_LOCATION_HDFS = new ResourceType('AWS::DataSync::LocationHDFS');
/** AWS Elastic Beanstalk (EB) application */
public static readonly ELASTIC_BEANSTALK_APPLICATION = new ResourceType('AWS::ElasticBeanstalk::Application');
/** AWS Elastic Beanstalk (EB) application version */
public static readonly ELASTIC_BEANSTALK_APPLICATION_VERSION = new ResourceType('AWS::ElasticBeanstalk::ApplicationVersion');
/** AWS Elastic Beanstalk (EB) environment */
public static readonly ELASTIC_BEANSTALK_ENVIRONMENT = new ResourceType('AWS::ElasticBeanstalk::Environment');
/** AWS Fault Injection Simulator Experiment_Template */
public static readonly FIS_EXPERIMENT_TEMPLATE = new ResourceType('AWS::FIS::ExperimentTemplate');
/** AWS GlobalAccelerator listener */
public static readonly GLOBALACCELERATOR_LISTENER = new ResourceType('AWS::GlobalAccelerator::Listener');
/** AWS GlobalAccelerator endpoint group */
public static readonly GLOBALACCELERATOR_ENDPOINT_GROUP = new ResourceType('AWS::GlobalAccelerator::EndpointGroup');
/** AWS GlobalAccelerator accelerator */
public static readonly GLOBALACCELERATOR_ACCELERATOR = new ResourceType('AWS::GlobalAccelerator::Accelerator');
/** AWS Glue Job */
public static readonly GLUE_JOB = new ResourceType('AWS::Glue::Job');
/** AWS Glue Classifier */
public static readonly GLUE_CLASSIFIER = new ResourceType('AWS::Glue::Classifier');
/** AWS Glue machine learning transform */
public static readonly GLUE_ML_TRANSFORM = new ResourceType('AWS::Glue::MLTransform');
/** AWS IAM user */
public static readonly IAM_USER = new ResourceType('AWS::IAM::User');
/** AWS IAM group */
public static readonly IAM_GROUP = new ResourceType('AWS::IAM::Group');
/** AWS IAM role */
public static readonly IAM_ROLE = new ResourceType('AWS::IAM::Role');
/** AWS IAM policy */
public static readonly IAM_POLICY = new ResourceType('AWS::IAM::Policy');
/** AWS IAM AccessAnalyzer analyzer */
public static readonly IAM_ACCESSANALYZER_ANALYZER = new ResourceType('AWS::AccessAnalyzer::Analyzer');
/** AWS IoT authorizer */
public static readonly IOT_AUTHORIZER = new ResourceType('AWS::IoT::Authorizer');
/** AWS IoT security profile */
public static readonly IOT_SECURITY_PROFILE = new ResourceType('AWS::IoT::SecurityProfile');
/** AWS IoT role alias */
public static readonly IOT_ROLE_ALIAS = new ResourceType('AWS::IoT::RoleAlias');
/** AWS IoT dimension */
public static readonly IOT_DIMENSION = new ResourceType('AWS::IoT::Dimension');
/** AWS IoT policy */
public static readonly IOT_POLICY = new ResourceType('AWS::IoT::Policy');
/** AWS IoT mitigation action */
public static readonly IOT_MITIGATION_ACTION = new ResourceType('AWS::IoT::MitigationAction');
/** AWS IoT TwinMaker workspace */
public static readonly IOT_TWINMAKER_WORKSPACE = new ResourceType('AWS::IoTTwinMaker::Workspace');
/** AWS IoT TwinMaker entity */
public static readonly IOT_TWINMAKER_ENTITY = new ResourceType('AWS::IoTTwinMaker::Entity');
/** AWS IoT Analytics datastore */
public static readonly IOT_ANALYTICS_DATASTORE = new ResourceType('AWS::IoTAnalytics::Datastore');
/** AWS IoT Analytics dataset */
public static readonly IOT_ANALYTICS_DATASET = new ResourceType('AWS::IoTAnalytics::Dataset');
/** AWS IoT Analytics pipeline */
public static readonly IOT_ANALYTICS_PIPELINE = new ResourceType('AWS::IoTAnalytics::Pipeline');
/** AWS IoT Analytics channel */
public static readonly IOT_ANALYTICS_CHANNEL = new ResourceType('AWS::IoTAnalytics::Channel');
/** AWS IoT Events Input */
public static readonly IOT_EVENTS_INPUT = new ResourceType('AWS::IoTEvents::Input');
/** AWS IoT Events Detector Model */
public static readonly IOT_EVENTS_DETECTOR_MODEL = new ResourceType('AWS::IoTEvents::DetectorModel');
/** AWS IoT Events Alarm Model */
public static readonly IOT_EVENTS_ALARM_MODEL = new ResourceType('AWS::IoTEvents::AlarmModel');
/** AWS IoT SiteWise dashboard */
public static readonly IOT_SITEWISE_DASHBOARD = new ResourceType('AWS::IoTSiteWise::Dashboard');
/** AWS IoT SiteWise project */
public static readonly IOT_SITEWISE_PROJECT = new ResourceType('AWS::IoTSiteWise::Project');
/** AWS IoT SiteWise portal */
public static readonly IOT_SITEWISE_PORTAL = new ResourceType('AWS::IoTSiteWise::Portal');
/** AWS IoT SiteWise asset model */
public static readonly IOT_SITEWISE_ASSETMODEL = new ResourceType('AWS::IoTSiteWise::AssetModel');
/** AWS KMS Key */
public static readonly KMS_KEY = new ResourceType('AWS::KMS::Key');
/** AWS Lambda function */
public static readonly LAMBDA_FUNCTION = new ResourceType('AWS::Lambda::Function');
/** AWS Network Firewall Firewall */
public static readonly NETWORK_FIREWALL_FIREWALL = new ResourceType('AWS::NetworkFirewall::Firewall');
/** AWS Network Firewall Firewall Policy */
public static readonly NETWORK_FIREWALL_FIREWALL_POLICY = new ResourceType('AWS::NetworkFirewall::FirewallPolicy');
/** AWS Network Firewall Rule Group */
public static readonly NETWORK_FIREWALL_RULE_GROUP = new ResourceType('AWS::NetworkFirewall::RuleGroup');
/** AWS ResilienceHub resiliency policy */
public static readonly RESILIENCEHUB_RESILIENCY_POLICY = new ResourceType('AWS::ResilienceHub::ResiliencyPolicy');
/** AWS Secrets Manager secret */
public static readonly SECRETS_MANAGER_SECRET = new ResourceType('AWS::SecretsManager::Secret');
/** AWS Service Catalog CloudFormation product */
public static readonly SERVICE_CATALOG_CLOUDFORMATION_PRODUCT = new ResourceType('AWS::ServiceCatalog::CloudFormationProduct');
/** AWS Service Catalog CloudFormation provisioned product */
public static readonly SERVICE_CATALOG_CLOUDFORMATION_PROVISIONED_PRODUCT = new ResourceType(
'AWS::ServiceCatalog::CloudFormationProvisionedProduct');
/** AWS Service Catalog portfolio */
public static readonly SERVICE_CATALOG_PORTFOLIO = new ResourceType('AWS::ServiceCatalog::Portfolio');
/** AWS Shield protection */
public static readonly SHIELD_PROTECTION = new ResourceType('AWS::Shield::Protection');
/** AWS Shield regional protection */
public static readonly SHIELD_REGIONAL_PROTECTION = new ResourceType('AWS::ShieldRegional::Protection');
/** AWS StepFunctions activity */
public static readonly STEPFUNCTIONS_ACTIVITY = new ResourceType('AWS::StepFunctions::Activity');
/** AWS StepFunctions state machine */
public static readonly STEPFUNCTIONS_STATE_MACHINE = new ResourceType('AWS::StepFunctions::StateMachine');
/** AWS Systems Manager managed instance inventory */
public static readonly SYSTEMS_MANAGER_MANAGED_INSTANCE_INVENTORY = new ResourceType('AWS::SSM::ManagedInstanceInventory');
/** AWS Systems Manager patch compliance */
public static readonly SYSTEMS_MANAGER_PATCH_COMPLIANCE = new ResourceType('AWS::SSM::PatchCompliance');
/** AWS Systems Manager association compliance */
public static readonly SYSTEMS_MANAGER_ASSOCIATION_COMPLIANCE = new ResourceType('AWS::SSM::AssociationCompliance');
/** AWS Systems Manager file data */
public static readonly SYSTEMS_MANAGER_FILE_DATA = new ResourceType('AWS::SSM::FileData');
/** AWS Transfer workflow */
public static readonly TRANSFER_WORKFLOW = new ResourceType('AWS::Transfer::Workflow');
/** AWS WAF rate based rule */
public static readonly WAF_RATE_BASED_RULE = new ResourceType('AWS::WAF::RateBasedRule');
/** AWS WAF rule */
public static readonly WAF_RULE = new ResourceType('AWS::WAF::Rule');
/** AWS WAF web ACL */
public static readonly WAF_WEB_ACL = new ResourceType('AWS::WAF::WebACL');
/** AWS WAF rule group */
public static readonly WAF_RULE_GROUP = new ResourceType('AWS::WAF::RuleGroup');
/** AWS WAF regional rate based rule */
public static readonly WAF_REGIONAL_RATE_BASED_RULE = new ResourceType('AWS::WAFRegional::RateBasedRule');
/** AWS WAF regional rule */
public static readonly WAF_REGIONAL_RULE = new ResourceType('AWS::WAFRegional::Rule');
/** AWS WAF web ACL */
public static readonly WAF_REGIONAL_WEB_ACL = new ResourceType('AWS::WAFRegional::WebACL');
/** AWS WAF regional rule group */
public static readonly WAF_REGIONAL_RULE_GROUP = new ResourceType('AWS::WAFRegional::RuleGroup');
/** AWS WAFv2 web ACL */
public static readonly WAFV2_WEB_ACL = new ResourceType('AWS::WAFv2::WebACL');
/** AWS WAFv2 rule group */
public static readonly WAFV2_RULE_GROUP = new ResourceType('AWS::WAFv2::RuleGroup');
/** AWS WAFv2 managed rule set */
public static readonly WAFV2_MANAGED_RULE_SET = new ResourceType('AWS::WAFv2::ManagedRuleSet');
/** AWS WAFv2 ip set */
public static readonly WAFV2_IP_SET = new ResourceType('AWS::WAFv2::IPSet');
/** AWS WAFv2 regex pattern set */
public static readonly WAFV2_REGEX_PATTERN_SET = new ResourceType('AWS::WAFv2::RegexPatternSet');
/** AWS X-Ray encryption configuration */
public static readonly XRAY_ENCRYPTION_CONFIGURATION = new ResourceType('AWS::XRay::EncryptionConfig');
/** AWS ELB classic load balancer */
public static readonly ELB_LOAD_BALANCER = new ResourceType('AWS::ElasticLoadBalancing::LoadBalancer');
/** AWS ELBv2 network load balancer or AWS ELBv2 application load balancer */
public static readonly ELBV2_LOAD_BALANCER = new ResourceType('AWS::ElasticLoadBalancingV2::LoadBalancer');
/** AWS ELBv2 application load balancer listener */
public static readonly ELBV2_LISTENER = new ResourceType('AWS::ElasticLoadBalancingV2::Listener');
/** AWS Elemental MediaPackage packaging group */
public static readonly MEDIAPACKAGE_PACKAGING_GROUP = new ResourceType('AWS::MediaPackage::PackagingGroup');
/** AWS Device Farm Test Grid Project */
public static readonly DEVICE_FARM_TEST_GRID_PROJECT = new ResourceType('AWS::DeviceFarm::TestGridProject');
/** AWS Budgets Budgets Action */
public static readonly BUDGETS_BUDGETS_ACTION = new ResourceType('AWS::Budgets::BudgetsAction');
/** Amazon Lex Bot */
public static readonly LEX_BOT = new ResourceType('AWS::Lex::Bot');
/** Amazon Lex Bot Alias */
public static readonly LEX_BOT_ALIAS = new ResourceType('AWS::Lex::BotAlias');
/** Amazon CodeGuru Reviewer Repository Association */
public static readonly CODE_GURU_REVIEWER_REPOSITORY_ASSOCIATION = new ResourceType('AWS::CodeGuruReviewer::RepositoryAssociation');
/** AWS IoT Custom Metric */
public static readonly IOT_CUSTOM_METRIC = new ResourceType('AWS::IoT::CustomMetric');
/** AWS IoT Account Audit Configuration */
public static readonly IOT_ACCOUNT_AUDIT_CONFIGURATION = new ResourceType('AWS::IoT::AccountAuditConfiguration');
/** AWS IoT Scheduled Audit */
public static readonly IOT_SCHEDULED_AUDIT = new ResourceType('AWS::IoT::ScheduledAudit');
/** Amazon Route53 Resolver Firewall Domain List */
public static readonly ROUTE53_RESOLVER_FIREWALL_DOMAIN_LIST = new ResourceType('AWS::Route53Resolver::FirewallDomainList');
/** AWS RoboMaker Robot Application Version */
public static readonly ROBO_MAKER_ROBOT_APPLICATION_VERSION = new ResourceType('AWS::RoboMaker::RobotApplicationVersion');
/** EC2 Traffic Mirror Session */
public static readonly EC2_TRAFFIC_MIRROR_SESSION = new ResourceType('AWS::EC2::TrafficMirrorSession');
/** EC2 Traffic Mirror Target */
public static readonly EC2_TRAFFIC_MIRROR_TARGET = new ResourceType('AWS::EC2::TrafficMirrorTarget');
/** AWS IoT SiteWise Gateway */
public static readonly IOT_SITEWISE_GATEWAY = new ResourceType('AWS::IoTSiteWise::Gateway');
/** AWS Lookout Metrics Alert */
public static readonly LOOKOUT_METRICS_ALERT = new ResourceType('AWS::LookoutMetrics::Alert');
/** Amazon S3 Storage Lens */
public static readonly S3_STORAGE_LENS = new ResourceType('AWS::S3::StorageLens');
/** Amazon EventBridge Connection */
public static readonly EVENTS_CONNECTION = new ResourceType('AWS::Events::Connection');
/** Amazon EventBridge Schemas Schema */
public static readonly EVENT_SCHEMAS_SCHEMA = new ResourceType('AWS::EventSchemas::Schema');
/** AWS Elemental MediaPackage Packaging Configuration */
public static readonly MEDIA_PACKAGE_PACKAGING_CONFIGURATION = new ResourceType('AWS::MediaPackage::PackagingConfiguration');
/** Amazon AppStream Directory Config */
public static readonly APP_STREAM_DIRECTORY_CONFIG = new ResourceType('AWS::AppStream::DirectoryConfig');
/** EC2 Auto Scaling Warm Pool */
public static readonly AUTO_SCALING_WARM_POOL = new ResourceType('AWS::AutoScaling::WarmPool');
/** Amazon Connect Phone Number */
public static readonly CONNECT_PHONE_NUMBER = new ResourceType('AWS::Connect::PhoneNumber');
/** Amazon Connect Customer Profiles Domain */
public static readonly CUSTOMER_PROFILES_DOMAIN = new ResourceType('AWS::CustomerProfiles::Domain');
/** EC2 DHCP Options */
public static readonly EC2_DHCP_OPTIONS = new ResourceType('AWS::EC2::DHCPOptions');
/** EC2 IPAM */
public static readonly EC2_IPAM = new ResourceType('AWS::EC2::IPAM');
/** EC2 Network Insights Path */
public static readonly EC2_NETWORK_INSIGHTS_PATH = new ResourceType('AWS::EC2::NetworkInsightsPath');
/** EC2 Traffic Mirror Filter */
public static readonly EC2_TRAFFIC_MIRROR_FILTER = new ResourceType('AWS::EC2::TrafficMirrorFilter');
/** Amazon EventBridge Events Rule */
public static readonly EVENTS_RULE = new ResourceType('AWS::Events::Rule');
/** AWS HealthLake FHIR Datastore */
public static readonly HEALTH_LAKE_FHIR_DATASTORE = new ResourceType('AWS::HealthLake::FHIRDatastore');
/** AWS IoT Twin Maker Scene */
public static readonly IOT_TWIN_MAKER_SCENE = new ResourceType('AWS::IoTTwinMaker::Scene');
/** Amazon Kinesis Video Streams Signaling Channel */
public static readonly KINESIS_VIDEO_SIGNALING_CHANNEL = new ResourceType('AWS::KinesisVideo::SignalingChannel');
/** Amazon Lookout Vision Project */
public static readonly LOOKOUT_VISION_PROJECT = new ResourceType('AWS::LookoutVision::Project');
/** AWS Network Manager Transit Gateway Registration */
public static readonly NETWORK_MANAGER_TRANSIT_GATEWAY_REGISTRATION = new ResourceType('AWS::NetworkManager::TransitGatewayRegistration');
/** Amazon Pinpoint Application Settings */
public static readonly PINPOINT_APPLICATION_SETTINGS = new ResourceType('AWS::Pinpoint::ApplicationSettings');
/** Amazon Pinpoint Segment */
public static readonly PINPOINT_SEGMENT = new ResourceType('AWS::Pinpoint::Segment');
/** AWS RoboMaker Robot Application */
public static readonly ROBO_MAKER_ROBOT_APPLICATION = new ResourceType('AWS::RoboMaker::RobotApplication');
/** AWS RoboMaker Simulation Application */
public static readonly ROBO_MAKER_SIMULATION_APPLICATION = new ResourceType('AWS::RoboMaker::SimulationApplication');
/** Amazon Route53 Recovery Control Cluster */
public static readonly ROUTE53_RECOVERY_CONTROL_CLUSTER = new ResourceType('AWS::Route53RecoveryControl::Cluster');
/** Amazon Route53 Recovery Control Control Panel */
public static readonly ROUTE53_RECOVERY_CONTROL_CONTROL_PANEL = new ResourceType('AWS::Route53RecoveryControl::ControlPanel');
/** Amazon Route53 Recovery Control Routing Control */
public static readonly ROUTE53_RECOVERY_CONTROL_ROUTING_CONTROL = new ResourceType('AWS::Route53RecoveryControl::RoutingControl');
/** Amazon Route53 Recovery Control Safety Rule */
public static readonly ROUTE53_RECOVERY_CONTROL_SAFETY_RULE = new ResourceType('AWS::Route53RecoveryControl::SafetyRule');
/** Amazon Route53 Recovery Readiness Resource Set */
public static readonly ROUTE53_RECOVERY_READINESS_RESOURCE_SET = new ResourceType('AWS::Route53RecoveryReadiness::ResourceSet');
/** Amazon Route53 Resolver Firewall Rule Group Association */
public static readonly ROUTE53_RESOLVER_FIREWALL_RULE_GROUP_ASSOCIATION = new ResourceType('AWS::Route53Resolver::FirewallRuleGroupAssociation');
/** EC2 EC2 Fleet */
public static readonly EC2_EC2_FLEET = new ResourceType('AWS::EC2::EC2Fleet');
/** AWS IoTWireless Service Profile */
public static readonly IOT_WIRELESS_SERVICE_PROFILE = new ResourceType('AWS::IoTWireless::ServiceProfile');
/** EC2 Subnet Route Table Association */
public static readonly EC2_SUBNET_ROUTE_TABLE_ASSOCIATION = new ResourceType('AWS::EC2::SubnetRouteTableAssociation');
/** AWS Network Manager Global Network */
public static readonly NETWORK_MANAGER_GLOBAL_NETWORK = new ResourceType('AWS::NetworkManager::GlobalNetwork');
/** AWS DeviceFarm Instance Profile */
public static readonly DEVICE_FARM_INSTANCE_PROFILE = new ResourceType('AWS::DeviceFarm::InstanceProfile');
/** AWS GroundStation Config */
public static readonly GROUND_STATION_CONFIG = new ResourceType('AWS::GroundStation::Config');
/** Amazon AppFlow Flow */
public static readonly APP_FLOW_FLOW = new ResourceType('AWS::AppFlow::Flow');
/** Amazon Redshift Scheduled Action */
public static readonly REDSHIFT_SCHEDULED_ACTION = new ResourceType('AWS::Redshift::ScheduledAction');
/** Amazon Pinpoint App */
public static readonly PINPOINT_APP = new ResourceType('AWS::Pinpoint::App');
/** AWS IoT Fleet Metric */
public static readonly IOT_FLEET_METRIC = new ResourceType('AWS::IoT::FleetMetric');
/** AWS AppConfig Deployment Strategy */
public static readonly APP_CONFIG_DEPLOYMENT_STRATEGY = new ResourceType('AWS::AppConfig::DeploymentStrategy');
/** AWS Network Manager Device */
public static readonly NETWORK_MANAGER_DEVICE = new ResourceType('AWS::NetworkManager::Device');
/** EC2 Image Builder Image Pipeline */
public static readonly IMAGE_BUILDER_IMAGE_PIPELINE = new ResourceType('AWS::ImageBuilder::ImagePipeline');
/** Amazon CloudWatch Metric Stream */
public static readonly CLOUD_WATCH_METRIC_STREAM = new ResourceType('AWS::CloudWatch::MetricStream');
/** AWS Panorama Package */
public static readonly PANORAMA_PACKAGE = new ResourceType('AWS::Panorama::Package');
/** Amazon SageMaker Image */
public static readonly SAGE_MAKER_IMAGE = new ResourceType('AWS::SageMaker::Image');
/** Amazon ECR PullThrough Cache Rule */
public static readonly ECR_PULL_THROUGH_CACHE_RULE = new ResourceType('AWS::ECR::PullThroughCacheRule');
/** AWS AuditManager Assessment */
public static readonly AUDIT_MANAGER_ASSESSMENT = new ResourceType('AWS::AuditManager::Assessment');
/** AWS NetworkManager Site */
public static readonly NETWORK_MANAGER_SITE = new ResourceType('AWS::NetworkManager::Site');
/** Amazon SageMaker AppImageConfig */
public static readonly SAGE_MAKER_APP_IMAGE_CONFIG = new ResourceType('AWS::SageMaker::AppImageConfig');
/** AWS DeviceFarm Project */
public static readonly DEVICE_FARM_PROJECT = new ResourceType('AWS::DeviceFarm::Project');
/** AWS NetworkManager Link */
public static readonly NETWORK_MANAGER_LINK = new ResourceType('AWS::NetworkManager::Link');
/** AWS NetworkFirewall TLSInspectionConfiguration */
public static readonly NETWORK_FIREWALL_TLS_INSPECTION_CONFIGURATION = new ResourceType('AWS::NetworkFirewall::TLSInspectionConfiguration');
/** AWS Amplify App */
public static readonly AMPLIFY_APP = new ResourceType('AWS::Amplify::App');
/** AWS AppMesh VirtualNode */
public static readonly APP_MESH_VIRTUAL_NODE = new ResourceType('AWS::AppMesh::VirtualNode');
/** AWS AppMesh VirtualService */
public static readonly APP_MESH_VIRTUAL_SERVICE = new ResourceType('AWS::AppMesh::VirtualService');
/** AWS AppRunner VpcConnector */
public static readonly APP_RUNNER_VPC_CONNECTOR = new ResourceType('AWS::AppRunner::VpcConnector');
/** Amazon AppStream Application */
public static readonly APP_STREAM_APPLICATION = new ResourceType('AWS::AppStream::Application');
/** Amazon KeySpaces Cassandra Keyspace */
public static readonly CASSANDRA_KEYSPACE = new ResourceType('AWS::Cassandra::Keyspace');
/** AWS CodeArtifact Repository */
public static readonly CODE_ARTIFACT_REPOSITORY = new ResourceType('AWS::CodeArtifact::Repository');
/** EC2 PrefixList */
public static readonly EC2_PREFIX_LIST = new ResourceType('AWS::EC2::PrefixList');
/** EC2 SpotFleet */
public static readonly EC2_SPOT_FLEET = new ResourceType('AWS::EC2::SpotFleet');
/** Amazon ECS TaskSet */
public static readonly ECS_TASK_SET = new ResourceType('AWS::ECS::TaskSet');
/** Amazon CloudWatch Evidently Project */
public static readonly EVIDENTLY_PROJECT = new ResourceType('AWS::Evidently::Project');
/** Amazon Forecast Dataset */
public static readonly FORECAST_DATASET = new ResourceType('AWS::Forecast::Dataset');
/** AWS IAM SAMLProvider */
public static readonly IAM_SAML_PROVIDER = new ResourceType('AWS::IAM::SAMLProvider');
/** AWS IAM ServerCertificate */
public static readonly IAM_SERVER_CERTIFICATE = new ResourceType('AWS::IAM::ServerCertificate');
/** Amazon Data Firehose DeliveryStream */
public static readonly KINESIS_FIREHOSE_DELIVERY_STREAM = new ResourceType('AWS::KinesisFirehose::DeliveryStream');
/** Amazon Pinpoint Campaign */
public static readonly PINPOINT_CAMPAIGN = new ResourceType('AWS::Pinpoint::Campaign');
/** Amazon Pinpoint InAppTemplate */
public static readonly PINPOINT_IN_APP_TEMPLATE = new ResourceType('AWS::Pinpoint::InAppTemplate');
/** AWS Signer SigningProfile */
public static readonly SIGNER_SIGNING_PROFILE = new ResourceType('AWS::Signer::SigningProfile');
/** Amazon SageMaker Domain */
public static readonly SAGEMAKER_DOMAIN = new ResourceType('AWS::SageMaker::Domain');
/** AWS Transfer Agreement */
public static readonly TRANSFER_AGREEMENT = new ResourceType('AWS::Transfer::Agreement');
/** AWS Transfer Connector */
public static readonly TRANSFER_CONNECTOR = new ResourceType('AWS::Transfer::Connector');
/** AWS Private Certificate Authority CertificateAuthority */
public static readonly ACMPCA_CERTIFICATE_AUTHORITY = new ResourceType('AWS::ACMPCA::CertificateAuthority');
/** AWS AppConfig HostedConfigurationVersion */
public static readonly APP_CONFIG_HOSTED_CONFIGURATION_VERSION = new ResourceType('AWS::AppConfig::HostedConfigurationVersion');
/** AWS AppMesh VirtualGateway */
public static readonly APP_MESH_VIRTUAL_GATEWAY = new ResourceType('AWS::AppMesh::VirtualGateway');
/** AWS AppMesh VirtualRouter */
public static readonly APP_MESH_VIRTUAL_ROUTER = new ResourceType('AWS::AppMesh::VirtualRouter');
/** AWS AppRunner Service */
public static readonly APP_RUNNER_SERVICE = new ResourceType('AWS::AppRunner::Service');
/** Amazon Connect CustomerProfiles ObjectType */
public static readonly CUSTOMER_PROFILES_OBJECT_TYPE = new ResourceType('AWS::CustomerProfiles::ObjectType');
/** AWS DMS Endpoint */
public static readonly DMS_ENDPOINT = new ResourceType('AWS::DMS::Endpoint');
/** EC2 CapacityReservation */
public static readonly EC2_CAPACITY_RESERVATION = new ResourceType('AWS::EC2::CapacityReservation');
/** EC2 ClientVpnEndpoint */
public static readonly EC2_CLIENT_VPN_ENDPOINT = new ResourceType('AWS::EC2::ClientVpnEndpoint');
/** Amazon Kendra Index */
public static readonly KENDRA_INDEX = new ResourceType('AWS::Kendra::Index');
/** Amazon Kinesis Video Stream */
public static readonly KINESIS_VIDEO_STREAM = new ResourceType('AWS::KinesisVideo::Stream');
/** Amazon CloudWatch Logs Destination */
public static readonly LOGS_DESTINATION = new ResourceType('AWS::Logs::Destination');
/** AWS NetworkManager CustomerGatewayAssociation */
public static readonly NETWORK_MANAGER_CUSTOMER_GATEWAY_ASSOCIATION = new ResourceType('AWS::NetworkManager::CustomerGatewayAssociation');
/** AWS NetworkManager LinkAssociation */
public static readonly NETWORK_MANAGER_LINK_ASSOCIATION = new ResourceType('AWS::NetworkManager::LinkAssociation');
/** Amazon Pinpoint EmailChannel */
public static readonly PINPOINT_EMAIL_CHANNEL = new ResourceType('AWS::Pinpoint::EmailChannel');
/** Amazon S3 AccessPoint */
public static readonly S3_ACCESS_POINT = new ResourceType('AWS::S3::AccessPoint');
/** AWS Amplify Branch */
public static readonly AMPLIFY_BRANCH = new ResourceType('AWS::Amplify::Branch');
/** Amazon AppIntegrations EventIntegration */
public static readonly APP_INTEGRATIONS_EVENT_INTEGRATION = new ResourceType('AWS::AppIntegrations::EventIntegration');
/** AWS AppMesh Route */
public static readonly APP_MESH_ROUTE = new ResourceType('AWS::AppMesh::Route');
/** Amazon Athena PreparedStatement */
public static readonly ATHENA_PREPARED_STATEMENT = new ResourceType('AWS::Athena::PreparedStatement');
/** EC2 IPAMScope */
public static readonly EC2_IPAM_SCOPE = new ResourceType('AWS::EC2::IPAMScope');
/** Amazon CloudWatch Evidently Launch */
public static readonly EVIDENTLY_LAUNCH = new ResourceType('AWS::Evidently::Launch');
/** Amazon Forecast DatasetGroup */
public static readonly FORECAST_DATASET_GROUP = new ResourceType('AWS::Forecast::DatasetGroup');
/** AWS IoT Greengrass Version2 ComponentVersion */
public static readonly GREENGRASSV2_COMPONENT_VERSION = new ResourceType('AWS::GreengrassV2::ComponentVersion');
/** AWS GroundStation MissionProfile */
public static readonly GROUNDSTATION_MISSION_PROFILE = new ResourceType('AWS::GroundStation::MissionProfile');
/** AWS Elemental MediaConnect FlowEntitlement */
public static readonly MEDIACONNECT_FLOW_ENTITLEMENT = new ResourceType('AWS::MediaConnect::FlowEntitlement');
/** AWS Elemental MediaConnect FlowVpcInterface */
public static readonly MEDIACONNECT_FLOW_VPC_INTERFACE = new ResourceType('AWS::MediaConnect::FlowVpcInterface');
/** AWS Elemental MediaTailor PlaybackConfiguration */
public static readonly MEDIATAILOR_PLAYBACK_CONFIGURATION = new ResourceType('AWS::MediaTailor::PlaybackConfiguration');
/** Amazon MSK Configuration */
public static readonly MSK_CONFIGURATION = new ResourceType('AWS::MSK::Configuration');
/** Amazon Personalize Dataset */
public static readonly PERSONALIZE_DATASET = new ResourceType('AWS::Personalize::Dataset');
/** Amazon Personalize Schema */
public static readonly PERSONALIZE_SCHEMA = new ResourceType('AWS::Personalize::Schema');
/** Amazon Personalize Solution */
public static readonly PERSONALIZE_SOLUTION = new ResourceType('AWS::Personalize::Solution');
/** Amazon Pinpoint EmailTemplate */
public static readonly PINPOINT_EMAIL_TEMPLATE = new ResourceType('AWS::Pinpoint::EmailTemplate');
/** Amazon Pinpoint EventStream */
public static readonly PINPOINT_EVENT_STREAM = new ResourceType('AWS::Pinpoint::EventStream');
/** AWS ResilienceHub App */
public static readonly RESILIENCEHUB_APP = new ResourceType('AWS::ResilienceHub::App');
/** Amazon CodeGuruP rofiler ProfilingGroup */
public static readonly CODE_GURU_PROFILER_PROFILING_GROUP = new ResourceType('AWS::CodeGuruProfiler::ProfilingGroup');
/** AWS Elemental MediaConnect FlowSource */
public static readonly MEDIA_CONNECT_FLOW_SOURCE = new ResourceType('AWS::MediaConnect::FlowSource');
/** AWS Transfer Family Certificate */
public static readonly TRANSFER_CERTIFICATE = new ResourceType('AWS::Transfer::Certificate');
/** Amazon Managed Service for Prometheus RuleGroupsNamespace */
public static readonly APS_RULE_GROUPS_NAMESPACE = new ResourceType('AWS::APS::RuleGroupsNamespace');
/** AWS Batch SchedulingPolicy */
public static readonly BATCH_SCHEDULING_POLICY = new ResourceType('AWS::Batch::SchedulingPolicy');
/** AWS Cloud Map Instance */
public static readonly SERVICE_DISCOVERY_INSTANCE = new ResourceType('AWS::ServiceDiscovery::Instance');
/** Amazon Route53 Resolver ResolverQueryLoggingConfig */
public static readonly ROUTE53_RESOLVER_QUERY_LOGGING_CONFIG = new ResourceType('AWS::Route53Resolver::ResolverQueryLoggingConfig');
/** Amazon Route53 Resolver ResolverQueryLoggingConfigAssociation */
public static readonly ROUTE53_RESOLVER_QUERY_LOGGING_CONFIG_ASSOCIATION = new ResourceType('AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation');
/** AWS IoT JobTemplate */
public static readonly IOT_JOB_TEMPLATE = new ResourceType('AWS::IoT::JobTemplate');
/** AWS IoT TwinMaker ComponentType */
public static readonly IOT_TWIN_MAKER_COMPONENT_TYPE = new ResourceType('AWS::IoTTwinMaker::ComponentType');
/** AWS IoT Wireless MulticastGroup */
public static readonly IOT_WIRELESS_MULTICAST_GROUP = new ResourceType('AWS::IoTWireless::MulticastGroup');
/** Amazon Personalize DatasetGroup */
public static readonly PERSONALIZE_DATASET_GROUP = new ResourceType('AWS::Personalize::DatasetGroup');
/** AWS IoT ProvisioningTemplate */
public static readonly IOT_PROVISIONING_TEMPLATE = new ResourceType('AWS::IoT::ProvisioningTemplate');
/** AWS IoT Wireless FuotaTask */
public static readonly IOT_WIRELESS_FUOTA_TASK = new ResourceType('AWS::IoTWireless::FuotaTask');
/** Amazon MSK BatchScramSecret */
public static readonly MSK_BATCH_SCRAM_SECRET = new ResourceType('AWS::MSK::BatchScramSecret');
/** Amazon SageMaker FeatureGroup */
public static readonly SAGEMAKER_FEATURE_GROUP = new ResourceType('AWS::SageMaker::FeatureGroup');
/** AWS CodeBuild ReportGroup */
public static readonly CODE_BUILD_REPORT_GROUP = new ResourceType('AWS::CodeBuild::ReportGroup');
/** Amazon AppStream Stack */
public static readonly APP_STREAM_STACK = new ResourceType('AWS::AppStream::Stack');
/** Amazon Inspector Filter */
public static readonly INSPECTORV2_FILTER = new ResourceType('AWS::InspectorV2::Filter');
/** Amazon AppStream Fleet */
public static readonly APP_STREAM_FLEET = new ResourceType('AWS::AppStream::Fleet');
/** Amazon Managed Grafana Workspace */
public static readonly GRAFANA_WORKSPACE = new ResourceType('AWS::Grafana::Workspace');
/** AWS KMS Alias */
public static readonly KMS_ALIAS = new ResourceType('AWS::KMS::Alias');
/** Amazon RDS OptionGroup */
public static readonly RDS_OPTION_GROUP = new ResourceType('AWS::RDS::OptionGroup');
/** AWS Route53 Resolver FirewallRuleGroup */
public static readonly ROUTE53_RESOLVER_FIREWALL_RULE_GROUP = new ResourceType('AWS::Route53Resolver::FirewallRuleGroup');
/** AWS IAM InstanceProfile */
public static readonly IAM_INSTANCE_PROFILE = new ResourceType('AWS::IAM::InstanceProfile');
/** AWS NetworkManager ConnectPeer */
public static readonly NETWORK_MANAGER_CONNECT_PEER = new ResourceType('AWS::NetworkManager::ConnectPeer');
/** AWS Private Certificate Authority CertificateAuthorityActivation */
public static readonly ACMPCA_CERTIFICATE_AUTHORITY_ACTIVATION = new ResourceType('AWS::ACMPCA::CertificateAuthorityActivation');
/** AWS AppMesh GatewayRoute */
public static readonly APP_MESH_GATEWAY_ROUTE = new ResourceType('AWS::AppMesh::GatewayRoute');
/** AWS AppMesh Mesh */
public static readonly APP_MESH_MESH = new ResourceType('AWS::AppMesh::Mesh');
/** Amazon Connect QuickConnect */
public static readonly CONNECT_QUICK_CONNECT = new ResourceType('AWS::Connect::QuickConnect');
/** EC2 CarrierGateway */
public static readonly EC2_CARRIER_GATEWAY = new ResourceType('AWS::EC2::CarrierGateway');
/** EC2 TransitGatewayConnect */
public static readonly EC2_TRANSIT_GATEWAY_CONNECT = new ResourceType('AWS::EC2::TransitGatewayConnect');
/** Amazon ECS CapacityProvider */
public static readonly ECS_CAPACITY_PROVIDER = new ResourceType('AWS::ECS::CapacityProvider');
/** AWS IoT CACertificate */
public static readonly IOT_CA_CERTIFICATE = new ResourceType('AWS::IoT::CACertificate');
/** AWS IoT TwinMaker SyncJob */
public static readonly IOT_TWIN_MAKER_SYNC_JOB = new ResourceType('AWS::IoTTwinMaker::SyncJob');
/** Amazon Managed Streaming for Apache Kafka Connect Connector */
public static readonly KAFKA_CONNECT_CONNECTOR = new ResourceType('AWS::KafkaConnect::Connector');
/** AWS Lambda CodeSigningConfig */
public static readonly LAMBDA_CODE_SIGNING_CONFIG = new ResourceType('AWS::Lambda::CodeSigningConfig');
/** AWS Resource Explorer Index */
public static readonly RESOURCE_EXPLORER2_INDEX = new ResourceType('AWS::ResourceExplorer2::Index');
/** Amazon Connect Instance */
public static readonly CONNECT_INSTANCE = new ResourceType('AWS::Connect::Instance');
/** EC2 IPAMPool */
public static readonly EC2_IPAM_POOL = new ResourceType('AWS::EC2::IPAMPool');
/** EC2 TransitGatewayMulticastDomain */
public static readonly EC2_TRANSIT_GATEWAY_MULTICAST_DOMAIN = new ResourceType('AWS::EC2::TransitGatewayMulticastDomain');
/** A custom resource type to support future cases. */
public static of(type: string): ResourceType {
return new ResourceType(type);
}
/**
* Valid value of resource type.
*/
public readonly complianceResourceType: string;
private constructor(type: string) {
this.complianceResourceType = type;
}
}
function renderScope(ruleScope?: RuleScope): CfnConfigRule.ScopeProperty | undefined {
return ruleScope ? {
complianceResourceId: ruleScope.resourceId,
complianceResourceTypes: ruleScope.resourceTypes?.map(resource => resource.complianceResourceType),
tagKey: ruleScope.key,
tagValue: ruleScope.value,
} : undefined;
}